728x90
로그인 씬에서 이메일과 비밀번호를 작성해야 로그인 버튼이 활성화 되도록 해보겠다.
코드
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro;
using Unity;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
public class OnBoardingManager : MonoBehaviour
{
public Button loginBtn;
public TMP_InputField emailInput;
public TMP_InputField passwordInput;
private void Start()
{
loginBtn.interactable = false;
}
private void Update()
{
if ((emailInput.text.Length > 0))
{
passwordInput.onValueChanged.AddListener((string s) =>
{
if (s.Length > 0)
{
loginBtn.interactable = true;
}
else
{
loginBtn.interactable = false;
}
});
}
else
{
emailInput.onValueChanged.AddListener((string s) =>
{
if (s.Length > 0)
{
passwordInput.onValueChanged.AddListener((string s) =>
{
if (s.Length > 0)
{
loginBtn.interactable = true;
}
else
{
loginBtn.interactable = false;
}
});
}
else
{
loginBtn.interactable = false;
}
});
}
}
text mesh pro는 input field를 받을 때 tmp_inputField로 받는다.
그리고 onvaluechage도 onvaluechaged로 '변경된'의 의미를 사용해서 AddListener를 사용할 수 있다.
람다형식 말고 메서드를 입력하는 방식이 더 깔끔하긴하나 나는 람다가 편해서 람다식으로 코드를 작성했다.
분명 위 코드보다 더 좋은 방법이 있을 거 같은데,, 흠,,
결과
아쉬운점은 이메일을 삭제하고 비밀번호를 입력했을 때 로그인 버튼이 활성화된다.
코드를 더 추가하려니,, 너무 지저분해 보여서 일단은 이대로 두고 기획팀에게 확인을 받고 고쳐달라하면 적용하기로 했다.
'동식이 취업시키기 작전 > Unity' 카테고리의 다른 글
Unity에서 엑셀파일, csv파일 데이터 읽기(겁나 상세하게 적음) (1) | 2024.06.07 |
---|---|
[MMORPG 게임서버 만들기] 쓰레드, 쓰레드 풀(풀링) (0) | 2024.03.23 |
[Unity] 에셋 프리팹이 어둡게 나올 때(feat. Built-in, URP) (1) | 2023.12.21 |
[융합 프로젝트] 캐릭터 선택 씬 만들기 (0) | 2023.11.05 |
[Unity] Color에서 a(알파, 오퍼시티)값 변경하기 (0) | 2023.09.01 |