#pragma once
#include <boost/unordered_map.hpp>
#include <vector>
struct M_heroData
{
	//ID
	int mID;
	//英雄名称
	std::string mname;
	//英雄品质
	int mgrade_type;
	//默认拥有
	int mdefault_have;
	//技能
	int mskill_id;
	//属性
	int mattribute;
	//攻击力
	int matk;
	//英雄图标
	std::string micon;
	//英雄形象
	std::string maspect;
	//移动速度
	float mspeed;
	//缩放倍数
	float mzoom_factor;
};

class M_hero
{
public:
private:
	static std::auto_ptr<M_hero> msSingleton;
public:
	int GetCount();
	const M_heroData* GetData(int ID);
	boost::unordered_map<int, M_heroData>& GetMapData();
	void Reload();
	void Load(const std::string& path);
	void Load();
	static M_hero* GetSingleton();
private:
	boost::unordered_map<int, M_heroData> mMapData;
};
