์ผ์ชฝ ํธ๋ฆฌ๊ฑฐ ๋น๊ธฐ๋ฉด ๊ณต์ด ์ ์๋ฆฌ ์์น๋ก ์ฎ๊ฒจ๊ฐ ์ ์๋๋ก ๋ง๋ค๊ณ ์ถ์๋ฐ, ์ผ์ชฝ ์ปจํธ๋กค๋ฌ๊ฐ ResetManager ์ ํ๋์ ์๋ค์ด๊ฐ.
๋ญ๊ฐ ๋ฌธ์ ์ธ๊ฐ์...
using UnityEngine;
using UnityEngine.XR;
using UnityEngine.XR.Interaction.Toolkit;
public class ResetManager : MonoBehaviour
{
public XRController leftController;
private ResettableObject[] resettableObjects;
void Start()
{
// ๋ชจ๋ ResettableObject๋ฅผ ์ฐพ์
resettableObjects = FindObjectsOfType<ResettableObject>();
}
void Update()
{
if (leftController != null)
{
// ์ผ์ชฝ ํธ๋ฆฌ๊ฑฐ ์ ๋ ฅ ๊ฐ์ง
InputDevice device = leftController.inputDevice;
bool triggerValue;
if (device.TryGetFeatureValue(CommonUsages.triggerButton, out triggerValue) && triggerValue)
{
ResetAllObjects();
}
}
}
// ๋ชจ๋ ResettableObject๋ฅผ ์ด๊ธฐํํ๋ ๋ฉ์๋
private void ResetAllObjects()
{
foreach (var obj in resettableObjects)
{
obj.ResetPosition();
}
}
}
๋๊ธ 0