现在开始处理游戏的背包系统。
处理背包系统的第一步是读取物品信息,即将我们设计好的物品读取到内存中,实现调用。
思路:①建立txt文本,设计物品信息;②建立ObjectsInfo类,在类中读取txt文本中的信息。
脚本如下:
①建立txt文本
序号 名称 icon名称 类型 hp mp price_sell.price_buy
1001,生命药水,icon_01,Drug,100,0, 50,100
1002,魔法药水,icon_02,Drug,0,100, 60,120
②建立ObjectsInfo类
Class ObjectsInfo
{
public static ObjectsInfo _intance;
public TextAsset objectText;
public Dictionary <int,ObjectInfo> ObjectInfoDict = new Dictionary<int,ObjectInfo>();
void Awake()
{
_intance = this;
Readinfo();
}
public ObjectInfo GetObjectInfoById(int id)
{
ObjectInfo = null;
ObjectInfoDict.TryGetValue(id,out info);
return info;
}
public void ReadInfo( )
{
string text = objectText.text;
string[ ] strArray = text.Split('\n');
foreach( string str in strArray )
{
ObjectInfo info = new ObjectInfo( );
stringp[] strPro = str.Split(',');
int id = int.Parse(strPro[0]);
string name = strPro[1];
string icon_name = strPro[2];
string strType = strPro[3];
info.id = id; info.name = name; info.icon_name = icon_name;
ObjectType type = ObjectType.Drug;
switch( strType)
{
case "Drug":
type = Object.Drug;
break;
case "Equip":
type = Object.Equip;
break;
case "Mat":
type = Object.Mat;
break;
}
info.type = type;
if(type == Object.Drug)
{
int hp = strPro[4];
in mp = strPro[5];
int price_sell = strPro[6];
int price_buy = strPro[7];
info.hp = hp;info.mp =mp;info.price_sell = price_sell; info.price_buy = price_buy;
}
ObjectInfoDict.Add(id,info);
}
}
public eunm ObjectType{Drug,Equip,Mat}
public Class ObjectInfo
{
public int id,hp,mp,price_sell,price_buy;
public string name,icon_name,type;
}
以上便实现了物品信息存储到内存空间,本日总结到此为止。