Exemplo n.º 1
0
        public static TurnTimeline alloc()
        {
            TurnTimeline l_instance = new TurnTimeline();

            l_instance.TimelineOrderingDatas = new RefDictionary <Entity, EntityTurnTimelineCalculationData>();

            MyEvent <AEntityComponent> .IEventCallback l_turnTimelineComponentAddedEvent = OnTurnTimelineEllibilityComponentAdded.build(l_instance);
            l_instance.TurnTimelineElligibilityComponentAddedEventHandler =
                EntityComponentContainer.registerComponentAddedEvent <TurnTimelineElligibility>(ref l_turnTimelineComponentAddedEvent);

            MyEvent <AEntityComponent> .IEventCallback l_turnTimelineComponentRemovedEvent = OnTurnTimelineEllibilityComponentRemoved.build(l_instance);
            l_instance.TurnTimelineElligibilityComponentRemovedEventHandler =
                EntityComponentContainer.registerComponentRemovedEvent <TurnTimelineElligibility>(ref l_turnTimelineComponentRemovedEvent);

            if (EntityComponentContainer.Components.ContainsKey(typeof(TurnTimelineElligibility)))
            {
                List <AEntityComponent> l_turnTimelineElligiblityComponents = EntityComponentContainer.Components[typeof(TurnTimelineElligibility)];
                if (l_turnTimelineElligiblityComponents != null)
                {
                    for (int i = 0; i < l_turnTimelineElligiblityComponents.Count; i++)
                    {
                        OnTurnTimelineEllibilityComponentAdded.AddTurnTimelineEllibilityToTimeline(l_instance, (TurnTimelineElligibility)l_turnTimelineElligiblityComponents[i]);
                    }
                }
            }

            TurnTimelineContainer.UniqueTurnTimeline = l_instance;

            return(l_instance);
        }
Exemplo n.º 2
0
 public static void free(TurnTimeline p_turnTimeline)
 {
     EntityComponentContainer.unRegisterComponentAddedEvent <TurnTimelineElligibility>(p_turnTimeline.TurnTimelineElligibilityComponentAddedEventHandler);
     EntityComponentContainer.unRegisterComponentRemovedEvent <TurnTimelineElligibility>(p_turnTimeline.TurnTimelineElligibilityComponentRemovedEventHandler);
 }