Files
2025TapTapGameJam/Assets/Script/Gameplay/UI/SettingViewer.cs

70 lines
2.1 KiB
C#
Raw Normal View History

using System;
using Core;
using Script.Gameplay.Global;
using TMPro;
using UnityEngine;
using Script.Gameplay.Input;
using UnityEngine.InputSystem;
using UnityEngine.UI;
namespace UI
{
public class SettingViewer : UIBase
{
[SerializeField] private TMP_Text TitleText;
[SerializeField] private TMP_Text ContentText;
[SerializeField] private Button reloadButton;
private InputManager inputManager;
protected override void Awake()
{
base.Awake();
inputManager = InputManager.Instance;
inputManager.Input.Player.Setting.performed += RegisterInput;
reloadButton.onClick.AddListener(OnReloadButtonClicked);
}
private void OnReloadButtonClicked()
{
GameManager.Instance.ReStartGame();
ContentText.text = "循环次数:" + GameDataManager.Instance.TotalLoopCount.ToString();
inputManager.SetCursorState(false, CursorLockMode.Locked);
inputManager.SetInputForLook(true);
inputManager.SetInputForMove(true);
}
private void RegisterInput(InputAction.CallbackContext ctx)
{
if (!isActiveAndEnabled)
{
Show();
inputManager.SetCursorState(true, CursorLockMode.Confined);
inputManager.SetInputForLook(false);
inputManager.SetInputForMove(false);
}
else
{
Hide();
inputManager.SetCursorState(false, CursorLockMode.Locked);
inputManager.SetInputForLook(true);
inputManager.SetInputForMove(true);
}
}
public override void Show()
{
base.Show();
ContentText.text = "循环次数:" + GameDataManager.Instance.TotalLoopCount.ToString();
}
public override void Hide()
{
base.Hide();
}
private void OnDestroy()
{
inputManager.Input.Player.Setting.performed -= RegisterInput;
}
}
}