#pragma once
#include <map>
struct M_magic_array_configData
{
	//ID
	int64_t mID;
	//等级
	int mlevel;
	//升级消耗(道具ID,数量)
	std::vector<int> mup_cost;
	//攻击消耗(道具ID,数量)
	std::vector<int> matk_cost;
	//解锁奖励(道具ID,数量)
	std::vector<int> mun_lock_award;
	//攻击
	int matk;
	//生命
	int mhp;
	//图标
	std::string micon;
	//魔导石掉落
	std::string mm_stone;
	//魔法石掉落（百分比）
	float mmgc_stone;
};

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