コード例 #1
0
        public static Entity AddEntity()
        {
            Entity newEntity;

            if (removed.Count > 0) //allocates empty/deallocated spaces in entities
            {
                Entity oldEntity      = removed.Pop();
                ushort oldEntityIndex = oldEntity.Index;
                ushort oldEntityGen   = oldEntity.Gen;
                newEntity = oldEntity.SetGen((ushort)(oldEntityGen + 1));
                ApiProvider.AddEntityToScene(newEntity);
                entities[oldEntityIndex] = newEntity;
            }
            else //adds entity by increasing entity list size
            {
                newEntity = Entity.Create((ushort)entities.Count, BASE_GEN);
                ApiProvider.AddEntityToScene(newEntity);
                entities.Add(newEntity);
            }
            newEntity.AddComponent <Parent>();
            return(newEntity);
        }