AxibugEmuOnline/AxibugEmuOnline.Client/Assets/Script/UI/LaunchUI.cs

74 lines
2.1 KiB
C#
Raw Normal View History

2024-08-21 16:28:23 +08:00
using AxibugEmuOnline.Client.UI;
using DG.Tweening;
using DG.Tweening.Core;
using DG.Tweening.Plugins.Options;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace AxibugEmuOnline.Client
{
public class LaunchUI : MonoBehaviour
{
[SerializeField]
RectTransform MainMenuRoot;
[SerializeField]
MainMenuController MainMenu;
Vector2 m_mainLayoutPosition;
[SerializeField]
Vector2 m_detailLayoutPosition;
[SerializeField]
float m_LayoutChangeSpeed = 10;
public static LaunchUI Instance { get; private set; }
TweenerCore<Vector2, Vector2, VectorOptions> m_layoutTween;
private void Awake()
{
Instance = this;
2024-08-30 16:23:27 +08:00
DontDestroyOnLoad(this);
DontDestroyOnLoad(Camera.main.gameObject);
2024-08-21 16:28:23 +08:00
m_mainLayoutPosition = MainMenuRoot.anchoredPosition;
MainMenu.ListenControlAction = true;
}
public void ToDetailMenuLayout()
{
if (m_layoutTween != null)
{
m_layoutTween.Kill();
m_layoutTween = null;
}
m_layoutTween = DOTween
.To(
() => MainMenuRoot.anchoredPosition,
(x) => MainMenuRoot.anchoredPosition = x,
m_detailLayoutPosition,
m_LayoutChangeSpeed)
.SetSpeedBased();
MainMenu.ListenControlAction = false;
MainMenu.EnterDetailState();
}
public void ToMainMenuLayout()
{
if (m_layoutTween != null)
{
m_layoutTween.Kill();
m_layoutTween = null;
}
m_layoutTween = DOTween.To(
() => MainMenuRoot.anchoredPosition,
(x) => MainMenuRoot.anchoredPosition = x,
m_mainLayoutPosition,
m_LayoutChangeSpeed)
.SetSpeedBased();
MainMenu.ListenControlAction = true;
MainMenu.ExitDetailState();
}
}
}