#pragma once #include "UInc.h" #include "ClientState.h" #include "UListBox.h" #include "UICreatePlayer.h" class CPlayer; class UNiAVControlR; class URoleInfo : public UBitmapButton { UDEC_CLASS(URoleInfo); public: URoleInfo(); ~URoleInfo(); void InitInfo(RoleInfo* data, INT id); RoleInfo* GetRoleData(){return m_RoleData;} void OnClear(); protected: virtual BOOL OnCreate(); virtual void OnDestroy(); virtual void OnRender(const UPoint& offset, const URect &updateRect); virtual void OnTimer(float fDeltaTime); virtual void OnMouseDown(const UPoint& pt, UINT nClickCnt, UINT uFlags); virtual UControl* FindHitWindow(const UPoint &pt, INT initialLayer /* = -1 */) { return this; } protected: RoleInfo* m_RoleData; INT m_RoleID; UBitmap* m_RaceImage; UStaticText* m_Name; UStaticText* m_levelInfo; }; class UChoosePlayer : public UControl { UDEC_CLASS(UChoosePlayer); UDEC_MESSAGEMAP(); public: UChoosePlayer(); ~UChoosePlayer(); void RefreshRoleList(); //initialization UNiAVControlR* GetControlR() { return m_pkControlR; } void ActiceEnterGameBtn(); void DBClickRoleEnterGame(INT index); protected: virtual BOOL OnCreate(); virtual void OnDestroy(); virtual BOOL OnEscape(); virtual void OnMouseDown(const UPoint& point, UINT nRepCnt, UINT uFlags); virtual void OnMouseUp(const UPoint& position, UINT flags); virtual void OnMouseDragged(const UPoint& position, UINT flags); virtual UControl * FindHitWindow(const UPoint &pt, INT initialLayer /* = -1 */); protected: void SetCurRole(UINT id); void InitRoleList(RoleInfo* data, UINT i); void ClickCreate(); //Enter the creation interface void ClickDelete(); //Delete currently selected void ClickBack(); //Back void ClickChooseServer(); //Choose server void ClickStartGame(); //Enter Game void ClearRoleList(); // // void ClickRole_Zero(); void ClickRole_One(); void ClickRole_Two(); void ClickRole_Thr(); void ClickRole_Four(); void ClickRole_Five(); void ClickRole_Six(); // void ClickRight(); //3D Model Turn Right void ClickLeft(); //3D Model Turn Left private: //Up to 7 characters URoleInfo* m_Role_Zero; URoleInfo* m_Role_One; URoleInfo* m_Role_Two; URoleInfo* m_Role_Thre; URoleInfo* m_Role_Four; URoleInfo* m_Role_Five; URoleInfo* m_Role_Six; RoleInfo* m_curRoleData; UNiAVControlR* m_pkControlR; UPoint m_MouseDpt; URect m_DragRoleRect; };