private void Add(MonoBehaviour mb, int updateOrder, UpdateManager.OnUpdate func, List <UpdateManager.UpdateEntry> list) { int num = 0; int count = list.Count; while (num < count) { if (list[num].func == func) { return; } num++; } UpdateManager.UpdateEntry updateEntry = new UpdateManager.UpdateEntry() { index = updateOrder, func = func, mb = mb, isMonoBehaviour = mb != null }; list.Add(updateEntry); if (updateOrder != 0) { list.Sort(new Comparison <UpdateManager.UpdateEntry>(UpdateManager.Compare)); } }
private void Add(MonoBehaviour mb, int updateOrder, UpdateManager.OnUpdate func, List <UpdateManager.UpdateEntry> list) { int i = 0; int count = list.Count; while (i < count) { UpdateManager.UpdateEntry updateEntry = list[i]; if (updateEntry.func == func) { return; } i++; } list.Add(new UpdateManager.UpdateEntry { index = updateOrder, func = func, mb = mb, isMonoBehaviour = (mb != null) }); if (updateOrder != 0) { list.Sort(new Comparison <UpdateManager.UpdateEntry>(UpdateManager.Compare)); } }
private static int Compare(UpdateManager.UpdateEntry a, UpdateManager.UpdateEntry b) { if (a.index < b.index) { return(1); } if (a.index > b.index) { return(1); } return(0); }
private void UpdateList(List <UpdateManager.UpdateEntry> list, float delta) { int i = list.Count; while (i > 0) { UpdateManager.UpdateEntry updateEntry = list[--i]; if (updateEntry.isMonoBehaviour) { if (updateEntry.mb == null) { list.RemoveAt(i); continue; } if (!updateEntry.mb.enabled || !NGUITools.GetActive(updateEntry.mb.gameObject)) { continue; } } updateEntry.func(delta); } }
private void UpdateList(List <UpdateManager.UpdateEntry> list, float delta) { int count = list.Count; while (count > 0) { int num = count - 1; count = num; UpdateManager.UpdateEntry item = list[num]; if (item.isMonoBehaviour) { if (item.mb == null) { list.RemoveAt(count); continue; } else if (!item.mb.enabled || !item.mb.gameObject.activeInHierarchy) { continue; } } item.func(delta); } }
private void Add(MonoBehaviour mb, int updateOrder, UpdateManager.OnUpdate func, List<UpdateManager.UpdateEntry> list) { int num = 0; int count = list.Count; while (num < count) { if (list[num].func == func) { return; } num++; } UpdateManager.UpdateEntry updateEntry = new UpdateManager.UpdateEntry() { index = updateOrder, func = func, mb = mb, isMonoBehaviour = mb != null }; list.Add(updateEntry); if (updateOrder != 0) { list.Sort(new Comparison<UpdateManager.UpdateEntry>(UpdateManager.Compare)); } }