众所周知,一个好的项目都是模块化非常明确,分工明细。Unity开发时候经常碰到提示框或者对话框的文本显示,而这个如果都是图片未免也太过于浪费,而且也不利于后续的维护和修改。我就写了一个脚本专门用来管理这些文本。代码如下:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Text;
using EnumState;
public class TaskControl{
public static Dictionary<int, string[]> TasksDict;
<span style="white-space:pre"> </span>// Use this for initialization
public static void Init()
{
TextAsset ta = Resources.Load("Task") as TextAsset;
StringReader sr = new StringReader(Encoding.UTF8.GetString(ta.bytes));
char[] sp1 = { ',' };
char[] sp2 = { ';' };
TasksDict = new Dictionary<int, string[]>();
while (true)
{
string line = sr.ReadLine();
if (line == null)
{
return;
}
if (line == "" || line == " ")
{
continue;
}
string[] data = line.Split(sp1, System.StringSplitOptions.RemoveEmptyEntries);
if (data == null)
{
Debug.LogError("sddddddddddddddd" + line);
continue;
}
TasksDict[int.Parse(data[0])] = data[1].Split(sp2, System.StringSplitOptions.RemoveEmptyEntries);
}
}
<span style="white-space:pre"> </span>public static string[] GetTask(int key)
{
if(TasksDict==null )
{
Init();
}
if(!TasksDict.ContainsKey(key))
{
Debug.LogError("sdsdddddd" + key);
return null;
}
return TasksDict[key];
} }
}
而,Text文件里面的内容如图所示
好了这样就可以方便的管理和使用文本显示啦。