/*!
* @file FixedField.h
* @brief ゲーム中の固定フロアのプロトタイプ
* @date 2014/02/02
* @author Deskull
* 2013-2014 Sikabane Works.
*/

#include "stdafx.h"
#include "Field.h"

namespace Deeangband
{

	/*!
	* @class FixedField
	* @brief 固定フロアのクラス
	* @details 
	* <H1>クラス概要</H1>
	* FixedFieldクラスは、予めサイズ、地形、トラップ、アイテム、敵の配置が固定されたフロアを定義する。<br>
	* このFixedFieldはフロアそのものの形状情報のみを保持し、どのような条件で生成されるかは
	* Dungeonクラスの集約しているFixedFieldTableによって設定されている。
	* よって、例えば同一の固定フロアが、違う条件で別のダンジョンに配置されるよう設定することができる。<br>
	*/
	class FixedField : public Field
	{
	private:

		friend class boost::serialization::access;

		/*!
		* @brief クラスのシリアライズを設定する
		* @param archive アーカイブ化するクラスのアドレス
		* @param version ファイルバージョン
		* @return XMLSerializeテンプレート
		*/
		template<class Archive> void serialize(Archive &archive, const unsigned int version) 
		{
			archive & boost::serialization::make_nvp("Name", name);
		}

	public:

		/*! 
		* @brief FixedFieldクラスコンストラクタ
		*/
		FixedField::FixedField(void);	

		/*! 
		* @brief FixedFieldクラスデストラクタ
		*/
		FixedField::~FixedField(void);
	};

}

BOOST_CLASS_VERSION(Deeangband::FixedField, 10);
