#pragma once
#include <map>
struct M_VIPProfitCFGData
{
	//vip等级
	int mVipLv;
	//升级所需经验
	int mVipExp;
	//领取在线奖励次数
	int mOnlineReward;
	//每日送龙珠上限
	int mMaxGiftslimit;
	//解锁礼物
	std::vector<std::string> mGiftUnlock;
	//房间解锁
	std::vector<std::string> mRoomUnlock;
	//捕鱼功能解锁
	std::vector<std::string> mFishItemUnlock;
	//尊贵VIP标志
	int mVipName;
	//每天赠送礼券
	int mGiveTicket;
	//签到额外奖励
	int mAttendance;
	//每日抽奖次数上限
	int mDailyLottery;
	//破产礼包配置
	int mBrokenGift;
	//破产救济金
	int mBankruptcyRelief;
	//金币不足补齐
	int mTodayMaxGold;
	//专有火炮
	int mPropGun;
	//火炮名字
	std::string mPropGunName;
	//炮图片名称
	std::string mPropGunNameImg;
	//火炮图标
	std::string mPropGunIcon;
	//是否可抽
	std::vector<int> mCanStar;
	//是否必中
	std::vector<int> mStarFixed;
	//每天购买材料礼包的上限
	int mBuyMaterialsGiftLimit;
	//购买次数限制的周礼包
	int mBuyWeekLimit;
	//礼包商店显示ID顺序
	std::vector<int> mBagShopSort;
	//金币商店显示ID顺序
	std::vector<int> mGoldShopSort;
	//钻石商店显示ID顺序
	std::vector<int> mGemShopSort;
	//竞技场炮台加成系数(仅显示)
	int mTurretAddRate;
	//魔石兑换次数
	int mSquamaExchange;
	//发布空投次数
	int mAirDropsNumber;
	//在线领取倍数
	float mOnlineRewardMultiples;
	//聚宝金龟场游玩时间/s
	int mGoldenTurtleTime;
	//充值金币额外赠送
	int mRechargeGoldRewardEx;
	//vip大奖显示
	std::vector<int> mDisplayVipReward1;
	//vip大奖
	std::vector<int> mVipReward1;
	//vip奖显示
	std::vector<int> mDisplayVipReward2;
	//竞技场vip加成
	int mArenaUp;
	//VIP每日兑换话费券
	int mVipMoney;
	//vip奖励
	std::vector<int> mVipReward2;
	//个人池返还(百分比)
	int mPersonalPoolRebate;
};

class M_VIPProfitCFG
{
public:
private:
	static std::auto_ptr<M_VIPProfitCFG> msSingleton;
public:
	int GetCount();
	const M_VIPProfitCFGData* GetData(int VipLv);
	const std::map<int, M_VIPProfitCFGData>& GetMapData();
	void Load();
	void LoadLua();
	void Reload();
	static M_VIPProfitCFG* GetSingleton();
	static void Release();
private:
	std::map<int, M_VIPProfitCFGData> mMapData;
};
