public static TimerEvent Add(TimerEvent.Name timeName, Command pCommand, float deltaTimeToTrigger, bool repeat = true) { Debug.Assert(pCommand != null); Debug.Assert(deltaTimeToTrigger >= 0.0f); TimerMan pTimerMan = TimerMan.PrivGetInstance(); Debug.Assert(pTimerMan != null); float triggerTime = deltaTimeToTrigger + pTimerMan.mCurrTime; TimerEvent pPreNode = PrivLocateNode(triggerTime); TimerEvent pNode = (TimerEvent)pTimerMan.BaseAddToPosition(pPreNode); Debug.Assert(pNode != null); pNode.Set(timeName, pCommand, deltaTimeToTrigger, pTimerMan.mCurrTime, repeat); return(pNode); }