/*!
* @file GameLogger.h
* @brief GameLoggerクラスのプロトタイプ
* @date 2013/07/06
* @author Deskull
* 2014 Sikabane Works.
*/

#pragma once

#include "stdafx.h"
#include "Deeangband.h"
#include "GameMessage.h"

namespace Deeangband
{

	/*! 
	* @class GameLogger
	* @brief ゲームログ管理クラス
	*/
	class GameLogger
	{
	protected:
		std::ofstream ofs;
		std::vector<boost::shared_ptr<GameMessage>> gameMessages; //!< ゲームログ配列

	public:

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

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

		/*!
		 * @brief ログメッセージを出力する
		 * @param 出力文字列
		 * @return なし
		 */
		void GameLogger::PutLog(std::string log);

		/*!
		 * @brief クリーチャーが移動したことを記録する。
		 * @param creatureID 移動したクリーチャーのID
		 * @param name 移動したクリーチャーの名前
		 * @param dir 移動した方向
		 */
		void GameLogger::CreatureMoved(ID creatureID, NAME name, DIRECTION dir);

		//this->gameMessages.emplace_back(boost::make_shared<GameMessage>(message, type));

	};
}