Asset에서 받아온 Hand
Ray의 포인터 위치를 바꾸는 스크립트 offset
Button Event Trigger
버튼을 누르면 선택되었다는 표시 느낌으로 빨간색 테두리가 생기게 했다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class btn : MonoBehaviour
{
[SerializeField] private GameObject selected;
public void onSelect()
{
this.selected.SetActive(true);
}
public void onDeSelect()
{
this.selected.SetActive(false);
}
}
구성
Selected(Image) - bg보다 살짝 크게 만듦
bg(image)
btn(Button) - Data는 btn, btn (1), (2) 다 각자 넣어줬음
board(image)
Scripts
btn
using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
public class btn : MonoBehaviour
{
[SerializeField] private Data data;
[SerializeField] private GameObject selected;
[SerializeField] private TMP_Text txt;
[SerializeField] private TMP_Text boardTxt;
private bool IsSelected = false;
private int count = 1;
private int id;
private string upgradeName;
private string upgradeLevel;
private void Start()
{
this.id = data.id;
this.upgradeName = data.upgradeName;
this.upgradeLevel = data.upgradeLevel;
}
public void OnSelect()
{
Debug.Log("OnSelect");
this.selected.SetActive(true);
this.boardTxt.text = id.ToString() + "\n\n" + upgradeName + "\n\n" + upgradeLevel;
this.IsSelected = true;
}
public void OnDeSelect()
{
Debug.Log("OnDeSelect");
this.selected.SetActive(false);
this.IsSelected = false;
}
public void OnPointerDown()
{
if (this.IsSelected == true)
{
Debug.Log("OnPointerDown");
this.txt.text = count.ToString();
count++;
}
}
}
Data
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Data : MonoBehaviour
{
public int id;
public string upgradeName;
public string upgradeLevel;
}
VR에서 Button 누르면 Select 되고 Select 상태에서 또 누르면 숫자 증가
Select하면 id, upgradeName, upgradeLevel 등 정보나오기