自己写的UnitY实用小工具或脚本——文本管理器

来源:互联网 发布:linux kill firefox 编辑:程序博客网 时间:2024/05/22 05:00

众所周知,一个好的项目都是模块化非常明确,分工明细。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文件里面的内容如图所示

好了这样就可以方便的管理和使用文本显示啦。

0 0