#ifndef _G_STATIC_DATA_
#define _G_STATIC_DATA_

#include <hpllib/HPLBasicStaticData.h>

#include "GEnum.h"

#include "GObjectManager.h"
//#include "GSave.h"

#include "GCommonWork.h"

/** ゲームの進行、処理を行うクラス
  * シングルトンもどき
  */
class GStaticData : public HPLBasicStaticData {
public:
	GCommonWork			m_CommonWork;				//! 共通処理
	GObjectManager		m_ObjectManager;			//! オブジェクト管理
//	float minZ;
//	GSave* save;
//	bool				m_bIsSkipFirst;

	// logger


	// コンストラクタ/デストラクタ
public:
	GStaticData();
	virtual ~GStaticData();

	// override
public:
	void loadTexture();
	void doEvent();
	void checkEvent();
	bool isEvent();
	void doEventPack();
	void drawStand(int standPos, int seqID);
	void startEvent(int evIndex);
	void processFadeOut();
	void callbackStageChange(){}
	HPLSetting* getSetting() {
		return &this->m_CommonWork.m_Setting;
	}
	// 処理
public:

};

extern GStaticData* staticData;
static GStaticData* getStaticData() {
	return staticData;
}

#endif
