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

模拟服务器

开发平台:

C/C++

  1. /***************************************************************************
  2. // 界面--装备界面
  3. // Copyright : Kingsoft 2002
  4. // Author :   Wooy(Wu yue), 吕桂华
  5. // CreateTime: 2002-9-2
  6. ----------------------------------------------------------------------------
  7. 装备界面
  8. 选项卡:装备一、装备二
  9. 总共20个装备空位,每个选项卡上有10个
  10. 按钮:一个关闭按钮
  11. 通过选项卡设定两套装备,游戏中可以通过快捷键自由切换两套装备。共
  12. 有10个装备摆放位置,武器2×4,衣服2×3,头部2×2,腰带2×1,手镯1×1,
  13. 鞋子2×2,戒指1×1,腰坠1×2,项链1×1。
  14. *****************************************************************************/
  15. #pragma once
  16. #include "../elem/wndbutton.h"
  17. #include "../elem/wndpage.h"
  18. #include "../Elem/WndText.h"
  19. #include "../elem/WndObjContainer.h"
  20. #define _ITEM_COUNT 10
  21. struct KUiObjAtRegion;
  22. // -------------------------------------------------------------------------
  23. // ---> 装备属性页
  24. class KUiEquipPage : public KWndPage
  25. {
  26. public:
  27. void Initialize(); //初始化
  28. void LoadScheme(const char* pScheme); //载入界面方案
  29. void UpdateEquip(KUiObjAtRegion* pEquip, int bAdd); //装备变化更新
  30. void UpdateData(); //更新数据
  31. void Clear();
  32. private:
  33. int WndProc(unsigned int uMsg, unsigned int uParam, int nParam);//窗口函数
  34. void OnEquiptChanged(ITEM_PICKDROP_PLACE* pPickPos, ITEM_PICKDROP_PLACE* pDropPos);//响应界面操作引起装备的改变
  35. private:
  36. // 窗口元素
  37. KWndObjectBox m_EquipBox[_ITEM_COUNT];
  38. };
  39. // ---> 马装备属性页
  40. class KUiHorsePage : public KWndPage
  41. {
  42. public:
  43. void Initialize(); //初始化
  44. void LoadScheme(const char* pScheme); //载入界面方案
  45. void UpdateEquip(KUiObjAtRegion* pEquip, int bAdd); //装备变化更新
  46. void Clear();
  47. void UpdateRideStatus(int bRiding); //更新骑马状态
  48. private:
  49. int WndProc(unsigned int uMsg, unsigned int uParam, int nParam);//窗口函数
  50. int OnClickItem(unsigned int uMsg, unsigned int uParam, int nParam);//响应点击按钮
  51. void OnEquiptChanged(ITEM_PICKDROP_PLACE* pPickPos, ITEM_PICKDROP_PLACE* pDropPos);//响应界面操作引起装备的改变
  52. private:
  53. KWndObjectBox m_HorseBox;
  54. KWndButton m_UpDownHorseBtn;
  55. KWndText256 m_HorseDesc;
  56. };
  57. // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  58. // ---> 装备窗口
  59. class KUiEquip : public KWndPageSet
  60. {
  61. public:
  62. static KUiEquip* OpenWindow(); //打开窗口,返回唯一的一个类对象实例
  63. static KUiEquip* GetIfVisible(); //如果窗口正被显示,则返回实例指针
  64. static void  CloseWindow(bool bDestroy); //关闭窗口,同时可以选则是否删除对象实例
  65. static void LoadScheme(const char* pScheme);//载入界面方案
  66. static void UpdateRideStatus(int bRiding); //更新骑马状态
  67. void UpdateEquip(KUiObjAtRegion* pEquipt, int bAdd);//装备变化更新
  68. private:
  69. KUiEquip() {}
  70. ~KUiEquip() {}
  71. void Initialize(); //初始化
  72. int WndProc(unsigned int uMsg, unsigned int uParam, int nParam);//窗口函数
  73. private:
  74. static KUiEquip* m_pSelf;
  75. private:
  76. KUiEquipPage m_EquipPage; // 装备1属性页
  77. KUiHorsePage m_HorsePage; // 装备2属性页
  78. KWndButton m_Equip1Btn; // 切换到装备1
  79. KWndButton m_Equip2Btn; // 切换到装备2
  80. KWndButton m_Close; // 关闭按钮
  81. };