public void AddNotifys(MainUIThread mono) { main_mono = mono; if (main_mono != null) { main_mono.CallBack.Add(eMonoMessageType.Awake, instance.Awake); main_mono.CallBack.Add(eMonoMessageType.OnEnable, instance.OnEnable); main_mono.CallBack.Add(eMonoMessageType.Start, instance.Start); main_mono.CallBack.Add(eMonoMessageType.Update, instance.Update); main_mono.CallBack.Add(eMonoMessageType.OnDestory, instance.OnDestory); main_mono.CallBack.Add(eMonoMessageType.FixedUpdate, instance.FixedUpdate); main_mono.CallBack.Add(eMonoMessageType.OnDisable, instance.OnDisable); main_mono.CallBack.Add(eMonoMessageType.OnGUI, instance.OnGUI); } }
public static MainUIThread GetInstance() { if (ui == null) { ui = GameObject.FindObjectOfType(typeof(MainUIThread)) as MainUIThread; if (!ui) { GameObject obj = new GameObject("_MainUIThread"); GameObject.DontDestroyOnLoad(obj); ui = obj.AddComponent <MainUIThread>(); ICLRType program = LSharpModule.env.GetType("GameUI.Program"); IMethod main = program.GetMethod("GetInstance", MethodParamList.constEmpty()); object program_object = main.Invoke(ThreadContext.activeContext, null, null); IMethod method_AddNotifys = program.GetMethod("AddNotifys", MethodParamList.Make(LSharpModule.env.GetType(typeof(MainUIThread)))); method_AddNotifys.Invoke(ThreadContext.activeContext, program_object, new object[] { ui }); } } return(ui); }
IEnumerator WWWLoad(string name) { WWW www = new WWW(path + name + dll_suffix); yield return(www); if (www.isDone) { System.IO.MemoryStream msDll = new System.IO.MemoryStream(www.bytes); www = new WWW(path + name + pdb_suffix); yield return(www); if (www.isDone) { System.IO.MemoryStream msPdb = new System.IO.MemoryStream(www.bytes); env.LoadModule(msDll, msPdb, new Mono.Cecil.Pdb.PdbReaderProvider()); Debug.Log("LoadModule MyHelloWorld.dll is done."); MainUIThread.GetInstance(); Application.LoadLevel("Hall"); } } }