public static Entity <Singletons> RemoveGlobalComponentReplacedListener <TScope, TComponent>( this Entity <Singletons> self, IComponentReplacedListener <TScope, TComponent> listener) { self.Get <ComponentReplacedListeners <TScope, TComponent> >().Listeners.Remove(listener); return(self); }
public static Entity <TScope> AddComponentReplacedListener <TScope, TComponent>( this Entity <TScope> self, IComponentReplacedListener <TScope, TComponent> listener) { if (!self.Has <ComponentReplacedListeners <TScope, TComponent> >()) { var list = ListPool <IComponentReplacedListener <TScope, TComponent> > .Instance.Get(); self.Add(new ComponentReplacedListeners <TScope, TComponent>(list)); } self.Get <ComponentReplacedListeners <TScope, TComponent> >().Listeners.Add(listener); return(self); }