コード例 #1
0
ファイル: IndexPool.cs プロジェクト: BanMing/BMBaseCore
 public void Dispose()
 {
     _pool             = null;
     _current          = 0;
     _next             = 0;
     _iteratingVersion = 0;
 }
コード例 #2
0
ファイル: IndexPool.cs プロジェクト: BanMing/BMBaseCore
 public Enumerator(IndexPool pool)
 {
     _pool             = pool;
     _current          = -1;
     _next             = pool.firstUsed;
     _iteratingVersion = pool.Version;
 }
コード例 #3
0
ファイル: EntityContext.cs プロジェクト: BanMing/BMBaseCore
        public override void Destroy()
        {
            base.Destroy();

            _entityPool.ReleaseAll();
            _entityPool = null;

            entities       = null;
            Instance       = null;
            componentFlags = null;

            _components = null;
        }
コード例 #4
0
ファイル: EntityContext.cs プロジェクト: BanMing/BMBaseCore
        public override void Initialize()
        {
            base.Initialize();

            Assert.Debug(Instance == null, "entity system has already been initialized");

            Instance    = this;
            _entityPool = new IndexPool(_capacity, TypeName + typeof(TEntity).Name);

            entities        = new Entity <TEntity> [_capacity];
            componentFlags  = new ComponentFlags[_capacity];
            _components     = new object[_capacity];
            _componentCount = 0;
        }