#pragma once ////서버의 이벤트를 모두 캐취해서, 상태 변경 및 이벤트 발생 ////정확한 타이밍에 Work 전달 ////GameAvatarEx에게 상황에 맞는 Ani 변경 // //#include //#include //using namespace std; // //// //////상태 플레그 ////const int FST_ATTACK = 1; //공격 중인 상태, 30초 후에 해제, 공격 시작, 캐스팅 시작, 누가 나를 공격 시작시 On ////const int FST_MARKET = 2; //상점 이용 중 ////const int FST_STOREHOUSE = 3; //창고 이용 중 ////const int FST_TRADE = 4; //트레이드 중 ////const int FST_BOOTHSET = 5; //노점 설정 중 ////const int FST_BOOTHOPEN = 6; //노점 중 ////const int FST_MIX = 7; //조합 중 ////const int FST_LOGOUT = 8; //로그아웃 중 ////const int FST_SIT = 9; //앉기 중 // ////상태 //namespace GAME_STATE //{ ////진행중 //const int ST_NORMAL = 1000; //기본 상태 //const int ST_MOVE = ST_NORMAL+1; //이동 //const int ST_ATTACK = ST_NORMAL+2; //공격 //const int ST_SKILL = ST_NORMAL+3; //스킬 //const int ST_TRACE = ST_NORMAL+4; //추적 //const int ST_SIT = ST_NORMAL+5; //앉기 //const int ST_SIT_UP = ST_NORMAL+6; //서기 // //}; //// ////// ////class FSMstate ////{ ////public: //// FSMstate( int iStateID, unsigned usTransitions ); //// ~FSMstate(); //// //// int GetID() { return m_iStateID; } //// //// void AddTransition( int iInput, int iOutputID ); //// void DeleteTransition( int iOutputID ); //// int GetOutput( int iInput ); //// ////protected: //// unsigned m_usNumberOfTransistions; // 상태 수 //// int * m_piInputs; // 입력 배열 //// int * m_piOutputState; // 출력 배열 //// int m_iStateID; // 상태 고유 ID ////}; //// ////class FSMstate; //// ////typedef map< int, FSMstate*, less > State_Map; ////typedef State_Map::value_type SM_VT; //// //////Work Add, Skip, ////class SStateVM ////{ ////public: //// SStateVM( int iStateID ); //// ~SStateVM(); //// //// void Init(); //// //// int GetCurrentState() { return m_iCurrentState; } //// void SetCurrentState( int iStateID ) { m_iCurrentState = iStateID; } //// //// FSMstate *GetState( int iStateID ); //// void AddState( FSMstate *pState ); //// void DeleteState( int iStateID ); //// //// int StateTransition( int iInput ); //// ////protected: //// State_Map m_map; //// int m_iCurrentState; //// ////};