using System; using TMPro; using UnityEngine; using UnityEngine.Serialization; public struct SigninData { public string email; public string password; } public struct SigninResult { public int result; public string nickname; public int imageIndex; public int rating; public int score; public int coins; } [Serializable] public struct ScoreInfo { public string email; public string nickname; public int score; } [Serializable] public struct Scores { public ScoreInfo[] scores; } public class SigninPanelController : MonoBehaviour { [SerializeField] private TMP_InputField emailInputField; [SerializeField] private TMP_InputField passwordInputField; [SerializeField] private MainPanelManager mainPanel; public void OnClickSigninButton() { string email = emailInputField.text; string password = passwordInputField.text; if (string.IsNullOrEmpty(email) || string.IsNullOrEmpty(password)) { GameManager.Instance.panelManager.OpenConfirmPanel("입력 내용이 누락되었습니다.", () => {}); return; } var signinData = new SigninData { email = email, password = password }; NetworkManager.Instance.Signin(signinData, (signinResult) => { Destroy(gameObject); // 유저 정보 저장 UserManager.Instance.SetUserInfo(signinResult); // 메인 패널 정보 갱신 mainPanel.UpdateMainPanelUI(GameManager.Instance.panelManager.OpenMainPanel); }, result => { if (result == 0) { emailInputField.text = ""; } else if (result == 1) { passwordInputField.text = ""; } }); } public void OnClickSignupButton() { emailInputField.text = ""; passwordInputField.text = ""; GameManager.Instance.panelManager.OpenSignupPanel(); } }