public void AddTimeListener(TimeListenerHandler handler, float delay,int handleCount) { if (_frameListenerList.Count == 0 && _timeListenerList.Count == 0) _prevTime = Time.time; _timeListenerList.Add(new TimeListener(delay, handler, Time.time, handleCount)); }
public void AddListener(TimeListenerHandler handler) { if (_frameListenerList.Count == 0 && _timeListenerList.Count == 0) _prevTime = Time.time; _frameListenerList.Add(handler); }
public TimeListener(float delay, TimeListenerHandler listener, float curTime, int handleNumber = -1) { _delay = delay; _listener = listener; _prevTime = curTime; this.handleNumber = handleNumber; }
public void RemoveTimeListener(TimeListenerHandler handler) { foreach (var timeListener in _timeListenerList) { if (handler == timeListener.listener) { _timeListenerList.Remove(timeListener); return; } } }
public void RemoveListener(TimeListenerHandler handler) { foreach(var listener in _frameListenerList) { if (handler == listener) { _frameListenerList.Remove(handler); return; } } }
public bool HasTimeListener(TimeListenerHandler handler) { foreach (var timeListener in _timeListenerList) { if (handler == timeListener.listener) { return true; } } return false; }
public bool HasListener(TimeListenerHandler handler) { foreach (var listener in _frameListenerList) { if (handler == listener) { return true; } } return false; }
public override void SetPlayingActionInfo(PlayingActionInfo playInfo) { base.SetPlayingActionInfo(playInfo); if (playInfo == null) { return; } m_aData = playInfo.actionData; m_srcNode = playInfo.srcNode as BaseNode; m_objNode = playInfo.actionData.ObjNode; displayNode.transform.SetParent((MapManager.Instance.CurrentMap as NormalMap).GetMapObject().transform); displayNode.transform.localPosition = m_startPt = m_srcNode.displayNode.transform.TransformPoint(m_srcNode.attackPoint); m_endPt = m_objNode.displayNode.transform.position + m_objNode.hitPoint; m_distanceToTarget = Vector3.Distance(m_startPt, m_endPt); m_timeHandle = new TimeListenerHandler(Shoot); TimeListenerManager.Instance.AddListener(m_timeHandle); }