コード例 #1
0
        public IFilterBase Clone()
        {
            var instance = PoolFilters.Spawn <Filter <TState, TEntity> >();

            instance.CopyFrom(this);
            return(instance);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
ファイル: PoolFilters.cs プロジェクト: cleancoindev/ecs
 public static void Recycle <T>(ref T system) where T : class, IFilterBase
 {
     PoolFilters.Recycle(system);
     system = null;
 }
コード例 #4
0
 public void Recycle()
 {
     PoolFilters.Recycle(this);
 }
コード例 #5
0
ファイル: PoolFilters.cs プロジェクト: serjabc/ecs-submodule
 public static void Recycle <T>(ref T system) where T : class
 {
     PoolFilters.Recycle(system);
     system = default;
 }