public IFilterBase Clone() { var instance = PoolFilters.Spawn <Filter <TState, TEntity> >(); instance.CopyFrom(this); return(instance); }
public static IFilter <TState, TEntity> Create(ref IFilter <TState, TEntity> filter, string customName = null) { var f = PoolFilters.Spawn <Filter <TState, TEntity> >(); f.name = customName != null ? customName : nameof(filter); f.tempNodes = new List <IFilterNode>(); f.tempNodesCustom = new List <IFilterNode>(); filter = f; return(filter); }
public static void Recycle <T>(ref T system) where T : class, IFilterBase { PoolFilters.Recycle(system); system = null; }
public void Recycle() { PoolFilters.Recycle(this); }
public static void Recycle <T>(ref T system) where T : class { PoolFilters.Recycle(system); system = default; }