private void render() { int len = handlerList.Count; tempHandle.Clear(); float currentTime = Time.time; for (int i = len - 1; i > -1; i--) { if (currentTime > timeList[i]) { tempHandle.Add(handlerList[i]); handlerList.RemoveAt(i); timeList.RemoveAt(i); } } len = tempHandle.Count; for (int i = len - 1; i > -1; i--) { tempHandle[i](); } if (handlerList.Count == 0) { TickManager.remove(render); } }
protected virtual void OnDrawGizmos() { if (Application.isPlaying) { TickManager.getInstance().gizmos(); } }
private void forceTime(float now) { int total = 0; List <IAutoReleaseRef> clearList = new List <IAutoReleaseRef>(); foreach (IAutoReleaseRef res in pool.Keys) { total++; if (now - pool[res] > TIMEOUT) { clearList.Add(res); } } int len = clearList.Count; if (len > 0) { foreach (IAutoReleaseRef res in clearList) { res.__dispose(); pool.Remove(res); } } if (pool.Count == 0) { TickManager.Remove(tick); } }
public void render(float deltaTime) { if (len < 1) { TickManager.Remove(render); return; } float now = Time.realtimeSinceStartup; float dis = now - pre; if (dis < delayTime - 0.016f) { return; } pre = now; dispatching = true; SignalNode <float> t = firstNode; List <SignalNode <float> > temp = GetSignalNodeList(); while (t != null) { if (t.active == NodeActiveState.Runing) { float delta = delayTime; if (t.data != -1) { delta = t.data - pre; if (delta < 0) { ___removeHandle(t.action); } } t.action(delta); } temp.Add(t); t = t.next; } dispatching = false; int l = temp.Count; for (int i = 0; i < l; i++) { SignalNode <float> item = temp[i]; if (item.active == NodeActiveState.ToDoDelete) { _remove(item, item.action); } else if (item.active == NodeActiveState.ToDoAdd) { item.active = NodeActiveState.Runing; } } Recycle(temp); }
public override void OnPointerUp(PointerEventData eventData) { isDown = false; if (mouseEnterEnabled) { TickManager.Remove(tick); } this.simpleDispatch(MouseEventX.MOUSE_UP, eventData); base.OnPointerUp(eventData); }
private void _forceAll() { foreach (IAutoReleaseRef res in pool.Keys) { res.__dispose(); } pool.Clear(); isRunning = false; TickManager.remove(tick); }
private void _add(IAutoReleaseRef value) { if (pool.ContainsKey(value)) { //更新刷新时间; pool[value] = Time.realtimeSinceStartup; return; } pool.Add(value, Time.realtimeSinceStartup); TickManager.Add(tick); }
public override void OnPointerDown(PointerEventData eventData) { isDown = true; if (mouseEnterEnabled) { TickManager.Add(tick); } this.simpleDispatch(MouseEventX.MOUSE_DOWN, eventData); base.OnPointerDown(eventData); }
private void add(Action <float> handler, float delayTime) { if (delayTime > 0) { delayTime = Time.realtimeSinceStartup + delayTime; } ___addHandle(handler, delayTime, true); if (len == 1) { TickManager.Add(render); } }
protected override IEnumerator doLoad() { www = new WWW(formatedURL(url)); if (checkProgress) { TickManager.add(progress); } yield return(www); if (checkProgress) { TickManager.remove(progress); } if (www == null) { _state = AssetState.FAILD; _data = null; string message = string.Format("加载文件失败:{0} 已被dispose", url); DebugX.Log(message); this.dispatchEvent(new EventX(EventX.FAILED, message)); } else { if (string.IsNullOrEmpty(www.error)) { // if (www.isDone) // { _state = AssetState.READY; _data = www.bytes; this.simpleDispatch(EventX.COMPLETE, _data); // } // else // { // _state = AssetState.FAILD; // _data = null; // string message = string.Format("加载文件失败:{0} 没有完成", url); // DebugX.Log(message); // this.dispatchEvent(new EventX(EventX.FAILED, message)); // } } else { _state = AssetState.FAILD; _data = null; string message = string.Format("加载文件失败:{0} error:{1}", url, www.error); DebugX.LogWarning(message); this.simpleDispatch(EventX.FAILED, message); } } }
private void add(float delayTime, Action handler) { ___addHandle(handler, Time.time + delayTime, true); if (len > 0) { TickManager.Add(render); } else if (firstNode != null) { TickManager.Add(render); DebugX.LogError("callLater 有bug:" + len); } }
private void add(float deletime, Action handler) { if (handlerList.IndexOf(handler) != -1) { return; } handlerList.Add(handler); timeList.Add(Time.time + deletime); if (handlerList.Count == 1) { TickManager.add(render); } }
private void _add(IAutoReleaseRef value) { if (pool.ContainsKey(value)) { return; } pool.Add(value, DateTime.Now.Ticks); if (isRunning == false) { isRunning = true; TickManager.add(tick); } }
public static bool remove(Action <int> value) { if (set.ContainsKey(value)) { set.Remove(value); } if (set.Count == 0) { pre = DateTime.MinValue; TickManager.remove(tick); } return(true); }
//private List<Action> tempHandle = new List<Action>(); private void render(float deltaTime) { if (len > 0) { dispatching = true; ActionNode <float> t = firstNode; List <ActionNode <float> > temp = GetSignalNodeList(); float now = Time.time; while (t != null) { if (t.active == NodeActiveState.Runing) { if (now > t.data) { Remove(t.action); t.action(); //DebugX.Log("callLater:" + now + ":" + t.data); } } temp.Add(t); t = t.next; } dispatching = false; int l = temp.Count; for (int i = 0; i < l; i++) { ActionNode <float> item = temp[i]; if (item.active == NodeActiveState.ToDoDelete) { _remove(item, item.action); } else if (item.active == NodeActiveState.ToDoAdd) { item.active = NodeActiveState.Runing; } } Recycle(temp); } else { TickManager.Remove(render); } }
public static bool add(Action <int> value, int time) { if (removes.Contains(value)) { removes.Remove(value); } if (set.ContainsKey(value)) { set[value] = time; } else { set.Add(value, time); if (set.Count == 1) { TickManager.add(tick); } } return(true); }
private void tick() { if ((timeCount += Time.deltaTime) < 3000) { return; } timeCount = 0; long now = DateTime.Now.Ticks; int total = 0; List <IAutoReleaseRef> clearList = new List <IAutoReleaseRef>(); foreach (IAutoReleaseRef res in pool.Keys) { total++; if (now - pool[res] > TIMEOUT) { clearList.Add(res); } } int len = clearList.Count; if (len > 0) { foreach (IAutoReleaseRef res in clearList) { res.__dispose(); pool.Remove(res); } } if (total == len) { isRunning = false; TickManager.remove(tick); } }
protected virtual void Update() { ResizeMananger.getInstance().resize(Screen.width, Screen.height); TickManager.getInstance().tick(); }
protected virtual void FixedUpdate() { InputManager.getInstance().update(); TickManager.getInstance().fixedTick(); }