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

模拟服务器

开发平台:

C/C++

  1. //---------------------------------------------------------------------------
  2. // Sword3 Engine (c) 2003 by Kingsoft
  3. //
  4. // File: KLittleMap.h
  5. // Date: 2003.05.08
  6. // Code: 边城浪子
  7. //---------------------------------------------------------------------------
  8. #ifndef KLITTLEMAP_H
  9. #define KLITTLEMAP_H
  10. #ifndef _SERVER
  11. #include "../Represent/iRepresent/iRepresentShell.h"
  12. #include "../../Represent/iRepresent/KRepresentUnit.h"
  13. #define LITTLE_MAP_POINT_NUM 500
  14. #define LITTLE_MAP_SHOW_REGION_WIDTH 4
  15. #define LITTLE_MAP_SHOW_REGION_HEIGHT 4
  16. class KLittleMap
  17. {
  18. private:
  19. RECT m_sMapRect; // 本地图的region范围(左上、右下)
  20. int m_nMapWidth; // 地图长(region, m_sMapRect.right - m_sMapRect.left + 1)
  21. int m_nMapHeight; // 地图宽(region, m_sMapRect.bottom - m_sMapRect.top + 1)
  22. BYTE *m_pbyLoadFlag; // 某个region的障碍数据载入与否
  23. BYTE **m_ppbtBarrier; // 所有region的障碍数据
  24. int m_nScreenX; // 屏幕显示左上角坐标
  25. int m_nScreenY; // 屏幕显示左上角坐标
  26. int m_nShowWidth; // 显示宽多少个region的障碍
  27. int m_nShowHeight; // 显示高多少个region的障碍
  28. KRColor m_sBarrierColor; // 障碍颜色
  29. KRColor m_sSelfColor; // 主角颜色
  30. KRColor m_sTeammateColor; // 队友颜色
  31. KRColor m_sPlayerColor; // 其他玩家颜色
  32. KRColor m_sFightNpcColor; // 战斗npc颜色
  33. KRColor m_sNormalNpcColor; // 普通npc颜色
  34. BOOL m_bColorLoadFlag; // 颜色设定文件是否已经载入
  35. BOOL m_bTeammateShowFlag; // 是否显示队友
  36. BOOL m_bPlayerShowFlag; // 是否显示其他玩家
  37. BOOL m_bFightNpcShowFlag; // 是否显示战斗npc
  38. BOOL m_bNormalNpcShowFlag; // 是否显示普通npc
  39. KRUPoint m_sPoint[LITTLE_MAP_POINT_NUM]; // 用于绘制
  40. int m_nPointPos; // 用于绘制
  41. KRUShadow m_sBigPoint;
  42. public:
  43. int m_nShowFlag; // 是否显示小地图
  44. public:
  45. KLittleMap();
  46. ~KLittleMap();
  47. void Release();
  48. void Init(int nLeft, int nTop, int nRight, int nBottom); // 初始化,分配内存空间
  49. BYTE *GetBarrierBuf(int nX, int nY); // 获得某个region的障碍数据的存储地址
  50. void SetHaveLoad(int nX, int nY); // 设定已载入某个region的障碍数据
  51. void Draw(int nX, int nY); // 绘制
  52. void SetTeammateShow(BOOL bFlag); // 队友显示开关
  53. void SetPlayerShow(BOOL bFlag); // 其它玩家显示开关
  54. void SetFightNpcShow(BOOL bFlag); // 战斗npc显示开关
  55. void SetNormalNpcShow(BOOL bFlag); // 普通npc显示开关
  56. void SetScreenPos(int nX, int nY); // 设定小地图在屏幕上的显示位置
  57. void Show(int nFlag); // 小地图显示开关
  58. void SetShowSize(int nWidth, int nHeight);// 设定显示内容的大小
  59. };
  60. #endif
  61. #endif