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

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

namespace Deeangband
{

	/*! 
	* @class Stair
	* @brief 階段のクラス
	*/
	class Stair : public GameElement
	{
	private:
		ID fieldID1; //!<接続フロアID1
		ID fieldID2; //!<接続フロアID2
		Coordinates position1; //!<接続座標1
		Coordinates position2; //!<接続座標2

		friend class boost::serialization::access;
		template<class Archive> void serialize(Archive &archive, const unsigned int version) 
		{
			if(version >= 0)
			{
			archive & boost::serialization::make_nvp("FieldID1", fieldID1);
			archive & boost::serialization::make_nvp("FieldID2", fieldID2);
			archive & boost::serialization::make_nvp("PositionID1", positionID1);
			archive & boost::serialization::make_nvp("PositionID2", positionID2);
			}
		}

	public:

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

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

		/*! 
		* @brief Stairのデータ消去
		*/
		void Stair::WipeData(void);

	};

}

BOOST_CLASS_VERSION(Deeangband::Stair, 10);
