#ifndef _G_STATIC_DATA_
#define _G_STATIC_DATA_

#include "GSetting.h"
#include "GObjectManager.h"
//#include "GObjectPlacer.h"
#include "GEventManager.h"
#include "GGame.h"

#include "GEnum.h"

class GStaticData: public HPLBasicStaticData{
private:
	GSetting* setting;
//	GObjectPlacer* objectPlacer;
	GEventManager* eventManager;

	GGame game;
public:
	GGame* getGame(){
		return &game;
	}

	GSetting* getSetting(){
		return this->setting;
	}
private:
	void loadTexture();
	GObjectManager* objectManager;

	/////
	// 現在のイベントパック
	HPLEventPack* eventPack;
	////
	// SE用ウエイトフレーム？
	// いらないかも



	void doEventPack();
public:
	GObjectManager* getObjectManager(){
		return objectManager;
	}
public:
	GStaticData();
	virtual ~GStaticData();

	void doEvent();
	void setupMap(int index);

	void processFadeOut();

	/** スクロールも考慮したゲーム表示範囲を取得 */ 
	HPLRect getGameRange();
	HPLRect getMerginedGameRange();

	void checkEvent();
};

extern GStaticData* staticData;

#endif
