public static Entity <Singletons> AddGlobalComponentAddedListener <TScope, TComponent>( this Entity <Singletons> self, IComponentAddedListener <TScope, TComponent> listener) { self.Get <ComponentAddedListeners <TScope, TComponent> >().Listeners.Add(listener); return(self); }
public static Entity <TScope> RemoveComponentAddedListener <TScope, TComponent>( this Entity <TScope> self, IComponentAddedListener <TScope, TComponent> listener) { self.Get <ComponentAddedListeners <TScope, TComponent> >().Listeners.Remove(listener); return(self); }
public static Entity <TScope> AddComponentAddedListener <TScope, TComponent>( this Entity <TScope> self, IComponentAddedListener <TScope, TComponent> listener) { if (!self.Has <ComponentAddedListeners <TScope, TComponent> >()) { var list = ListPool <IComponentAddedListener <TScope, TComponent> > .Instance.Get(); self.Add(new ComponentAddedListeners <TScope, TComponent>(list)); } self.Get <ComponentAddedListeners <TScope, TComponent> >().Listeners.Add(listener); return(self); }