public void AddEvent(TimeEvent eventToAdd, TimeEventHandler eventHandler) { eventToAdd.frame = currentFrame; eventToAdd.handler = eventHandler; TimeEventGameObject go = GetTimeEventGameObject(eventHandler.gameObject); go.timeEvents.Add(eventToAdd); go.nonPlayerObject = eventHandler.nonPlayerHandler; }
public void RemoveFutureEvents(TimeEventGameObject go) { for (int i = go.timeEvents.Count - 1; i >= 0; i--) { if (go.timeEvents[i].frame > currentFrame) { go.timeEvents.RemoveAt(i); } } }
public TimeEventGameObject GetTimeEventGameObject(GameObject gameObject) { TimeEventGameObject timeEventGameObject = null; foreach (TimeEventGameObject go in timeEventGameObjects) { if (go.gameObject == gameObject) { timeEventGameObject = go; break; } } if (timeEventGameObject == null) { timeEventGameObject = new TimeEventGameObject(gameObject); timeEventGameObjects.Add(timeEventGameObject); } return(timeEventGameObject); }