MiniGame-PushPush/Assets/Scripts/UI/Lobby/UIPanelLobby.cs

42 lines
1.2 KiB
C#

using FirstVillain.EventBus;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class UIPanelLobby : UIBase
{
[SerializeField] private Transform _characterRoot;
[SerializeField] private Button _singleStageButton;
public override void Open()
{
InitButtons();
var main = GameManager.Instance.MainPlayer.UIPrefabName;
AddressableManager.Instance.Spawn(main, _characterRoot, onComplete =>
{
onComplete.SetActive(false);
onComplete.ResetTransform();
base.Open();
UIManager.Instance.CloseLoadingUI();
onComplete.SetActive(true);
});
}
private void InitButtons()
{
_singleStageButton.AddButtonListener(OnClickSingleStage);
}
private void OnClickSingleStage()
{
SceneLoadManager.Instance.LoadSceneAsync("Stage_Single", UnityEngine.SceneManagement.LoadSceneMode.Single, OnLoadSingleStageComplete);
}
private void OnLoadSingleStageComplete()
{
EventBus.Instance.Publish(new EventStartStage(GameManager.Instance.MainPlayer, E_STAGE_TYPE.Single_TimeAttack));
}
}