解决线程调用主线程的问题
get_enabled can only be called from the main thread
ExecuteMain.Execute ( delegate() { StartUI.SetActive( false ) ; PrepareUI.SetActive( true ) ; lbList.text = str ; });
using UnityEngine; using System.Collections.Generic; using System.Collections; using System ; public class ExecuteMain : MonoBehaviour { List<Action> funcs ; public static ExecuteMain instance ; // Use this for initialization void Start () { instance = this; funcs = new List<Action> (); } // Update is called once per frame void Update () { if (funcs.Count > 0) { for( int i = funcs.Count-1 ; i >= 0 ; i --) { funcs[i]() ; funcs.Remove( funcs[i]) ; } } } public void Add( Action func) { funcs.Add (func); } public static void Execute( Action func) { instance.Add (func); } }