75 lines
1.7 KiB
C#
75 lines
1.7 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using Animancer;
|
|
using Logic;
|
|
using Logic.Action;
|
|
using Logic.AI;
|
|
using Logic.Audio;
|
|
using Logic.Config;
|
|
using Logic.Multilingual;
|
|
using ParadoxNotion;
|
|
using RuntimeData;
|
|
using Steamworks;
|
|
using TH1_Core.Events;
|
|
using TH1_Core.Managers;
|
|
using TH1_Logic.Action;
|
|
using TH1_Logic.Config;
|
|
using TH1_Logic.Core;
|
|
using TH1_Logic.Net;
|
|
using TH1_Logic.Steam;
|
|
using TH1_UI.View.Announce;
|
|
using TH1Resource;
|
|
using TMPro;
|
|
using Unity.VisualScripting;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
using ConfigManager = TH1_Logic.Config.ConfigManager;
|
|
|
|
namespace TH1_UI.View.Outside
|
|
{
|
|
public class UIOutsideMenuShutdownPanelMono : MonoBehaviour
|
|
{
|
|
public AnimancerComponent Animancer;
|
|
public Button CancelButton;
|
|
public Button CheckButton;
|
|
public Button BlockButton;
|
|
|
|
// 关闭时执行的委托
|
|
public ViDelegateAssisstant.Dele OnPanelClose;
|
|
// 确认退出时执行的委托
|
|
public ViDelegateAssisstant.Dele OnShutdownConfirm;
|
|
|
|
public void OnInit()
|
|
{
|
|
CancelButton.onClick.RemoveAllListeners();
|
|
CancelButton.onClick.AddListener(OnClose);
|
|
CheckButton.onClick.RemoveAllListeners();
|
|
CheckButton.onClick.AddListener(OnConfirm);
|
|
BlockButton.onClick.RemoveAllListeners();
|
|
BlockButton.onClick.AddListener(OnClose);
|
|
gameObject.SetActive(false);
|
|
}
|
|
|
|
public void Open()
|
|
{
|
|
gameObject.SetActive(true);
|
|
Animancer.Play(ResourceCache.Instance.AnimCache.UICommonPanelFadeIn);
|
|
}
|
|
|
|
public void OnClose()
|
|
{
|
|
AnimancerState state = Animancer.Play(ResourceCache.Instance.AnimCache.UICommonPanelFadeOut);
|
|
state.Events.OnEnd += () =>
|
|
{
|
|
gameObject.SetActive(false);
|
|
OnPanelClose?.Invoke();
|
|
};
|
|
}
|
|
|
|
private void OnConfirm()
|
|
{
|
|
OnShutdownConfirm?.Invoke();
|
|
}
|
|
}
|
|
}
|