728x90
Tab 키를 눌렀을 때 입력 필드 위치를 변경하는 방법 중에서 특정 오브젝트만을 list에 담아 적용하는 방법입니다.
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
public class Tabkey : MonoBehaviour
{
[SerializeField] private List<Selectable> list;
private int currentSelectedNum = 0;
private void Update()
{
if (Input.GetKeyDown(KeyCode.Tab))
{
//event system에서 선택한 오브젝트가 있는지를 검사
if(EventSystem.current.currentSelectedGameObject != null)
{
//선택한 오브젝트가 있을 경우, 해당 오브젝트가 리스트에 있는 오브젝트인지 검사
if (list.Contains(EventSystem.current.currentSelectedGameObject.GetComponent<Selectable>()))
{
var index = list.FindIndex(x => x.Equals(EventSystem.current.currentSelectedGameObject.GetComponent<Selectable>()));
currentSelectedNum = index;
}
}
if (currentSelectedNum <= list.Count - 2)
currentSelectedNum++;
list[currentSelectedNum].Select();
}
}
}
728x90
반응형
'Unity3D > Unity & C#' 카테고리의 다른 글
Unity & C# ~ Regex 사용해보기 (0) | 2022.12.28 |
---|---|
Unity & C# ~ InputField가 선택 되었을 때, 커서 위치 (0) | 2022.11.17 |
Unity & C# ~ text를 수정했을 때, ContentSizeFitter가 사이즈 조정을 안 했을 때 (0) | 2022.11.07 |
Unity & C# ~ 문자열에서 여러 요소 바꾸기 (0) | 2022.10.24 |
Unity & C# ~ 문자열에서 단어 검색 방법 (0) | 2022.10.24 |