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

#include "stdafx.h"
#include "GameElement.h"

namespace Deeangband
{

	/*!
	* @class FixedFloor
	* @brief 固定フロアのクラス
	*/
	class FixedFloor : public GameElement
	{
	private:

		std::string name; //!< 固定フロア名

		friend class boost::serialization::access;

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

	public:

		/*! 
		* @brief FixedFloorクラスコンストラクタ(GameElementメンバ対応)
		* @param id GameElementのID
		* @param tag GameElementのタグ
		* @param gameWorld 所属元gameWorld参照ポインタ
		*/
		FixedFloor::FixedFloor(ID id, TAG tag, GameWorld *gameWorld);

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

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

		/*! 
		* @brief 固定フロア名を返す
		* @return フロア名
		*/
		std::string FixedFloor::GetName(void);

	};

}