public IEnumerator PedestrianFullWalkTest() { DisableLoops(); DisableVehicles(); foreach (Pedestrian p in GameObject.FindObjectsOfType <Pedestrian>()) { GameObject.Destroy(p); } foreach (PedestrianCrossing pedestrianCrossing in PedestrianManager.GetInstance().GetPedestrianCrossings()) { pedestrianCrossing.SetAllowCrossing(true); } PedestrianFactory pedestrianFactory = GameObject.FindObjectOfType <PedestrianFactory>(); pedestrianFactory.SpawnPedestrian(); yield return(new WaitForSeconds(1)); Pedestrian pedestrian = GameObject.FindObjectOfType <Pedestrian>(); pedestrian.GetComponent <NavMeshAgent>().speed = 5; pedestrian.SetAllowCrossing(true); while (true) { yield return(new WaitForSeconds(1)); if (pedestrian == null) { break; } else { pedestrian.GetComponent <NavMeshAgent>().speed = 5; } } }
public void PhysicsUpdate() { //Client applications does not perform physics updates if (Loader.Instance.Network.IsClient) { return; } NPCManager.PhysicsUpdate(); PedestrianManager.PhysicsUpdate(); }
void Start() { if (type == WaypointType.Pedestrian) { pedManager = GameObject.Find("GameManager").GetComponent <PedestrianManager> (); pedManager.AddSpawner(gameObject); } else if (type == WaypointType.Car) { carManager = GameObject.Find("GameManager").GetComponent <AICarManager> (); carManager.AddSpawner(gameObject); } }
public void SetJunctionState(JunctionState junctionState) { this.currentState = junctionState.GetStateNumber(); foreach (JunctionState.TrafficLightState trafficLightState in junctionState.GetTrafficLightStates()) { TrafficLightManager.GetInstance().GetTrafficLight(trafficLightState.GetTrafficLightId()).SetColour(trafficLightState.GetLightColour()); } if (junctionState.GetPedestrianCrossingStates() != null) { foreach (JunctionState.PedestrianCrossingState pedestrianCrossingState in junctionState.GetPedestrianCrossingStates()) { PedestrianManager.GetInstance().GetPedestrianCrossing(pedestrianCrossingState.GetPedestrianCrossingId()).SetAllowCrossing(pedestrianCrossingState.AllowCrossing()); } } }
// Update is called once per frame void FixedUpdate() { PedestrianManager manager = GameObject.Find("Manager").GetComponent <PedestrianManager>(); spawnRate = manager.spawnSpeed; if (clock < spawnRate) { clock += Time.deltaTime; } else { SpawnFromPool("Pedestrian", spawnPoints[Random.Range(0, 4)].position); clock = 0; } }
void Start() { rb = GetComponent <Rigidbody> (); anim = GetComponent <Animator> (); jobManager = GameObject.Find("GameManager").GetComponent <JobManager> (); player = GameObject.Find("Player").gameObject; carDrive = player.GetComponent <CarDrive> (); tutorialManager = GameObject.Find("GameManager").GetComponent <TutorialManager> (); pedestrianManager = GameObject.Find("GameManager").GetComponent <PedestrianManager> (); passengerEnter = GameObject.Find("SFX").transform.Find("Passenger Enter").GetComponent <AudioSource> (); gameModeManager = GameObject.Find("GameManager").GetComponent <GameModeManager> (); noticesManager = GameObject.Find("GameManager").GetComponent <NoticesManager> (); moneyManager = GameObject.Find("GameManager").GetComponent <MoneyManager> (); // Set the skin to be a random texture torso.GetComponent <Renderer> ().material.SetTexture("_MainTex", textures [Random.Range(0, textures.Count)]); }
//private Hv_bangSynth_AudioLib audioLib; public void OnObjectSpawn() { rb = GetComponent <Rigidbody>(); if (rb == null) { Debug.LogError("Where's ur rb dude?"); } pointInDirection(); isTalking = false; isTalker = false; yourTalker = null; transform.rotation = Quaternion.identity; manager = GameObject.Find("Manager").GetComponent <PedestrianManager>(); //audioLib = manager.gameObject.GetComponent<Hv_bangSynth_AudioLib>(); speed = manager.speed; distToTravel = manager.distToTravel; manager.activePedestrians++; }
void Start() { roads = GameObject.FindGameObjectsWithTag("Road"); player = GameObject.Find("Player").gameObject; pedestrianManager = GameObject.Find("GameManager").GetComponent <PedestrianManager> (); noticesManager = GameObject.Find("GameManager").GetComponent <NoticesManager> (); passengerLeave = GameObject.Find("SFX").transform.Find("Passenger Leave").GetComponent <AudioSource> (); successSound = GameObject.Find("SFX").transform.Find("Success").GetComponent <AudioSource> (); failSound = GameObject.Find("SFX").transform.Find("Failure").GetComponent <AudioSource> (); moneyManager = GameObject.Find("GameManager").GetComponent <MoneyManager> (); tutorialManager = GameObject.Find("GameManager").GetComponent <TutorialManager> (); gameModeManager = GameObject.Find("GameManager").GetComponent <GameModeManager> (); passengerTimer.GetComponent <Text> ().text = ""; if (gameModeManager.gameMode == "default" || gameModeManager.gameMode == "countdown" || gameModeManager.gameMode == "collateral") { StartCoroutine("FindNewPassenger"); } else { destinationArrow.SetActive(false); } }
void Awake() { instance = this; }
public void PhysicsUpdate() { NPCManager.PhysicsUpdate(); PedestrianManager.PhysicsUpdate(); }
public void Init(int?seed = null) { if (ApiManager.Instance != null) { FixedUpdateManager = ApiManager.Instance; IsAPI = true; } else { FixedUpdateManager = Instance; IsAPI = false; } controls = new SimulatorControls(); controls.Enable(); SimulationConfig config = null; if (Loader.Instance != null) { config = Loader.Instance.SimConfig; } var masterSeed = seed ?? config?.Seed ?? new System.Random().Next(); RandomGenerator = new System.Random(masterSeed); //Calculate map bounds and limit position compression if (Loader.Instance != null && Loader.Instance.Network.IsClusterSimulation) { var mapBounds = CalculateMapBounds(); //Add margin to the bounds mapBounds.size += Vector3.one * 10; ByteCompression.SetPositionBounds(mapBounds); } ManagerHolder = new GameObject("ManagerHolder"); ManagerHolder.transform.SetParent(transform); AnalysisManager = Instantiate(analysisManagerPrefab, ManagerHolder.transform); AgentManager = Instantiate(agentManagerPrefab, ManagerHolder.transform); CameraManager = Instantiate(cameraManagerPrefab, ManagerHolder.transform); ControllableManager = Instantiate(controllableManagerPrefab, ManagerHolder.transform); MapManager = Instantiate(mapManagerPrefab, ManagerHolder.transform); NPCManager = Instantiate(npcManagerPrefab, ManagerHolder.transform); NPCManager.InitRandomGenerator(RandomGenerator.Next()); PedestrianManager = Instantiate(pedestrianManagerPrefab, ManagerHolder.transform); PedestrianManager.InitRandomGenerator(RandomGenerator.Next()); EnvironmentEffectsManager = Instantiate(environmentEffectsManagerPrefab, ManagerHolder.transform); EnvironmentEffectsManager.InitRandomGenerator(RandomGenerator.Next()); UIManager = Instantiate(uiManagerPrefab, ManagerHolder.transform); if (SystemInfo.operatingSystemFamily == OperatingSystemFamily.Linux && Application.isEditor) { // empty } else { controls.Simulator.ToggleNPCS.performed += ctx => NPCManager.NPCActive = !NPCManager.NPCActive; controls.Simulator.TogglePedestrians.performed += ctx => PedestrianManager.PedestriansActive = !PedestrianManager.PedestriansActive; controls.Simulator.ToggleAgent.performed += ctx => { if (int.TryParse(ctx.control.name, out int index)) { AgentManager.SetCurrentActiveAgent(index - 1); } }; controls.Simulator.ToggleReset.performed += ctx => AgentManager.ResetAgent(); controls.Simulator.ToggleControlsUI.performed += ctx => UIManager.UIActive = !UIManager.UIActive; } if (config != null) { simulationName = config.Name; clusterName = config.ClusterName; mapName = config.MapName; NPCManager.NPCActive = config.UseTraffic; PedestrianManager.PedestriansActive = config.UsePedestrians; if (config.Agents != null) { AgentManager.SpawnAgents(config.Agents); } apiMode = config.ApiOnly; headless = config.Headless; interactive = config.Interactive; useSeed = config.Seed.HasValue; npc = config.UseTraffic; pedestrian = config.UsePedestrians; timeOfDay = config.TimeOfDay.ToString("HH:mm"); rain = config.Rain; wet = config.Wetness; fog = config.Fog; cloud = config.Cloudiness; if (headless) { controls.Disable(); } } SIM.APIOnly = apiMode; SIM.LogSimulation(SIM.Simulation.SimulationStart, simulationName); SIM.LogSimulation(SIM.Simulation.ClusterNameStart, clusterName); SIM.LogSimulation(SIM.Simulation.MapStart, string.IsNullOrEmpty(mapName) ? UnityEngine.SceneManagement.SceneManager.GetActiveScene().name : mapName); SIM.LogSimulation(SIM.Simulation.HeadlessModeStart, state: headless); SIM.LogSimulation(SIM.Simulation.InteractiveModeStart, state: interactive); SIM.LogSimulation(SIM.Simulation.UsePredefinedSeedStart, state: useSeed); SIM.LogSimulation(SIM.Simulation.NPCStart, state: npc); SIM.LogSimulation(SIM.Simulation.RandomPedestrianStart, state: pedestrian); SIM.LogSimulation(SIM.Simulation.TimeOfDayStart, timeOfDay == "" ? string.Format("{0:hh}:{0:mm}", TimeSpan.FromHours(EnvironmentEffectsManager.currentTimeOfDay)) : timeOfDay); SIM.LogSimulation(SIM.Simulation.RainStart, rain == 0f ? EnvironmentEffectsManager.rain.ToString() : rain.ToString()); SIM.LogSimulation(SIM.Simulation.WetnessStart, wet == 0f ? EnvironmentEffectsManager.wet.ToString() : wet.ToString()); SIM.LogSimulation(SIM.Simulation.FogStart, fog == 0f ? EnvironmentEffectsManager.fog.ToString() : fog.ToString()); SIM.LogSimulation(SIM.Simulation.CloudinessStart, cloud == 0f ? EnvironmentEffectsManager.cloud.ToString() : cloud.ToString()); InitSegmenationColors(); WireframeBoxes = gameObject.AddComponent <WireframeBoxes>(); if (Loader.Instance != null) { TimeManager.Initialize(Loader.Instance.Network.MessagesManager); } Sensors.Initialize(); Loader.ResetMaterials(); // TODO remove Editor hack for 2019.3.3 bug once fixed IsInitialized = true; }
private void OnApplicationQuit() { _instance = null; DestroyImmediate(gameObject); }
public void Init(int?seed = null) { controls = new SimulatorControls(); controls.Enable(); var config = Loader.Instance?.SimConfig; var masterSeed = seed ?? config?.Seed ?? new System.Random().Next(); System.Random rand = new System.Random(masterSeed); AgentManager = Instantiate(agentManagerPrefab, transform); CameraManager = Instantiate(cameraManagerPrefab, transform); MapManager = Instantiate(mapManagerPrefab, transform); NPCManager = Instantiate(npcManagerPrefab, transform); NPCManager.InitRandomGenerator(rand.Next()); PedestrianManager = Instantiate(pedestrianManagerPrefab, transform); PedestrianManager.InitRandomGenerator(rand.Next()); EnvironmentEffectsManager = Instantiate(environmentEffectsManagerPrefab, transform); EnvironmentEffectsManager.InitRandomGenerator(rand.Next()); UIManager = Instantiate(uiManagerPrefab, transform); if (ApiManager.Instance != null) { IsAPI = true; } if (SystemInfo.operatingSystemFamily == OperatingSystemFamily.Linux && Application.isEditor) { // empty } else { controls.Simulator.ToggleNPCS.performed += ctx => NPCManager.NPCActive = !NPCManager.NPCActive; controls.Simulator.TogglePedestrians.performed += ctx => PedestrianManager.PedestriansActive = !PedestrianManager.PedestriansActive; controls.Simulator.ToggleAgent.performed += ctx => { if (int.TryParse(ctx.control.name, out int index)) { AgentManager.SetCurrentActiveAgent(index - 1); } }; controls.Simulator.ToggleReset.performed += ctx => AgentManager.ResetAgent(); controls.Simulator.ToggleControlsUI.performed += ctx => UIManager.UIActive = !UIManager.UIActive; } if (config != null) { simulationName = config.Name; clusterName = config.ClusterName; mapName = config.MapName; NPCManager.NPCActive = config.UseTraffic; PedestrianManager.PedestriansActive = config.UsePedestrians; if (config.Agents != null) { AgentManager.SpawnAgents(config.Agents); } apiMode = config.ApiOnly; headless = config.Headless; interactive = config.Interactive; useSeed = config.Seed.HasValue; npc = config.UseTraffic; pedestrian = config.UsePedestrians; timeOfDay = config.TimeOfDay.ToString("HH:mm"); rain = config.Rain; wet = config.Wetness; fog = config.Fog; cloud = config.Cloudiness; if (headless) { controls.Disable(); } if (config.Interactive) { SetTimeScale(0.0f); } } SIM.APIOnly = apiMode; SIM.LogSimulation(SIM.Simulation.SimulationStart, simulationName); SIM.LogSimulation(SIM.Simulation.ClusterNameStart, clusterName); SIM.LogSimulation(SIM.Simulation.MapStart, string.IsNullOrEmpty(mapName) ? UnityEngine.SceneManagement.SceneManager.GetActiveScene().name : mapName); SIM.LogSimulation(SIM.Simulation.HeadlessModeStart, state: headless); SIM.LogSimulation(SIM.Simulation.InteractiveModeStart, state: interactive); SIM.LogSimulation(SIM.Simulation.UsePredefinedSeedStart, state: useSeed); SIM.LogSimulation(SIM.Simulation.NPCStart, state: npc); SIM.LogSimulation(SIM.Simulation.RandomPedestrianStart, state: pedestrian); SIM.LogSimulation(SIM.Simulation.TimeOfDayStart, timeOfDay == "" ? string.Format("{0:hh}:{0:mm}", TimeSpan.FromHours(EnvironmentEffectsManager.currentTimeOfDay)) : timeOfDay); SIM.LogSimulation(SIM.Simulation.RainStart, rain == 0f ? EnvironmentEffectsManager.rain.ToString() : rain.ToString()); SIM.LogSimulation(SIM.Simulation.WetnessStart, wet == 0f ? EnvironmentEffectsManager.wet.ToString() : wet.ToString()); SIM.LogSimulation(SIM.Simulation.FogStart, fog == 0f ? EnvironmentEffectsManager.fog.ToString() : fog.ToString()); SIM.LogSimulation(SIM.Simulation.CloudinessStart, cloud == 0f ? EnvironmentEffectsManager.cloud.ToString() : cloud.ToString()); InitSemanticTags(); WireframeBoxes = gameObject.AddComponent <WireframeBoxes>(); }
public void Init(int?seed = null) { if (ApiManager.Instance != null) { FixedUpdateManager = ApiManager.Instance; IsAPI = true; } else { FixedUpdateManager = Instance; IsAPI = false; } controls = new SimulatorControls(); controls.Enable(); SimulationConfig config = null; if (Loader.Instance != null) { config = Loader.Instance.SimConfig; } var masterSeed = seed ?? config?.Seed ?? new System.Random().Next(); RandomGenerator = new System.Random(masterSeed); segmentationIdMapping = new SegmentationIdMapping(); //Calculate map bounds and limit position compression if (Loader.Instance != null && Loader.Instance.Network.IsClusterSimulation) { var mapBounds = CalculateMapBounds(); //Add margin to the bounds mapBounds.size += Vector3.one * 50; ByteCompression.SetPositionBounds(mapBounds); } ManagerHolder = new GameObject("ManagerHolder"); ManagerHolder.transform.SetParent(transform); BridgeMessageDispatcher = new BridgeMessageDispatcher(); AnalysisManager = InstantiateManager(analysisManagerPrefab, ManagerHolder.transform); AgentManager = InstantiateManager(agentManagerPrefab, ManagerHolder.transform); CameraManager = InstantiateManager(cameraManagerPrefab, ManagerHolder.transform); ControllableManager = InstantiateManager(controllableManagerPrefab, ManagerHolder.transform); MapManager = InstantiateManager(mapManagerPrefab, ManagerHolder.transform); NPCManager = InstantiateManager(npcManagerPrefab, ManagerHolder.transform); NPCManager.InitRandomGenerator(RandomGenerator.Next()); PedestrianManager = InstantiateManager(pedestrianManagerPrefab, ManagerHolder.transform); PedestrianManager.InitRandomGenerator(RandomGenerator.Next()); EnvironmentEffectsManager = InstantiateManager(environmentEffectsManagerPrefab, ManagerHolder.transform); EnvironmentEffectsManager.InitRandomGenerator(RandomGenerator.Next()); CustomPassManager = InstantiateManager(customPassManagerPrefab, ManagerHolder.transform); UIManager = InstantiateManager(uiManagerPrefab, ManagerHolder.transform); controls.Simulator.ToggleNPCS.performed += ctx => NPCManager.NPCActive = !NPCManager.NPCActive; controls.Simulator.TogglePedestrians.performed += ctx => PedestrianManager.PedestriansActive = !PedestrianManager.PedestriansActive; controls.Simulator.ToggleAgent.performed += ctx => { if (int.TryParse(ctx.control.name, out int index)) { AgentManager.SetCurrentActiveAgent(index - 1); } }; controls.Simulator.ToggleReset.performed += ctx => AgentManager.ResetAgent(); controls.Simulator.ToggleControlsUI.performed += ctx => UIManager.UIActive = !UIManager.UIActive; if (config != null) { simulationName = config.Name; clusterName = config.ClusterName; mapName = config.MapName; NPCManager.NPCActive = config.UseTraffic; PedestrianManager.PedestriansActive = config.UsePedestrians; if (config.Agents != null) { AgentManager.SpawnAgents(config.Agents); } apiMode = config.ApiOnly; headless = config.Headless; interactive = config.Interactive; useSeed = config.Seed.HasValue; npc = config.UseTraffic; pedestrian = config.UsePedestrians; timeOfDay = config.TimeOfDay.ToString("HH:mm"); rain = config.Rain; wet = config.Wetness; fog = config.Fog; cloud = config.Cloudiness; Damage = config.Damage; if (headless) { controls.Disable(); } } InitSegmenationColors(); WireframeBoxes = gameObject.AddComponent <WireframeBoxes>(); if (Loader.Instance != null) { TimeManager.Initialize(Loader.Instance.Network.MessagesManager); } Sensors.Initialize(); IsInitialized = true; }
// Use this for initialization void Start() { _orbiter = GetComponent<Orbiter>(); _pedManager = PedestrianManager.Instance; LoadAmmo(); }