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); }
public static void free(TurnTimeline p_turnTimeline) { EntityComponentContainer.unRegisterComponentAddedEvent <TurnTimelineElligibility>(p_turnTimeline.TurnTimelineElligibilityComponentAddedEventHandler); EntityComponentContainer.unRegisterComponentRemovedEvent <TurnTimelineElligibility>(p_turnTimeline.TurnTimelineElligibilityComponentRemovedEventHandler); }