99 lines
3.2 KiB
C#
99 lines
3.2 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using TMPro;
|
|
using UnityEngine;
|
|
using UnityEngine.Networking;
|
|
using UnityEngine.Serialization;
|
|
using UnityEngine.UI;
|
|
|
|
public struct SignupData
|
|
{
|
|
public string email;
|
|
public string nickname;
|
|
public string password;
|
|
public int imageindex;
|
|
}
|
|
|
|
public class SignupPanelController : MonoBehaviour
|
|
{
|
|
[SerializeField] private TMP_InputField _emailInputField;
|
|
[SerializeField] private TMP_InputField _nicknameInputField;
|
|
[SerializeField] private TMP_InputField _passwordInputField;
|
|
[SerializeField] private TMP_InputField _confirmPasswordInputField;
|
|
[SerializeField] private Button[] imageSelectButtons;
|
|
private int _selectedImageIndex = 0;
|
|
|
|
private void Start()
|
|
{
|
|
// 각 프로필 이미지 선택 버튼에 클릭 이벤트 추가
|
|
for (int i = 0; i < imageSelectButtons.Length; i++)
|
|
{
|
|
int index = i; // 클로저 문제 방지
|
|
imageSelectButtons[i].onClick.AddListener(() => SelectImage(index));
|
|
}
|
|
}
|
|
|
|
private void SelectImage(int index)
|
|
{
|
|
_selectedImageIndex = index;
|
|
Debug.Log($"이미지 {index} 선택됨");
|
|
}
|
|
|
|
public void OnClickConfirmButton()
|
|
{
|
|
var email = _emailInputField.text;
|
|
var nickname = _nicknameInputField.text;
|
|
var password = _passwordInputField.text;
|
|
var confirmPassword = _confirmPasswordInputField.text;
|
|
|
|
if (string.IsNullOrEmpty(email) || string.IsNullOrEmpty(nickname) ||
|
|
string.IsNullOrEmpty(password) || string.IsNullOrEmpty(confirmPassword))
|
|
{
|
|
// TODO: 입력 내용 누락 팝업 표시
|
|
// GameManager.Instance.OpenConfirmPanel("입력 내용이 누락되었습니다.", () =>
|
|
// {
|
|
//
|
|
// });
|
|
Debug.Log("입력 내용이 누락되었습니다.");
|
|
return;
|
|
}
|
|
|
|
if (password.Equals(confirmPassword))
|
|
{
|
|
SignupData signupData = new SignupData();
|
|
signupData.email = email;
|
|
signupData.nickname = nickname;
|
|
signupData.password = password;
|
|
signupData.imageindex = _selectedImageIndex;
|
|
|
|
// 서버로 SignupData 전달하면서 회원가입 진행
|
|
StartCoroutine(NetworkManager.Instance.Signup(signupData, () =>
|
|
{
|
|
Destroy(gameObject);
|
|
}, () =>
|
|
{
|
|
_emailInputField.text = "";
|
|
_nicknameInputField.text = "";
|
|
_passwordInputField.text = "";
|
|
_confirmPasswordInputField.text = "";
|
|
}));
|
|
}
|
|
else
|
|
{
|
|
// TODO: 비밀번호 오류 팝업 표시
|
|
Debug.Log("비밀번호가 서로 다릅니다.");
|
|
// GameManager.Instance.OpenConfirmPanel("비밀번호가 서로 다릅니다.", () =>
|
|
// {
|
|
// _passwordInputField.text = "";
|
|
// _confirmPasswordInputField.text = "";
|
|
// });
|
|
}
|
|
}
|
|
|
|
public void OnClickCancelButton()
|
|
{
|
|
Debug.Log("OnClickCancelButton");
|
|
Destroy(gameObject);
|
|
}
|
|
}
|