public static TimeEvent Add(TimeEvent.Name eventName, Command pCommand, float deltaTimeToTrigger) { TimerManager pInstance = TimerManager.PrivGetInstance(); Debug.Assert(pInstance != null); // Retrieve a node from Reserve list TimeEvent pNewNode = (TimeEvent)pInstance.BaseGetNodeFromReserve(); Debug.Assert(pNewNode != null); Debug.Assert(pCommand != null); Debug.Assert(deltaTimeToTrigger >= 0.0f); // Set TimerEvent attributes pNewNode.Set(eventName, pCommand, deltaTimeToTrigger); // Add to Active List in sorted order AddToActiveListInSortedOrder(pInstance, pNewNode); return(pNewNode); }