这是第一个 Unity 开放项目的repo,是 Unity 和社区合作创建的一个小型开源游戏演示,第一款游戏是一款名为 Chop Chop 的动作冒险游戏。
您最多选择25个主题 主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 

58 行
1.4 KiB

using UnityEngine;
using UnityEngine.Events;
public class UIPause : MonoBehaviour
{
[SerializeField] private InputReader _inputReader = default;
[SerializeField] private UIGenericButton _resumeButton = default;
[SerializeField] private UIGenericButton _settingsButton = default;
[SerializeField] private UIGenericButton _backToMenuButton = default;
[Header("Listening to")]
[SerializeField] private BoolEventChannelSO _onPauseOpened = default;
public event UnityAction Resumed = default;
public event UnityAction SettingsScreenOpened = default;
public event UnityAction BackToMainRequested = default;
private void OnEnable()
{
_onPauseOpened.RaiseEvent(true);
_resumeButton.SetButton(true);
_inputReader.MenuCloseEvent += Resume;
_resumeButton.Clicked += Resume;
_settingsButton.Clicked += OpenSettingsScreen;
_backToMenuButton.Clicked += BackToMainMenuConfirmation;
}
private void OnDisable()
{
_onPauseOpened.RaiseEvent(false);
_inputReader.MenuCloseEvent -= Resume;
_resumeButton.Clicked -= Resume;
_settingsButton.Clicked -= OpenSettingsScreen;
_backToMenuButton.Clicked -= BackToMainMenuConfirmation;
}
void Resume()
{
Resumed.Invoke();
}
void OpenSettingsScreen()
{
SettingsScreenOpened.Invoke();
}
void BackToMainMenuConfirmation()
{
BackToMainRequested.Invoke();
}
public void CloseScreen()
{
Resumed.Invoke();
}
}