您最多选择25个主题
主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
64 行
1.4 KiB
64 行
1.4 KiB
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEngine.Events;
|
|
using UnityEngine.UI;
|
|
public class UIPause : MonoBehaviour
|
|
{
|
|
[SerializeField] private UIButtonSetter _resumeButton = default;
|
|
[SerializeField] private UIButtonSetter _settingsButton = default;
|
|
[SerializeField] private UIButtonSetter _backToMenuButton = default;
|
|
|
|
public UnityAction Resumed = default;
|
|
public UnityAction SettingsScreenOpened = default;
|
|
public UnityAction BackToMainRequested = default;
|
|
|
|
[SerializeField] private InputReader _inputReader = default;
|
|
[SerializeField] private BoolEventChannelSO _onPauseOpened = default;
|
|
|
|
private void OnEnable()
|
|
{
|
|
_onPauseOpened?.OnEventRaised(true);
|
|
_resumeButton.SetButton(true);
|
|
_inputReader.menuCloseEvent += Resume;
|
|
_resumeButton.Clicked += Resume;
|
|
_settingsButton.Clicked += OpenSettingsScreen;
|
|
_backToMenuButton.Clicked += BackToMainMenuConfirmation;
|
|
}
|
|
|
|
|
|
|
|
private void OnDisable()
|
|
{
|
|
_onPauseOpened?.OnEventRaised(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();
|
|
}
|
|
|
|
}
|