UiStatus.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. 共有11个装备摆放位置,武器2×4,衣服2×3,头部2×2,腰带2×1,
  8. 手镯1×1,鞋子2×2,戒指1×1,腰坠1×2,项链1×1,马2×3。
  9. *****************************************************************************************/
  10. #pragma once
  11. #include "../Elem/WndButton.h"
  12. #include "../Elem/WndText.h"
  13. #include "../Elem/WndShowAnimate.h"
  14. #include "../elem/WndObjContainer.h"
  15. enum UI_PLAYER_ATTRIBUTE;
  16. struct KUiPlayerRuntimeInfo;
  17. struct KUiObjAtRegion;
  18. struct KUiPlayerAttribute;
  19. #define _ITEM_COUNT 11
  20. class KUiStatus : public KWndShowAnimate
  21. {
  22. public:
  23. //----界面面板统一的接口函数----
  24. static KUiStatus* OpenWindow(); //打开窗口,返回唯一的一个类对象实例
  25. static KUiStatus* GetIfVisible(); //如果窗口正被显示,则返回实例指针
  26. static void CloseWindow(bool bDestroy); //关闭窗口,同时可以选则是否删除对象实例
  27. // static void LoadConfig(KIniFile* pIni); //载入自定义配置
  28. static void LoadScheme(const char* pScheme);//载入界面方案
  29. void UpdateBaseData(); //更新基本数据(人名等不易变数据)
  30. void UpdateData();
  31. void UpdateRuntimeInfo(KUiPlayerRuntimeInfo* pInfo);
  32. void UpdateAllEquips();
  33. void UpdateRuntimeAttribute(KUiPlayerAttribute* pInfo);
  34. void UpdateEquip(KUiObjAtRegion* pEquip, int bAdd); //装备变化更新
  35. private:
  36. KUiStatus() {}
  37. ~KUiStatus() {}
  38. void Initialize(); //初始化
  39. void UseRemainPoint(UI_PLAYER_ATTRIBUTE type); //升级某项属性
  40. int WndProc(unsigned int uMsg, unsigned int uParam, int nParam); //窗口函数
  41. void LoadScheme(class KIniFile* pIni); //载入界面方案
  42. void OnEquiptChanged(ITEM_PICKDROP_PLACE* pPickPos, ITEM_PICKDROP_PLACE* pDropPos);//响应界面操作引起装备的改变
  43. private:
  44. static KUiStatus* m_pSelf;
  45. private:
  46. KWndWindow m_Face;
  47. KWndText32 m_Agname;
  48. KWndText32 m_Name;
  49. KWndText32 m_Title;
  50. KWndText32 m_Money;
  51. KWndText32 m_Life;
  52. KWndText32 m_Mana;
  53. KWndText32 m_Experience;
  54. KWndText32 m_Angry;
  55. KWndText32 m_Stamina;
  56. int m_nRemainPoint;
  57. KWndText32 m_RemainPoint;
  58. KWndText32 m_Strength, m_Dexterity, m_Vitality, m_Energy;
  59. KWndButton m_AddStrength, m_AddDexterity, m_AddVitality, m_AddEnergy;
  60. KWndText32 m_LeftDamage, m_RightDamage, m_Attack, m_Defence, m_MoveSpeed, m_AttackSpeed;
  61. KWndText32 m_PhyDef, m_CoolDef, m_LightDef, m_FireDef, m_PoisonDef;
  62. KWndText32 m_Level, m_StatusDesc;
  63. KWndButton m_OpenItemPad;
  64. KWndButton m_Close;
  65. //装备物品
  66. KWndObjectBox m_EquipBox[_ITEM_COUNT];
  67. };