#pragma once
#include <boost/unordered_map.hpp>
#include <vector>
struct Fish_BulletCFGData
{
	//ID
	int mID;
	//子弹名字
	std::string mName;
	//子弹类型
	int mBulletType;
	//资源类型
	int mResType;
	//资源名字
	std::string mResName;
	//颜色
	int mColor;
	//缩放
	float mScale;
	//碰撞数据
	std::vector<float> mCollider;
	//子弹数量
	int mBulletCount;
	//击中类型
	int mHitType;
	//击中特效
	int mHitEffectID;
	//声音ID
	int mHitSoundID;
	//渔网特效
	int mNetEffect;
	//渔网直径
	int mNetSize;
	//渔网大小
	float mNetScale;
	//渔网数量
	int mNetCount;
	//渔网击中鱼次数
	int mNetHitCount;
	//子弹速度
	int mSpeed;
	//参数
	std::vector<int> mParam;
	//半径
	float mRadius;
};

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