53 lines
1.3 KiB
C#
53 lines
1.3 KiB
C#
|
|
using UdonSharp;
|
|
using UdonSharp.Examples.Utilities;
|
|
using UnityEditor;
|
|
using UnityEngine;
|
|
using VRC.SDK3.UdonNetworkCalling;
|
|
using VRC.Udon.Common.Interfaces;
|
|
|
|
|
|
[UdonBehaviourSyncMode(BehaviourSyncMode.Manual)]
|
|
public class ChoiceCard : UdonSharpBehaviour
|
|
{
|
|
[UdonSynced] public int ChoiceNumber = 0;
|
|
[SerializeField] private ChoiceCardGroup CardGroup = null;
|
|
|
|
[SerializeField] private Transform _SpawnPosition;
|
|
[SerializeField] private Transform _HeldPosition;
|
|
|
|
|
|
public override void OnPickup()
|
|
{
|
|
NetworkCalling.SendCustomNetworkEvent((IUdonEventReceiver)CardGroup, NetworkEventTarget.All, "ChoiceCardPickedUp", ChoiceNumber);
|
|
}
|
|
|
|
public override void Interact()
|
|
{
|
|
NetworkCalling.SendCustomNetworkEvent((IUdonEventReceiver)CardGroup, NetworkEventTarget.All, "ChoiceCardInteract", ChoiceNumber);
|
|
}
|
|
|
|
public void SetCardGroup(ChoiceCardGroup ParentCardGroup)
|
|
{
|
|
CardGroup = ParentCardGroup;
|
|
}
|
|
|
|
[NetworkCallable]
|
|
public void SetToHeldPosition()
|
|
{
|
|
transform.SetParent(_HeldPosition, false);
|
|
transform.localPosition = Vector3.zero;
|
|
transform.localEulerAngles = Vector3.zero;
|
|
InteractionText = "Reveal";
|
|
}
|
|
|
|
[NetworkCallable]
|
|
public void ResetPosition()
|
|
{
|
|
transform.SetParent(_SpawnPosition, false);
|
|
transform.localPosition = Vector3.zero;
|
|
transform.localEulerAngles = Vector3.zero;
|
|
InteractionText = "Choose";
|
|
}
|
|
}
|