Beispiel #1
0
    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);
        }
    }