58 lines
1.7 KiB
C#
58 lines
1.7 KiB
C#
using UnityEngine;
|
|
using System;
|
|
using TMPro;
|
|
using UnityEngine.Serialization;
|
|
using UnityEngine.UI;
|
|
|
|
public class MainPanelManager : MonoBehaviour
|
|
{
|
|
[SerializeField] private LoadingPanelController loadingPanelController;
|
|
[SerializeField] private MainPanelController mainPanelController;
|
|
|
|
private UserManager _userManager; // UserManager 인스턴스 관리
|
|
|
|
private void Start()
|
|
{
|
|
if (UserManager.Instance == null)
|
|
{
|
|
GameObject userManagerObj = new GameObject("UserManager");
|
|
_userManager = userManagerObj.AddComponent<UserManager>();
|
|
}
|
|
// 로딩 화면 추가(자동 로그인 응답 전까지)
|
|
GameManager.Instance.panelManager.OpenLoadingPanel(false, true, true);
|
|
|
|
// 자동 로그인
|
|
TryAutoSignin();
|
|
}
|
|
|
|
private void TryAutoSignin()
|
|
{
|
|
NetworkManager.Instance.GetInfo((userInfo) =>
|
|
{
|
|
Debug.Log("자동 로그인 성공");
|
|
|
|
UserManager.Instance.SetUserInfo(userInfo);
|
|
|
|
UpdateMainPanelUI(GameManager.Instance.panelManager.OpenMainPanel);
|
|
|
|
loadingPanelController.StopLoading();
|
|
}, () =>
|
|
{
|
|
Debug.Log("자동 로그인 실패");
|
|
// 로딩 멈추기
|
|
loadingPanelController.StopLoading();
|
|
// 로그인 화면
|
|
GameManager.Instance.panelManager.OpenSigninPanel();
|
|
});
|
|
}
|
|
|
|
/// <summary>
|
|
/// 유저 별명, 급수를 서버에서 가져온 정보로 업데이트하여 메인화면에 표시
|
|
/// </summary>
|
|
public void UpdateMainPanelUI(Action success = null)
|
|
{
|
|
mainPanelController.UpdateUserInfo();
|
|
success?.Invoke();
|
|
}
|
|
}
|