统一管理Unity里面的Update

来源:互联网 发布:网络上骰宝赢钱技巧 编辑:程序博客网 时间:2024/05/16 15:08
public class MyTickManager : Singleton<MyTickManager>  {    private List<Action> updateList = new List<Action>();    /// <summary>    /// 防止添加Update()立刻移除,这样会出错    /// </summary>    private List<Action> tempUpdateList = new List<Action>();    public static void AddUpdate(Action action)    {       Instance.addUpdate(action);    }    private void addUpdate(Action action)    {        if (updateList.Contains(action) == true)        {            Debug.LogWarningFormat("{0} 这个Update已经存在", action.ToString());            return;        }        updateList.Add(action);    }    public static void RemoveUpdate(Action action)    {        Instance.removeUpdate(action);    }    public void removeUpdate(Action action)    {        if (updateList.Contains(action) == false)        {            Debug.LogWarningFormat("{0} 这个Update不存在", action.ToString());            return;        }        updateList.Remove(action);    }    public void MyUpdate()    {        if (updateList.Count == 0)            return;        tempUpdateList.Clear();        tempUpdateList.AddRange(updateList);        for (int i = 0; i < tempUpdateList.Count; i++)        {            tempUpdateList[i]();        }    }}

继承Singleton< T > http://blog.csdn.net/microsoftmsdnnet/article/details/48178405

工程下载:http://download.csdn.net/detail/microsoftmsdnnet/9619261

0 0
原创粉丝点击