UiSelPlayer.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:2k
源码类别:

模拟服务器

开发平台:

C/C++

  1. // -------------------------------------------------------------------------
  2. // 文件名 : UiSelPlayer.h
  3. // 创建者 : 吕桂华
  4. // 创建时间 : 2002-9-10 14:24:08
  5. // 功能描述 :
  6. // ---> 角色选择界面,包含以下界面元素:
  7. // 1) 三个可选择的角色
  8. // 2) 四个按钮:确定,新建,删除,取消
  9. // -------------------------------------------------------------------------
  10. #pragma once 
  11. #include "../elem/WndShowAnimate.h"
  12. #include "../elem/wndtext.h"
  13. #include "../elem/wndbutton.h"
  14. #ifndef MAX_PLAYER_PER_ACCOUNT
  15. #define MAX_PLAYER_PER_ACCOUNT 3
  16. #endif
  17. // -------------------------------------------------------------------------
  18. class KUiSelPlayer : protected KWndShowAnimate
  19. {
  20. public:
  21. //----界面面板统一的接口函数----
  22. static KUiSelPlayer* OpenWindow(); //打开窗口,返回唯一的一个类对象实例
  23. static void  CloseWindow(); //关闭窗口
  24. static void GetRoleImageName(char* pszName, const char* pszPrefix, unsigned char bGender, unsigned char bAttribute, int nIndex);
  25. private:
  26. KUiSelPlayer();
  27. ~KUiSelPlayer() {}
  28. void Initialize(); //初始化
  29. void LoadScheme(const char* pScheme); //载入界面方案
  30. void PaintWindow(); //窗体绘制
  31. void UpdateData(); //更新
  32. void Hide();
  33. int WndProc(unsigned int uMsg, unsigned int uParam, int nParam);//消息处理
  34. void OnClickButton(KWndButton* pWnd, bool bDoubleClick); //响应点击按钮
  35. void OnNew();
  36. void OnDel();
  37. void OnCancel();
  38. void OnSelectPlayer(int nSel, bool bPlaySound = true);
  39. void OnEnterGame();
  40. int OnKeyDown(unsigned int uKey);
  41. KWndButton* GetActiveBtn();
  42. private:
  43. static KUiSelPlayer* m_pSelf;
  44. private:
  45. KWndText80 m_LifeTimeText;
  46. // 界面元素
  47. KWndText32 m_Name[MAX_PLAYER_PER_ACCOUNT];
  48. KWndText32 m_Level[MAX_PLAYER_PER_ACCOUNT];
  49. KWndButton m_player[MAX_PLAYER_PER_ACCOUNT]; // 三个角色
  50. KWndImage m_PlayerInfoBg[MAX_PLAYER_PER_ACCOUNT];
  51. KWndButton m_btnOk; // 确定
  52. KWndButton m_btnCancel; // 取消
  53. KWndButton m_btnNew; // 新建角色
  54. KWndButton m_btnDel; // 删除角色
  55. unsigned char m_Gender[MAX_PLAYER_PER_ACCOUNT];
  56. unsigned char m_Attribute[MAX_PLAYER_PER_ACCOUNT];
  57. char m_szSelPlayerSound[MAX_PLAYER_PER_ACCOUNT][128];
  58. KWndImage m_ButterflyWnd;
  59. char m_szLoginBg[32];
  60. char m_szPlayerImgPrefix[128];
  61. int m_ChildPos[4];
  62. int m_ChildWndXOffset[4];
  63. int m_ChildWndYOffset;
  64. private:
  65. int m_bJustClicked;
  66. short m_nNumPlayer;
  67. short m_nSelPlayer; // 当前选中的是第几个角色
  68. //  -1 -- 无选中;    0 -- 选中第一个;
  69. //  1 -- 选中第二个;2 -- 选中第三个;
  70. };