Controleert of het codeblok is neergezet in een socket en verwijdert anders het object.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.XR.Interaction.Toolkit;
public class CheckIfBlockInPosition : MonoBehaviour
{
private XRGrabInteractable block;
void Start()
{
block = GetComponent<XRGrabInteractable>();
block.selectExited.AddListener(firstRelease);
}
private void firstRelease(SelectExitEventArgs args)
{
block.selectExited.AddListener(checkParent);
block.selectExited.RemoveListener(firstRelease);
}
public void checkParent(SelectExitEventArgs args)
{
StartCoroutine(checkParentNumerator());
}
private IEnumerator checkParentNumerator()
{
yield return new WaitForSeconds(1.5f);
if (transform.parent == null)
{
Debug.Log("Parent tag is not 'PlayableCode' or object has no parent. Destroying the object.");
Destroy(gameObject);
}
else
{
Debug.Log("Object placed correctly. Parent tag: " + transform.parent.tag);
}
}
}