public static void Update() { Scale.MainUpdate(); UserAction.Update(); RenderForm.LoadAction(); InputCaret.UpdateCaret(); Keyboard.DispatchEvent(); RenderForm.ApplyAll(); ThreadMission.ExtcuteMain(); ModelManagerUI.RecycleGameObject(); AnimationManage.Manage.Update(); AllTime += Time.deltaTime; mission.AddSubMission(SubThread, null); }
public static void AddMission(Action <object> action, object dat, string tag = null, Action <object> wait = null) { if (threads == null) { return; } for (int i = 0; i < threads.Count; i++) { if (threads[i].Tag == tag) { threads[i].AddSubMission(action, dat, wait); return; } } var mis = new ThreadMission(null); mis.AddSubMission(action, dat, wait); threads.Add(mis); }
static void ExtcuteMain(ThreadMission mission) { for (int j = 0; j < 2048; j++) { var m = mission.MainMission.Dequeue(); if (m == null) { mission.mainFree = true; break; } else { mission.mainFree = false; m.action(m.data); if (m.waitAction != null) { mission.AddSubMission(m.waitAction, m.data); } } } }