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

模拟服务器

开发平台:

C/C++

  1. /*****************************************************************************************
  2. // 界面--技能树窗口
  3. // Copyright : Kingsoft 2002
  4. // Author :   Wooy(Wu yue)
  5. // CreateTime: 2002-9-2
  6. ------------------------------------------------------------------------------------------
  7. *****************************************************************************************/
  8. #pragma once
  9. #include "../elem/wndimage.h"
  10. #include "../elem/wndbutton.h"
  11. #include "../../../core/src/gamedatadef.h"
  12. #define SKILLTREE_MAX_SKILL_COUNT 65
  13. #define SKILLTREE_SHORTCUT_SKILL_COUNT 9
  14. enum SHORTCUT_KEY_INDEX;
  15. class KUiSkillTree : protected KWndWindow
  16. {
  17. public:
  18. static KUiSkillTree* OpenWindow(int bLeft); //打开窗口,返回唯一的一个类对象实例
  19. static KUiSkillTree* GetIfVisible(); //如果窗口正被显示,则返回实例指针
  20. static void CloseWindow(bool bDestroy); //关闭窗口,同时可以选则是否删除对象实例
  21. static void LoadScheme(const char* pScheme);//载入界面方案
  22. static void HandleShortcutKey(int nIndex);
  23. static void LoadConfig(KIniFile* pIni);
  24. static void SaveConfig(KIniFile* pIni); //保存自定义配置
  25. static void DirectHandleShortcutKey(int nIndex);
  26. private:
  27. KUiSkillTree();
  28. ~KUiSkillTree() {}
  29. void Initialize(); //初始化
  30. void PaintWindow(); //窗体绘制
  31. int PtInWindow(int x, int y);
  32. void UpdateData(); //更新数据
  33. void UpdateWndRect();
  34. void Hide(); //隐藏窗口
  35. int GetSkillAtPos(int x, int y); //得到指定位置的技能的索引
  36. int WndProc(unsigned int uMsg, unsigned int uParam, int nParam);//窗口函数
  37. private:
  38. static KUiSkillTree* m_pSelf;
  39. private:
  40. int m_nNumSkills;
  41. KUiSkillData m_Skills[SKILLTREE_MAX_SKILL_COUNT];
  42. //KUiSkillData::nLevel在此的含义表示位此技能显示在第几列
  43. int m_nFont;
  44. unsigned int m_uColor;
  45. unsigned int m_bLeft;
  46. int m_nLeftLeft, m_nLeftTop;
  47. int m_nRightLeft, m_nRightTop;
  48. int m_nWidthPerSkill, m_nHeightPerSkill;
  49. static KUiSkillData ms_ShortcutSkills[SKILLTREE_SHORTCUT_SKILL_COUNT];
  50. //KUiSkillData::nLevel在此的含义0表示左手技能,1表示右手技能
  51. };