#pragma once #include struct Fish_RoomCFGData { //房间id int mRoomID; //房间类型 int mRoomType; //房间名 std::string mRoomName; //房间图片 std::string mRoomImage; //房间名字 std::string mArmatureName; //房间路径 std::string mArmaturePath; //出鱼配置 std::string mOutFishConfig; //鱼阵配置 std::string mLargetFishConfig; //BOSS鱼阵 int mBOSSID; //普通刷鱼时间(秒) int mNormalOutFishTime; //特殊BOSSID int mSpecialBoss; //BOSS路径分组 int mBossGroup; //金币条件 int mGoldCondition; //vip条件 int mVipCondition; //场次顺序 int mOrder; //礼券条件 int mTicketCondition; //解锁礼包到达等级 int mLockBagLv; //等级条件 int mLevelCondition; //机器人最少金币 int mRobotMinGold; //机器人最多金币 int mRobotMaxGold; //最低倍率 int mMinRate; //最大倍率 int mMaxRate; //是否开放高炮 int mSkillTurret; //倍率列表 std::vector mRateList; //桌子数 int mTableCount; //时间检测 std::string mTimeCheck; //红包次数 int mRedPackage; //红包数量 std::vector mRedQuantity; //是否显示 bool mIsShow; //是否开放 bool mIsOpen; //能量系数 int mPowerParam; //购买能量消耗 int mBuyPowerCost; //导弹倍率 int mMissileRate; //导弹消耗 int mMissileCost; //开启保护 bool mOpenProtect; //是否可以获得捕鱼经验 bool mExpGet; //是否可以换桌 bool mChangeTable; //提示离开房间等级 int mWarnLeaveLv; //不可进入等级 int mNoEnterLv; //期望盈利率千分比 int mWinRateAverage; //最大盈利率 int mWinRateMax; //最小盈利率 int mWinRateMin; //盈利率起始控制值 int mWinRateCtrValue; //场景id列表 std::vector mSceneIds; //开放时间 std::vector mOpenTime; //免费锁定道具ID std::vector mFreeLockId; //免费狂暴道具ID std::vector mFreeViolentId; }; class Fish_RoomCFG { public: private: static std::auto_ptr msSingleton; public: int GetCount(); const Fish_RoomCFGData* GetData(int RoomID); const std::map& GetMapData(); void Load(); void LoadLua(); void Reload(); static Fish_RoomCFG* GetSingleton(); static void Release(); private: std::map mMapData; };