69 lines
2.4 KiB
C#
69 lines
2.4 KiB
C#
using System;
|
|
using TMPro;
|
|
using UnityEngine;
|
|
using UnityEngine.SceneManagement;
|
|
|
|
public class PauseMenu : MonoBehaviour
|
|
{
|
|
[Header("Character Stats")]
|
|
[SerializeField] private TMP_Text _heal;
|
|
[SerializeField] private TMP_Text _movementsSpeed;
|
|
|
|
[Header("Weapons Stats")]
|
|
[SerializeField] private TMP_Text _beamDamages;
|
|
[SerializeField] private TMP_Text _beamFrequency;
|
|
[SerializeField] private TMP_Text _beamLife;
|
|
[SerializeField] private TMP_Text _horizontalBeam;
|
|
[SerializeField] private TMP_Text _verticalBeam;
|
|
|
|
[SerializeField] private TMP_Text _swordDamages;
|
|
[SerializeField] private TMP_Text _swordQuantity;
|
|
[SerializeField] private TMP_Text _swordHaloRadius;
|
|
|
|
[SerializeField] private TMP_Text _arrowDamages;
|
|
[SerializeField] private TMP_Text _arrowRange;
|
|
[SerializeField] private TMP_Text _arrowFrequency;
|
|
|
|
private PlayerManager _manager;
|
|
|
|
private void Start()
|
|
{
|
|
_manager = GameObject.FindGameObjectWithTag("Player").GetComponent<PlayerManager>();
|
|
}
|
|
|
|
public void Update()
|
|
{
|
|
if (Input.GetKeyDown(KeyCode.Escape) && gameObject.activeSelf)
|
|
{
|
|
Time.timeScale = 1f;
|
|
gameObject.SetActive(false);
|
|
}
|
|
|
|
// Update Stats Texts
|
|
_heal.SetText($"Heal: {_manager.HealValue}/s");
|
|
_movementsSpeed.SetText($"Movements Speed: {_manager.Speed}");
|
|
_beamDamages.SetText($"Beam Damages: {_manager.BeamDamages}");
|
|
_beamFrequency.SetText($"Beam Frequency: {_manager.BeamFrequency}s");
|
|
_beamLife.SetText($"Beam Life: {_manager.BeamLife}s");
|
|
_horizontalBeam.SetText($"Horizontal Beam: {(Convert.ToBoolean(_manager.laserOnX) ? "Yes" : "No")}");
|
|
_verticalBeam.SetText($"Vertical Beam: {(Convert.ToBoolean(_manager.laserOnY) ? "Yes": "No")}");
|
|
_swordDamages.SetText($"Sword Damages: {_manager.SwordsDamages}");
|
|
_swordQuantity.SetText($"Swords Quantity: {_manager.SwordsQuantity}");
|
|
_swordHaloRadius.SetText($"Sword Halo Radius: {_manager.SwordsHaloRadius * 1.5}m");
|
|
_arrowDamages.SetText($"Arrow Damages: {_manager.ArrowDamages}");
|
|
_arrowRange.SetText($"Arrow Damages: {_manager.ArrowRange}m");
|
|
_arrowFrequency.SetText($"Arrow Frequency: {_manager.ArrowFrequency}s");
|
|
}
|
|
|
|
public void Resume()
|
|
{
|
|
Time.timeScale = 1f;
|
|
gameObject.SetActive(false);
|
|
}
|
|
|
|
public void Quit()
|
|
{
|
|
SceneManager.LoadScene("Main", LoadSceneMode.Single);
|
|
}
|
|
}
|