/* _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
|
|   gameManager.h
|
+ -------------------------------------------------------------------------------------------------
|
|	ゲーム管理クラス
|
+ _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ */

#pragma once

class SystemManager;
class GridLine;
class Ground;
class CardData;
class Phase;
class Field;
class FieldMenu;
class Dialog;
class Skill;

class GameManager
{
	private:
		SystemManager*	m_pSysMan;		// システム管理

		GridLine*		m_pGridLine;	// グリッドライン
		Ground*			m_pGround;		// 地面
		CardData*		m_pCardData;	// カードデータ
		Phase*			m_pPhase;		// フェイズ
		Field*			m_pField;		// フィールド
		FieldMenu*		m_pMenu;		// メニュー
		Dialog*			m_pDialog;		// ダイアログ
		Skill*			m_pSkill;		// スキル

	public:
		GameManager();
		~GameManager();

	private:
		void	release(void);		// 解放

	public:
		void	init(void);			// 初期化
		void	update(void);		// 更新
		void	draw(void);			// 描画

		GridLine*		getGridLine(void){ return(m_pGridLine); }
		Ground*			getGround(void){ return(m_pGround); }
		CardData*		getCardData(void){ return(m_pCardData); }
		Phase*			getPhase(void){ return(m_pPhase); }
		Field*			getField(void){ return(m_pField); }
		FieldMenu*		getMenu(void){ return(m_pMenu); }
		Dialog*			getDialog(void){ return(m_pDialog); }
		Skill*			getSkill(void){ return(m_pSkill); }
};

