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

模拟服务器

开发平台:

C/C++

  1. #ifndef __KWEATHERMGR_H__
  2. #define __KWEATHERMGR_H__
  3. #define WEATHERID_NOTHING 255
  4. #ifdef _SERVER
  5. #define MAX_WEATHER_NUM 4 // 一张地图上最大的天气种类数目
  6. struct KWeatherInfo
  7. {
  8. int m_weatherID; // 天气ID
  9. int m_nOdds; // 天气发生概率
  10. int m_nLifeTimeMin; // 天气最小持续时间,单位为游戏帧数
  11. int m_nLifeTimeMax; // 天气最大持续时间,单位为游戏帧数
  12. };
  13. class KWeatherMgr
  14. {
  15. public:
  16. public:
  17. KWeatherMgr();
  18. // 从.wor和weather.ini文件读取信息,完成初始化
  19. // IniFile:已经打开的.wor文件
  20. bool InitFromIni(KIniFile &IniFile);
  21. // 返回当前天气ID
  22. int Activate();
  23. private:
  24. bool m_bInWeather; // 是否在天气状态下
  25. int m_nWeatherNum; // 天气类型数目
  26. KWeatherInfo m_weatherInfo[MAX_WEATHER_NUM]; // 天气信息数组
  27. int m_nFullOdds; // 对应100%的概率值
  28. int m_nCurWeather; // 当前天气
  29. int m_nHappenTimeMin; // 天气发生最短时间间隔
  30. int m_nHappenTimeMax; // 天气发生最大时间间隔
  31. int m_nLastHappentime; // 上一次天气的发生时间
  32. int m_nNextHappentime; // 下一次天气的发生时间
  33. int m_nWeatherDuration; // 天气持续时间
  34. private:
  35. };
  36. #endif
  37. #endif