示例#1
0
        public void Add(FilterData filter)
        {
            {
                var bits = filter.archetypeContains.value.BitsCount;
                for (int i = 0; i <= bits; ++i)
                {
                    if (filter.archetypeContains.value.HasBit(i) == true)
                    {
                        ArrayUtils.Resize(i, ref this.itemsContains, resizeWithOffset: true);
                        ref var item = ref this.itemsContains.arr[i];
                        if (item.isCreated == false)
                        {
                            item = new Item()
                            {
                                isCreated = true,
                                bit       = i,
                                index     = 0,
                            };
                        }

                        item.Add(filter);
                    }
                }
            }
示例#2
0
 public void Validate(int capacity)
 {
     ArrayUtils.Resize(capacity, ref this.values);
 }
示例#3
0
 public void Add(FilterData filterData)
 {
     ArrayUtils.Resize(this.index, ref this.filters, resizeWithOffset: true);
     this.filters.arr[this.index] = filterData.id;
     ++this.index;
 }
示例#4
0
 public void Validate(int capacity)
 {
     ArrayUtils.Resize(capacity, ref this.types);
     ArrayUtils.Resize(capacity, ref this.prevTypes);
 }