55 lines
1.2 KiB
C#
55 lines
1.2 KiB
C#
|
|
using UdonSharp;
|
|
using UnityEngine;
|
|
using VRC.SDKBase;
|
|
using VRC.Udon;
|
|
|
|
public class LetterPoint : UdonSharpBehaviour
|
|
{
|
|
public LetterCard heldCard;
|
|
|
|
public void OnCardReleased(LetterCard card)
|
|
{
|
|
if (heldCard != null) return;
|
|
heldCard = card;
|
|
card.transform.position = this.transform.position;
|
|
card.transform.rotation = this.transform.rotation;
|
|
}
|
|
|
|
public void OnCardRemoved(LetterCard card)
|
|
{
|
|
if (heldCard == card)
|
|
{
|
|
heldCard = null;
|
|
}
|
|
}
|
|
|
|
void OnTriggerEnter(Collider other)
|
|
{
|
|
LetterCard card = other.GetComponent<LetterCard>();
|
|
if (card != null)
|
|
{
|
|
card.currentPoint = this;
|
|
}
|
|
}
|
|
|
|
void OnTriggerExit(Collider other)
|
|
{
|
|
LetterCard card = other.GetComponent<LetterCard>();
|
|
if (card != null)
|
|
{
|
|
// If the exiting card was the one we were holding, clear it
|
|
if (card == heldCard)
|
|
{
|
|
heldCard = null;
|
|
}
|
|
|
|
// Only clear if we are the one currently registered
|
|
if (card.currentPoint == this)
|
|
{
|
|
card.currentPoint = null;
|
|
}
|
|
}
|
|
}
|
|
}
|