StatusWnd.h
上传用户:cydong117
上传日期:2009-11-10
资源大小:638k
文件大小:3k
源码类别:

模拟服务器

开发平台:

Visual C++

  1. #ifndef _CSTATUSWND_H
  2. #define _CSTATUSWND_H
  3. #pragma pack(1)
  4. typedef struct tagSTANDARDMAGIC
  5. {
  6. WORD wMagicID;
  7. char szMagicName[13];
  8. BYTE bEffectType;
  9. BYTE bEffect;
  10. WORD wSpell;
  11. WORD wMinPower;
  12. BYTE btNeed[4];
  13. INT nTrain[4];
  14. BYTE btMaxTrainLevel;
  15. BYTE btJob;
  16. INT nDelayTime;
  17. BYTE bDefSpell;
  18. BYTE btDefMinPower;
  19. WORD wMaxPower;
  20. BYTE btDefMaxPower;
  21. char szDesc[16];
  22. }STANDARDMAGIC, *LPSTANDARDMAGIC;
  23. typedef struct tagCLIENTMAGICRCD
  24. {
  25. INT nCurrTrain;
  26. CHAR bUseKey;
  27. BYTE bLevel;
  28. STANDARDMAGIC stStdMagic;
  29. }CLIENTMAGICRCD, *LPCLIENTMAGICRCD;
  30. #pragma pack(8)
  31. class CStatusWnd : public CGameWnd
  32. private:
  33. protected:
  34. BYTE m_bType; // 0 : 厘馒芒. 1 : 某腐磐 惑怕芒.  2 : 某腐磐 付过 汲沥芒.
  35. CGameBtn m_xStatusBtn[_MAX_STAUTS_BTN];
  36. RECT m_rcCell[_EQUIP_MAX_CELL]; // 牢亥配府芒狼 阿伎甸狼 康开.
  37. RECT m_rcMagicCell[_MAGIC_MAX_CELL]; // 付过技泼芒狼 阿伎甸狼 康开.
  38. INT m_nStartLineNum; // 付过芒狼 贸澜 扼牢狼 锅龋. (付过府胶飘俊 甸绢乐绰俺荐父怒 胶农费且荐乐促..)
  39. BYTE m_bMagicIdxTable[_MAX_MAGIC_SKILL];
  40. CGameBtn m_xMagicScrlBtn[2];
  41. public:
  42. CHAR m_szEquipItemIdx[_EQUIP_MAX_CELL][12];
  43. ITEMSET m_stEquipItem[_EQUIP_MAX_CELL];
  44. ITEMSET m_stTakeOnItemSet; // 厘馒矫懦酒捞袍阑 馒侩咯何 皋矫瘤甫 罐阑锭鳖瘤 烙矫利栏肺 历厘茄促.
  45. BYTE m_bMyMagicCnt;
  46. LPCLIENTMAGICRCD m_pstMyMagic;
  47. public:
  48. CStatusWnd();
  49. ~CStatusWnd();
  50. virtual VOID Init();
  51. virtual VOID Destory();
  52. __inline VOID SetStatusWndType(BYTE bType)
  53. {
  54. m_bType = bType;
  55. switch ( m_bType )
  56. {
  57. case _TYPE_EQUIP:
  58. ResetWndImg(_WNDIMGIDX_ITEMSET);
  59. break;
  60. case _TYPE_STATUS:
  61. ResetWndImg(_WNDIMGIDX_STATUS);
  62. m_rcWnd.left -= 250;
  63. m_rcWnd.right-= 250;
  64. break;
  65. case _TYPE_SETMAGIC:
  66. ResetWndImg(_WNDIMGIDX_SKILLSET);
  67. break;
  68. }
  69. }
  70. __inline BYTE GetStatusWndType()
  71. {
  72. return m_bType;
  73. }
  74. VOID CreateStatusWnd(INT nID, CWHWilImageData* pxWndImage, INT nFrameImgIdx, INT nStartX, INT nStartY, INT nWidth, INT nHeight, BOOL bCanMove);
  75. VOID ShowStatusWnd();
  76. VOID SetStatusBtnInit();
  77. public:
  78. VOID ShowCharEquipWnd();
  79. VOID ShowEquipItemState();
  80. BOOL CheckEquipItem(CItem* pxItem, BYTE bEquipCell, POINT ptMouse);
  81. INT GetEquipNum(POINT ptMouse);
  82. BOOL CheckIsItemExisted(INT nEquipNum);
  83. VOID DeleteEquipItem(INT nEquipNum);
  84. VOID DeleteEquipItem(INT nMakeIndex, CHAR* szName);
  85. VOID DeleteAllEquipItem();
  86. BOOL AddEquipItem(CItem xItem, INT nEquipNum, BOOL bUseEquipNum = TRUE);
  87. BOOL ExtractEquipItem(CItem* pxItem, INT nEquipNum);
  88. VOID ChangeEquipWithCommon(INT nEquipNum, LPCOMMONITEMSET pstCommonItemSet);
  89. VOID SetEquipFromCommon(INT nEquipNum, LPCOMMONITEMSET pstCommonItemSet);
  90. VOID SetCommonFromEquip(INT nEquipNum, LPCOMMONITEMSET pstCommonItemSet);
  91. VOID SetTakeOnFromEquip(INT nEquipNum);
  92. VOID SetTakeOnFromCommon(INT nEquipNum, LPCOMMONITEMSET pstCommonItemSet);
  93. VOID SetEquipFromTakeOn();
  94. VOID ShowCharStatus();
  95. VOID  ShowCharSetMagicWnd();
  96. INT  SetMagicKey(POINT ptMouse, BYTE bKey);
  97. LPCLIENTMAGICRCD GetMagicByKey(BYTE bKey);
  98. BOOL OnLButtonDown(LPCOMMONITEMSET pstItemSet, POINT ptMouse);
  99. BOOL OnLButtonUp(LPCOMMONITEMSET pstItemSet, POINT ptMouse);
  100. BOOL OnKeyDown(WPARAM wParam, LPARAM lParam, POINT ptMouse);
  101. VOID OnMouseMove(POINT ptMouse);
  102. VOID OnScrollDown();
  103. VOID OnScrollUp();
  104. };
  105. #endif // _CSTATUSWND_H