/*!
* @file Trap.h
* @brief ゲーム中のトラップのプロトタイプ
* @date 2014/01/26
* @author Deskull
* 2014 Sikabane Works.
*/

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

namespace Deeangband
{

	/*! 
	* @class Trap
	* @brief トラップのクラス
	*/
	class Trap : public GameElement
	{
	private:

		ID floorID; //!<所在フロアID
		Coordinates position; //!<所在座標

		friend class boost::serialization::access;
		template<class Archive> void serialize(Archive &archive, const unsigned int) 
		{
			archive & BOOST_SERIALIZATION_NVP(floorID);
			archive & BOOST_SERIALIZATION_NVP(position);
		}

	public:

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

		Trap::Trap(void);

		Trap::~Trap(void);

	};

}