/*!
 *  @file Feature.h
 *  @brief ゲーム中の地形情報のプロトタイプ
 *  @date 2014/02/20
 *  @author Deskull
 *  2014 Sikabane Works.
 */

#pragma once

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

/*!
 * @class Feature
 * @brief 地形情報のクラス
 */
class Feature : public GameElement
{
private:
	string name; /*!< 地形の名前 */
	ID tileID; /*!< 地形タイルID */
	char symbol; /*!< 地形タイルシンボル */
	Color symColor; /*!< 地形シンボルカラー */
	Color backColor; /*!< 地形背景カラー */

public:

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

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

	/*! 
	 * @brief ダミーデータによる初期化
	 * @return なし
	 */
	void Feature::SetDammyData(void);

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

	/*! 
	 * @brief タイルIDを返す
	 * @brief タイルID
	 */
	ID Feature::GetTileID(void);

	/*! 
	 * @brief 地形記号を返す
	 * @return 地形記号
	 */
	ID Feature::GetSymbol(void);

	/*! 
	 * @brief シンボルカラーを返す
	 * @brief シンボルカラー
	 */
	Color Feature::GetSymColor(void);

	/*! 
	 * @brief 背景カラーを返す
	 * @brief 背景カラー
	 */
	Color Feature::GetBackColor(void);

};
