47 lines
1.0 KiB
C#
47 lines
1.0 KiB
C#
|
|
using UdonSharp;
|
|
using UnityEngine;
|
|
using VRC.SDKBase;
|
|
using VRC.Udon;
|
|
|
|
public class HorseshoeHomeLocation : UdonSharpBehaviour
|
|
{
|
|
public GameObject Horseshoe;
|
|
|
|
private UdonBehaviour HorseshoeBehaviour;
|
|
private MeshCollider HorseshoeCollider;
|
|
|
|
|
|
public void Start()
|
|
{
|
|
HorseshoeBehaviour = Horseshoe.GetComponent<UdonBehaviour>();
|
|
HorseshoeCollider = Horseshoe.GetComponent<MeshCollider>();
|
|
}
|
|
|
|
public void OnTriggerEnter(Collider OtherCollider)
|
|
{
|
|
if (CollidingObjectIsHorseshoe(OtherCollider))
|
|
{
|
|
HorseshoeBehaviour.SetProgramVariable<bool>("IsInHome", true);
|
|
}
|
|
}
|
|
|
|
public void OnTriggerExit(Collider OtherCollider)
|
|
{
|
|
if (CollidingObjectIsHorseshoe(OtherCollider))
|
|
{
|
|
HorseshoeBehaviour.SetProgramVariable<bool>("IsInHome", false);
|
|
}
|
|
}
|
|
|
|
private bool CollidingObjectIsHorseshoe(Collider OtherCollider)
|
|
{
|
|
if (OtherCollider.Equals(HorseshoeCollider))
|
|
{
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
}
|