コード例 #1
0
        protected override void Prepare()
        {
            IterationCount = 1000;
            var entityManager = new EntityManager();
            var entityType1   = new ComponentType[]
            {
                ComponentType.Create <StructComponent>(),
                ComponentType.Create <Struct2Component>(),
                ComponentType.Create <ClassComponent>(),
            };
            var entityType2 = new ComponentType[]
            {
                ComponentType.Create <Struct2Component>(),
                ComponentType.Create <ClassComponent>(),
            };
            var entityType3 = new ComponentType[]
            {
                ComponentType.Create <Struct2Component>(),
                ComponentType.Create <StructComponent>()
            };
            var classObjects = new ClassComponent[entityCount];

            for (int i = classObjects.Length - 1; i >= 0; i--)
            {
                classObjects[i] = new ClassComponent(i);
            }
            for (var i = 0; i < entityCount; i++)
            {
                if (i % 3 == 0)
                {
                    var e = entityManager.CreateEntity(entityType1);
                    entityManager.SetComponent(e, classObjects[i]);
                }
                else if (i % 3 == 1)
                {
                    var e = entityManager.CreateEntity(entityType2);
                    entityManager.SetComponent(e, classObjects[i]);
                }
                else
                {
                    entityManager.CreateEntity(entityType3);
                }
            }
            structGroup = entityManager.RegisterGroup(new StructGroup());

            world = new World();
            for (int i = 0; i < entityCount; i++)
            {
                world.Entities.Add(new Entity(i));
            }
            world.Behaviours.Add(new EntityBehaviour());
        }
コード例 #2
0
        protected override void Prepare()
        {
            IterationCount = 10000;

            classGroup = new ClassGroup[entityCount];
            for (var i = entityCount - 1; i >= 0; i--)
            {
                classGroup[i] = new ClassGroup();
            }
            structGroup    = new StructGroup[entityCount];
            updatableClass = new IUpdatable[entityCount];
            for (var i = entityCount - 1; i >= 0; i--)
            {
                updatableClass[i] = new ClassGroup();
            }
            updatableStruct = new IUpdatable[entityCount];
            for (var i = entityCount - 1; i >= 0; i--)
            {
                updatableStruct[i] = new StructGroup();
            }
        }