#ifndef _C_COMMON_RENDER_HALL_H_INCLUDE_
#define _C_COMMON_RENDER_HALL_H_INCLUDE_

#include "ccommon.h"

class CCommonRenderDevice;
class CCommonSocket;
class CMolMessageIn;
class Player;
class Room;

/** 
 * ͨûͼܣֻڴĻ
 */
class CCommonRenderHall
{
public:
	/// 캯
	CCommonRenderHall() { }
	/// 
	virtual ~CCommonRenderHall() {}

	/// Ⱦ豸
	virtual void SetDevice(CCommonRenderDevice *pDevice) = 0;
	/// ϷԴ
	virtual bool LoadGameResources(void) = 0;
	/// жϷԴ
	virtual bool ShutdownGameResources(void) = 0;
	/// Ϸ
	virtual void ResetGameScene(void) = 0;
	/// Ϸ
	virtual void DrawGameScene(void) = 0;
	/// Ϸ¼
	virtual bool OnEvent(const SEvent& event) = 0;
	/// ûʱϢ
	virtual void OnProcessTimerMsg(int timerId,int curTimer) = 0;

	/// û½Ϣ
	virtual void OnProcessUserFrameLoginMes(CMolMessageIn *mes) = 0;
	/// ûȡϷбϢ
	virtual void OnProcessUserFrameGameServerListMes(CMolMessageIn *mes) = 0;
	/// ûȡϷбϢ
	virtual void OnProcessUserFrameGameListMes(CMolMessageIn *mes) = 0;
	/// û½ϷϢ
	virtual void OnProcessUserGameServerLoginMes(CMolMessageIn *mes) = 0;
	/// ϷϢ
	virtual void OnProcessGameFrameMes(CMolMessageIn *mes) = 0;
	/// ϷϢ
	virtual void OnProcessGameRoomMes(CMolMessageIn *mes) = 0;
	/// ȡǰϷ߷
	virtual void OnProcessGetGameServerOnlineCount(CMolMessageIn *mes) = 0;
};

#endif