void Add500Rooms(StateData stateData)
 {
     for (int i = 0; i < 500; i++)
     {
         stateData.AddObject(m_RoomType, out _, out _);
     }
 }
Esempio n. 2
0
        public static (TraitBasedObject, ObjectId) CreateKey(StateData testState, ColorValue color)
        {
            using (var keyType = new NativeArray <ComponentType>(2, Allocator.TempJob)
            {
                [0] = ComponentType.ReadWrite <Carriable>(), [1] = ComponentType.ReadWrite <Colored>()
            })
            {
                testState.AddObject(keyType, out var key, out var keyId);

                var carriables = testState.CarriableBuffer;
                carriables[key.CarriableIndex] = new Carriable {
                    Carrier = ObjectId.None
                };

                var coloreds = testState.ColoredBuffer;
                coloreds[key.ColoredIndex] = new Colored {
                    Color = color
                };

                return(key, keyId.Id);
            }
        }
Esempio n. 3
0
        public static (TraitBasedObject, ObjectId) CreateRoom(StateData testState, ColorValue color, bool locked = true)
        {
            using (var roomType = new NativeArray <ComponentType>(2, Allocator.TempJob)
            {
                [0] = ComponentType.ReadWrite <Lockable>(), [1] = ComponentType.ReadWrite <Colored>()
            })
            {
                testState.AddObject(roomType, out var room, out var roomId);

                var lockables = testState.LockableBuffer;
                var coloreds  = testState.ColoredBuffer;

                lockables[room.LockableIndex] = new Lockable {
                    Locked = locked
                };
                coloreds[room.ColoredIndex] = new Colored {
                    Color = color
                };

                return(room, roomId.Id);
            }
        }
Esempio n. 4
0
        public static (TraitBasedObject, ObjectId) CreateAgent(StateData testState, ObjectId keyId, ObjectId roomId)
        {
            using (var agentType = new NativeArray <ComponentType>(2, Allocator.TempJob)
            {
                [0] = ComponentType.ReadWrite <Carrier>(), [1] = ComponentType.ReadWrite <Localized>()
            })
            {
                testState.AddObject(agentType, out var agent, out var agentId);
                var carriers   = testState.CarrierBuffer;
                var localizeds = testState.LocalizedBuffer;

                var traitBasedObjects = testState.TraitBasedObjects;

                carriers[agent.CarrierIndex] = new Carrier {
                    CarriedObject = keyId
                };
                localizeds[agent.LocalizedIndex] = new Localized {
                    Location = roomId
                };

                var carriables = testState.CarriableBuffer;

                var objectIds = testState.TraitBasedObjectIds;
                for (int i = 0; i < objectIds.Length; i++)
                {
                    if (objectIds[i].Id == keyId)
                    {
                        carriables[traitBasedObjects[i].CarriableIndex] = new Carriable {
                            Carrier = agentId.Id
                        };
                    }
                }

                return(agent, agentId.Id);
            }
        }