#pragma once #include struct Fish_TurretLevelCFGData { //ID int mID; //开放倍率 int mOpenRate; //奖励金币 int mAwardGold; //单次升级 int mOneTickUp; //升炮buff int mShotsBuff; //升级ICON std::string mLevelUpIcon; //升级类型(0普通, 1道具) int mUpType; //升级成功率(10000) int mUpRate; //需要幸运 int mNeedLucky; //升级需要的物品ID std::vector mNeedItems; //需要物品数量 std::vector mNeedCount; //额外升级所需 std::vector mExtraUpgrade; //掉落衰减 int mDropAttenuates; //每日任务组 std::vector mDailyQuestGroup; //升级材料掉落上限(激光符文,浪花符文,火山符文,太阳符文) int mDropLimit; //炮倍任务奖励物品 std::vector mTaskItems; //炮倍任务奖励数量 std::vector mQuantityOfArticles; //炮倍任务显示 int mTaskDisplay; //炮倍解锁id std::vector mUnlockDisplayID; //炮倍解锁类型 std::vector mUnlockDisplayMasks; }; class Fish_TurretLevelCFG { public: private: static std::auto_ptr msSingleton; public: int GetCount(); const Fish_TurretLevelCFGData* GetData(int ID); const std::map& GetMapData(); void Load(); void LoadLua(); void Reload(); static Fish_TurretLevelCFG* GetSingleton(); static void Release(); private: std::map mMapData; };