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(); } // 로딩 화면 추가(자동 로그인 응답 전까지) 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(); }); } /// /// 유저 별명, 급수를 서버에서 가져온 정보로 업데이트하여 메인화면에 표시 /// public void UpdateMainPanelUI(Action success = null) { mainPanelController.UpdateUserInfo(); success?.Invoke(); } }