public void RemoveTimer(TimerListener listener) { TimerListener l = _first; while (l != null) { if (l == listener) { if (l.prevListener != null) { l.prevListener.nextListener = l.nextListener; l.nextListener = null; } else { _first = l.nextListener; } if (l.nextListener != null) { l.nextListener.prevListener = l.prevListener; l.prevListener = null; } --_numListeners; } l = l.nextListener; } // Debug.Log("Remove: " + _numListeners); }
private void InitializeInEditor() { _time = t = 0f; _numListeners = n = 0; _tickerListenerPaddings = null; _first = prevListener = listener = l = ll = null; Start(); }
private TimerListener SetRemoveListener(TimerListener currentListener, TimerListener addListener) { if (currentListener != null) { currentListener.nextListener = addListener; addListener.prevListener = currentListener; } return(addListener); }
void Start() { _tickerListenerPaddings = new List <TimerListener>(); prevListener = null; for (int i = 0; i < 10; ++i) { TimerListener listener = new TimerListener(); if (prevListener != null) { prevListener.nextListener = listener; listener.prevListener = prevListener; } prevListener = listener; _tickerListenerPaddings.Add(listener); } }
public void AddTimer(TimerListener listener) { if (listener.nextListener != null || listener.prevListener != null) { return; } if (_first != null) { if (_first.prevListener != null) { _first.prevListener.nextListener = listener; listener.prevListener = _first.prevListener; } listener.nextListener = _first; _first.prevListener = listener; } _first = listener; ++_numListeners; // Debug.Log("Add: " + _numListeners); }
protected virtual void UpdateTickers() { this.TimeSet(); t = _time; for (int i = 0; i < _deltaTimeLength; ++i) { this._deltaTimeArray[i].Update(_time); } n = 8 - (_numListeners % 8); listener = _tickerListenerPaddings[0]; l = _tickerListenerPaddings[n]; ll = null; if ((l.nextListener = _first) != null) { _first.prevListener = l; } TimerListener removeListener = null; while (listener.nextListener != null) { if ((listener = listener.nextListener).Tick(t)) { if (listener.prevListener != null) { listener.prevListener.nextListener = listener.nextListener; } if (listener.nextListener != null) { listener.nextListener.prevListener = listener.prevListener; } if (listener == _first) { _first = listener.nextListener; } ll = listener.prevListener; listener.nextListener = null; listener.prevListener = null; removeListener = listener; listener = ll; --_numListeners; } if ((listener = listener.nextListener).Tick(t)) { if (listener.prevListener != null) { listener.prevListener.nextListener = listener.nextListener; } if (listener.nextListener != null) { listener.nextListener.prevListener = listener.prevListener; } if (listener == _first) { _first = listener.nextListener; } ll = listener.prevListener; listener.nextListener = null; listener.prevListener = null; removeListener = listener; listener = ll; --_numListeners; } if ((listener = listener.nextListener).Tick(t)) { if (listener.prevListener != null) { listener.prevListener.nextListener = listener.nextListener; } if (listener.nextListener != null) { listener.nextListener.prevListener = listener.prevListener; } if (listener == _first) { _first = listener.nextListener; } ll = listener.prevListener; listener.nextListener = null; listener.prevListener = null; removeListener = listener; listener = ll; --_numListeners; } if ((listener = listener.nextListener).Tick(t)) { if (listener.prevListener != null) { listener.prevListener.nextListener = listener.nextListener; } if (listener.nextListener != null) { listener.nextListener.prevListener = listener.prevListener; } if (listener == _first) { _first = listener.nextListener; } ll = listener.prevListener; listener.nextListener = null; listener.prevListener = null; removeListener = listener; listener = ll; --_numListeners; } if ((listener = listener.nextListener).Tick(t)) { if (listener.prevListener != null) { listener.prevListener.nextListener = listener.nextListener; } if (listener.nextListener != null) { listener.nextListener.prevListener = listener.prevListener; } if (listener == _first) { _first = listener.nextListener; } ll = listener.prevListener; listener.nextListener = null; listener.prevListener = null; removeListener = listener; listener = ll; --_numListeners; } if ((listener = listener.nextListener).Tick(t)) { if (listener.prevListener != null) { listener.prevListener.nextListener = listener.nextListener; } if (listener.nextListener != null) { listener.nextListener.prevListener = listener.prevListener; } if (listener == _first) { _first = listener.nextListener; } ll = listener.prevListener; listener.nextListener = null; listener.prevListener = null; removeListener = listener; listener = ll; --_numListeners; } if ((listener = listener.nextListener).Tick(t)) { if (listener.prevListener != null) { listener.prevListener.nextListener = listener.nextListener; } if (listener.nextListener != null) { listener.nextListener.prevListener = listener.prevListener; } if (listener == _first) { _first = listener.nextListener; } ll = listener.prevListener; listener.nextListener = null; listener.prevListener = null; removeListener = listener; listener = ll; --_numListeners; } if ((listener = listener.nextListener).Tick(t)) { if (listener.prevListener != null) { listener.prevListener.nextListener = listener.nextListener; } if (listener.nextListener != null) { listener.nextListener.prevListener = listener.prevListener; } if (listener == _first) { _first = listener.nextListener; } ll = listener.prevListener; listener.nextListener = null; listener.prevListener = null; removeListener = listener; listener = ll; --_numListeners; } } if ((_first = l.nextListener) != null) { _first.prevListener = null; } l.nextListener = _tickerListenerPaddings[n + 1]; if (removeListener != null) { removeListener.TickerRemoved(); } }
public void RemoveTimer(TimerListener listener) { }
public void AddTimer(TimerListener listener) { }