void CheckDebugGameInputs() { if (Input.GetKeyDown(KeyCode.F1)) { overlayManager.SelectOverlay(OverlayType.Default); } if (Input.GetKeyDown(KeyCode.F2)) { overlayManager.SelectOverlay(OverlayType.Type); } if (Input.GetKeyDown(KeyCode.F3)) { overlayManager.SelectOverlay(OverlayType.FireRisks); } if (Input.GetKeyDown(KeyCode.F4)) { overlayManager.SelectOverlay(OverlayType.Food); } if (Input.GetKeyDown(KeyCode.F5)) { overlayManager.SelectOverlay(OverlayType.Habitation); } if (Input.GetKeyDown(KeyCode.F6)) { overlayManager.SelectOverlay(OverlayType.Power); } if (Input.GetKeyDown(KeyCode.F7)) { overlayManager.SelectOverlay(OverlayType.Density); } if (Input.GetKeyDown(KeyCode.F12)) { FindObjectOfType <DebugInterface>().SpawnEventDebugWindow(); } if (Input.GetKeyDown(KeyCode.End)) { temporality.timeScale = 100; } if (Input.GetKeyDown(KeyCode.N)) { Notifications.Notification not = new Notifications.Notification( new string[] { "cannotBuild", "notLinked", "newPeople" }[Mathf.FloorToInt(Random.value * 3)], new Color[] { Color.red, Color.blue, Color.yellow, Color.Lerp(Color.red, Color.yellow, 0.5f) }[Mathf.FloorToInt(Random.value * 4)] ); FindObjectOfType <Notifications>().Notify(not); } if (Input.GetKeyDown(KeyCode.P)) { temporality.PauseTime(); } if (Input.GetKeyDown(KeyCode.Delete)) { eventManager.TriggerEvent(1000, true); } if (Input.GetKeyDown(KeyCode.KeypadPlus)) { eventManager.TriggerEvent(15); } // Pause if (Input.GetKeyDown(KeyCode.Escape) && IsInGame() && FindObjectsOfType <PauseWindow>().Length <= 0) { FindObjectOfType <Interface>().SpawnPauseWindow(); } // Reset camera if (Input.GetKeyDown(KeyCode.V)) { FindObjectOfType <CameraController>().ResetPosition(); } // Hide tooltip if (Input.GetKeyDown(KeyCode.H)) { try { FindObjectOfType <TooltipGO>().Disable(); } catch {} } // Unlock all if (Input.GetKeyDown(KeyCode.T)) { foreach (BlockScheme s in library.blocks) { cityManager.UnlockBuilding(s.ID); } } // Spawns 5 cit if (Input.GetKeyDown(KeyCode.U)) { populationManager.SpawnCitizens(populationManager.populationTypeList[Mathf.FloorToInt(populationManager.populationTypeList.Length * Random.value)], 5); } // Affect a block under the mouse if (Input.GetButtonDown("Select")) // LEFT MOUSE CLICK { RaycastHit hit; Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); if (Physics.Raycast(ray, out hit)) { Block block = hit.collider.gameObject.GetComponent <Block>(); if (block != null) { if (Input.GetKey(KeyCode.F)) { if (!block.states.ContainsKey(State.OnFire)) { FireManager.Ignite(block); } else { block.RemoveState(State.OnFire); } } if (Input.GetKey(KeyCode.R)) { if (!block.states.ContainsKey(State.OnRiot)) { block.AddState(State.OnRiot); } else { block.RemoveState(State.OnRiot); } } if (Input.GetKey(KeyCode.D)) { if (!block.states.ContainsKey(State.Damaged)) { block.AddState(State.Damaged); } else { block.RemoveState(State.Damaged); } } } } } // Saves the game if (Input.GetKeyDown(KeyCode.M)) { Save(); } // Loads the game if (Input.GetKeyDown(KeyCode.L)) { saveManager.StartCoroutine( saveManager.ReadSaveData( cityManager.cityName, delegate { saveManager.LoadSaveData(saveManager.loadedData, delegate { FindObjectOfType <Notifications>().Notify( new Notifications.Notification("FINISHED LOADING", Color.green) ); }); } ) ); } if (Input.GetKeyDown(KeyCode.G)) { animationManager.EndElevateTower(new Vector2Int(cursorManagement.posInGrid.x, cursorManagement.posInGrid.z)); } // Goes forward in time by 1 cycle if (Input.GetKeyDown(KeyCode.C)) { temporality.AddCycle(); } if (Input.GetKeyDown(KeyCode.K)) { eventManager.LoadEvents(); } if (Input.GetKeyDown(KeyCode.B)) { temporality.AddMicroCycle(); } if (Input.GetKeyDown(KeyCode.W)) { populationManager.GenerateMoodModifier(populationManager.populationTypeList[0], 100, 10, 1000); } }