/// @file ControlTable.h
#ifndef CONTROLTABLE_H
#define CONTROLTABLE_H

#include "../../object/TimeController.h"
/**
	@brief 프로세스 상황관리 객체

	현재의 상황을 관리하는 클래스입니다.\n
	상황을 토대로 각각의 객체들은 수행합니다.\n
	또한 모든 객체들의 매개자 역할로써 많은 객체들이 필요로하는 요소들을 가질 수 있습니다.\n
	M6단계에서는 TimeController 객체를 가집니다.
*/
class ControlTable {
public:
	enum RUN_TYPE  { PROCESS = 0, SCRIPT, EXIT };
	enum FADE_TYPE { FADE_IN = 0, FADE_OUT };
	ControlTable() : bFade(false), aSceneHandle(NULL){}
	~ControlTable(){}

	void setCommand(TiXmlElement* _pCommandElement){
		runMode = ControlTable::SCRIPT;
		pCommandElement = _pCommandElement;
	}

	int  runMode;
	//bool bRObjectProcess;

	int  fadeType;
	bool bFade;

	TiXmlElement* pControlElement;
	TiXmlElement* pCommandElement;
	TiXmlHandle   aSceneHandle;
	TimeController aTimeController;
};

#endif