Example #1
0
        public virtual void OnScheduleEvent(GameObject gameObject, ScheduleEventArgs e)
        {
            //Console.WriteLine("GameObject.OnScheduleEvent");

            ScheduleEventHandler handler = ScheduleEvent;

            handler?.Invoke(gameObject, e);
        }
Example #2
0
        private void OnScheduleEvent(GameObject gameObject, ScheduleEventArgs e)
        {
            GameTime scheduleTime = GameTime.Copy();

            scheduleTime.AddSeconds(e.SecondsUntilAction);
            //Schedule.Add(new ActionGroup(scheduleTime, e.Action, gameObject));

            ScheduleQueue.Insert(new ActionGroup(scheduleTime, e.Action, gameObject));

            // Pattern match for events that need extra listeners.
            if (e.Action is BirthAction && gameObject is Person p)
            {
                p.GiveBirth += EntityController.OnGiveBirth;
            }
        }