Degullmok-client/Assets/Script/Main/SigninPanelController.cs
Parkillhwan 443aa67df9 Merge branch 'main' into DO-16-랭킹
# Conflicts:
#	Assets/Script/Game/GameManager.cs
#	Assets/Script/Main/UserManager.cs
2025-03-17 20:13:12 +09:00

94 lines
2.1 KiB
C#

using System;
using System.Net.Mime;
using TMPro;
using UnityEngine;
using UnityEngine.Serialization;
using UnityEngine.UI;
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;
public float winRate;
public int win;
public int lose;
public int totalGames;
public Image profileImage;
}
[Serializable]
public struct Scores
{
public ScoreInfo[] scores;
}
public class SigninPanelController : MonoBehaviour
{
[SerializeField] private TMP_InputField emailInputField;
[SerializeField] private TMP_InputField passwordInputField;
public void OnClickSigninButton()
{
string email = emailInputField.text;
string password = passwordInputField.text;
if (string.IsNullOrEmpty(email) || string.IsNullOrEmpty(password))
{
// TODO: 누락된 값 입력 요청 팝업 표시
return;
}
var signinData = new SigninData { email = email, password = password };
NetworkManager.Instance.Signin(signinData, (signinResult) =>
{
Destroy(gameObject);
// 유저 정보 저장
UserManager.Instance.SetUserInfo(signinResult);
// 메인 패널 정보 갱신
GameManager.Instance.UpdateMainPanelUI(GameManager.Instance.OpenMainPanel);
}, result =>
{
if (result == 0)
{
emailInputField.text = "";
}
else if (result == 1)
{
passwordInputField.text = "";
}
});
}
public void OnClickSignupButton()
{
emailInputField.text = "";
passwordInputField.text = "";
GameManager.Instance.OpenSignupPanel();
}
public void OnClickLeaderboardButton()
{
GameManager.Instance.OpenLeaderboardPanel();
}
}