Files
2022-10-26 12:25:11 +08:00

76 lines
1.4 KiB
C++

#ifndef _GameFramework_H
#define _GameFramework_H
//#include <Protocol_IGC.h>
class SceneBase;
class GameFramework
{
private:
static SceneBase *s_pCurrentScene;
static SceneBase *s_pNextScene;
static SceneBase *s_pOldNextScene;
//로딩신을 제외하고 처리할 다음씬\
//현재는 배틀씬 -> 로딩씬 -> 미션씬 순으로 변경된다.
//하지만 처리되어야 될 부분은 로딩씬이 없어야 됨.
//현재는 배틀씬 -> 미션씬 순으로 변경됨을 기록함..
static SCENE_TYPE post_Scene_;
public:
GameFramework() {}
~GameFramework() { Destroy(); }
BOOL CommitChangeState( void );
static BOOL ChangeScene( SCENE_TYPE eScene );
static SCENE_TYPE GetCurScene();
static SCENE_TYPE GetPostScene();
static SCENE_TYPE GetCurSceneType();
static SCENE_TYPE GetPostSceneType();
BOOL Create( SCENE_TYPE eScene );
void Destroy( void );
BOOL Update( DWORD dwTick );
void SetViewport();
void Set2DViewport();
BOOL Render( DWORD dwTick );
BOOL PreInterfaceRender( DWORD dwTick );
BOOL PostInterfaceRender( DWORD dwTick );
void Activate( void );
void DeleteDeviceObjects( void );
void InvalidateDeviceObjects( void );
void RestoreDeviceObjects( void );
void ParsePacket( MSG_BASE * pMsg );
void ParsePacketInChat( MSG_BASE * pMsg );
void OnDeviceReset();
static SceneBase *GetCurrentScene();
int OnEndRendering( DWORD dwTick );
#ifdef __NA_0_20080415_PROCESS_END_PROECSS
int OnEndProcess( DWORD dwTick );
#endif
};
#endif // _GameFramework_H