Exemplo n.º 1
0
        public void TestMethodCreateData()
        {
            long             activeTime       = 10;
            TrafficLightData trafficLightData = new TrafficLightData(activeTime);

            Assert.AreEqual(activeTime, trafficLightData.TotalTimeRain);
        }
Exemplo n.º 2
0
        public IDictionary <EntityId, Entity> Build(ISnapshot snapshot)
        {
            Debug.LogFormat("Building..");

            var entities        = new Dictionary <EntityId, Entity>();
            var currentEntityId = 1;

            entities.Add(new EntityId(currentEntityId++), EntityTemplateFactory.CreatePlayerCreatorTemplate());

            AddVehicles(ref currentEntityId, entities, snapshot);

            if (snapshot.HasTrafficLight)
            {
                var position = new Vector3(SimulationSettings.TrackRadius + 2f, 0f, 0f);
                var data     = new TrafficLightData(0, 8f, 2f, 20f, 2f);
                entities.Add(new EntityId(currentEntityId++), EntityTemplateFactory.CreateTrafficLightTemplate(position, Quaternion.Euler(0f, 180f, 0f), data));
            }

            return(entities);
        }
 public static Entity CreateTrafficLightTemplate(Vector3 position, Quaternion rotation, TrafficLightData data)
 {
     return(EntityBuilder.Begin()
            .AddPositionComponent(position, CommonRequirementSets.PhysicsOnly)
            .AddMetadataComponent(entityType: SimulationSettings.TrafficLightPrefabName)
            .SetPersistence(true)
            .SetReadAcl(CommonRequirementSets.PhysicsOrVisual)
            .AddComponent(new Rotation.Data(rotation.ToNativeQuaternion()), CommonRequirementSets.PhysicsOnly)
            .AddComponent(new TrafficLight.Data(data), CommonRequirementSets.PhysicsOnly)
            .Build());
 }