#ifndef _UG_STATIC_DATA_
#define _UG_STATIC_DATA_

#include "UGSetting.h"
#include "UGObjectManager.h"
#include "UGObjectPlacer.h"
#include "UGEventManager.h"
#include "UGGame.h"

#include "UGEnum.h"

class UGStaticData: public HPLBasicStaticData{
private:
	UGSetting* setting;
	UGObjectPlacer* objectPlacer;
	UGEventManager* eventManager;

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

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

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



	void doEventPack();
public:
	UGObjectManager* getObjectManager(){
		return objectManager;
	}
public:
	UGStaticData();
	virtual ~UGStaticData();

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

	void processFadeOut();

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

	void checkEvent();
};

extern UGStaticData* staticData;

#endif
