/*!
* @file Camp.h
* @brief ゲーム中の陣営と付随要素のプロトタイプ
* @date 2013/12/11
* @author Deskull
* 2013 Sikabane Works.
*/

#pragma once

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

namespace Deeangband
{

	/*! 
	* @class Camp
	* @brief 陣営のクラス
	*/
	class Camp : public GameElement
	{
	private:

		NAME name;

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

	public:

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

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

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

		/*!
		* @brief 陣営名を返す
		* @return 陣営名
		*/
		NAME Camp::GetName(void);

	};

}