예제 #1
0
        public static EntityTurnIterationEndEvent alloc(Entity p_entity)
        {
            EntityTurnIterationEndEvent l_instance = new EntityTurnIterationEndEvent();

            l_instance.Entity = p_entity;
            return(l_instance);
        }
예제 #2
0
        /// <summary>
        /// The iteration loop is :
        ///     * Making a choice over a builded <see cref="_AI._DecisionTree.DecisionTree"/>.
        ///     * Queueing <see cref="AEvent"/> based on AI choice.
        /// </summary>
        /// <param name="p_eventQueue"></param>
        public override void Execute(EventQueue p_eventQueue)
        {
            ExternalHooks.Profiler_BeginSample("EntityTurnIterationEvent");

            if (TurnIteration.Iterate(Entity, p_eventQueue))
            {
                EventQueue.enqueueEvent(p_eventQueue, EntityTurnIterationEvent.alloc(Entity));
            }
            else
            {
                EventQueue.enqueueEvent(p_eventQueue, EntityTurnIterationEndEvent.alloc(Entity));
            }

            ExternalHooks.Profiler_EndSample();
        }