using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.InputSystem;
|
using UnityEngine.SceneManagement;
|
|
public class PauseMenu : MonoBehaviour
|
{
|
public static bool GameIsPaused = false;
|
|
public GameObject pauseMenuUI;
|
public GameObject settingsMenuUI;
|
public GameObject pausePanel;
|
public GameObject saveGameText;
|
Animator animator;
|
|
private void Awake()
|
{
|
animator = GetComponent<Animator>();
|
GameIsPaused = false;
|
}
|
|
public void OnEscapedPressed(InputAction.CallbackContext context)
|
{
|
if (context.started)
|
{
|
ResumeOrPauseGame(GameIsPaused);
|
}
|
}
|
|
private void ResumeOrPauseGame(bool resume)
|
{
|
if (resume)
|
{
|
ResumeWithMenu();
|
}
|
else
|
{
|
PauseWithMenu();
|
}
|
}
|
|
private void ResumeWithMenu()
|
{
|
// TODO make it dynamic (whichever UI is activ set it to falsen when unpaused)
|
pausePanel.SetActive(false);
|
Resume();
|
}
|
public void Resume()
|
{
|
Time.timeScale = 1f;
|
GameIsPaused = false;
|
}
|
|
private void PauseWithMenu()
|
{
|
settingsMenuUI.SetActive(false);
|
pauseMenuUI.SetActive(true);
|
pausePanel.SetActive(true);
|
Pause();
|
}
|
public void Pause()
|
{
|
Time.timeScale = 0f;
|
GameIsPaused = true;
|
}
|
|
public void OnResumeClicked()
|
{
|
Resume();
|
}
|
|
public void OnGameSaveClicked()
|
{
|
PlayerController playerController = GameObject.Find("Player").GetComponent<PlayerController>();
|
SaveSystem.SavePlayer(new SaveDataPlayer(playerController));
|
GameManager gameManager= GameObject.Find("GameManager").GetComponent<GameManager>();
|
SaveSystem.SaveMapState(new SaveDataMap(gameManager.destroyedTiles, gameManager.generateTileMap.seed.Value));
|
animator.SetTrigger("GameSaved");
|
}
|
|
public void OnSettingsSaveClicked()
|
{
|
animator.SetTrigger("GameSettingsSaved");
|
}
|
|
public void OnGamedLoaded()
|
{
|
animator.SetTrigger("GameLoaded");
|
}
|
|
public void OnMenuClicked()
|
{
|
|
}
|
|
public void OnExitClicked()
|
{
|
Resume();
|
SceneManager.LoadScene("MainMenu");
|
}
|
|
}
|