#pragma once #include #include struct Fish_FishCFGData { //key int mID; //鱼名字 std::string mFishName; //模型ID int mModelID; //分数 int mScore; //玩法鱼分值 int mFishPoints; //魔石 std::vector mDimensity; //鱼类型 int mType; //掉落钻石 int mDropGem; //显示半径 int mShowRadius; //层 int mLayer; //渔网能击中 bool mCanNetHit; //死亡效果 std::vector mServerDieParam; //死亡效果参数 std::vector mDieEffectParam; //死亡特效 int mDieEffect; //屏幕震动 bool mShockScreen; //掉落金币(ID,数量) int mDropGold; //效果类型 int mEffectType; //金币转盘 int mGoldPlate; //全屏转盘 int mScreenPlate; //死亡声音 std::vector mDieSoundID; //显示图鉴 bool mShowBook; //图鉴图标 std::string mBookIcon; //图鉴比例 float mBookScale; //图片名字 std::string mBookName; //图鉴信息 std::string mBookInfo; //是否boss bool mIsBOSS; //是否可被冰冻 bool mIsFrozen; //是否话费鱼 bool mIsLottery; //显示星星 bool mShowStar; //半径 float mRadius; //显示道具 int mDisplayItem; //道具泡泡偏移 std::vector mItemBubble; //聊天泡泡 std::vector mChatBubble; //泡泡偏移 std::vector mChatOffset; //道具泡泡缩放 float mItemBubbleScale; //能否被炸弹击中 bool mCanBomb; //显示序号 int mShowIndex; //显示类型1-普通鱼 2-黄金 3-特殊 4-boss 5-玩法鱼 int mShowType; //显示分数 std::string mShowScore; //红鱼,全屏炸弹随机范围 int mBombRange; //能否被被弹头击中 std::string mCanHitByBulletHead; //鱼分数类型:1正常分数,取Score字段;2浮动倍率,取BombRange,Score字段;3变倍鱼取TimesRange字段;4钻头虾变倍 int mScoreType; //变倍鱼倍数以及概率 std::vector mTimesRange; //点杀点送分值 int mKillAndSendScore; }; class Fish_FishCFG { public: private: static std::auto_ptr msSingleton; public: int GetCount(); const Fish_FishCFGData* GetData(int ID); boost::unordered_map& GetMapData(); void Reload(); void Load(const std::string& path); void Load(); static Fish_FishCFG* GetSingleton(); private: boost::unordered_map mMapData; };