Jamie Greunbaum f10f7b6fe7 - Added proper podiums and pedestals to round 2.
- Countries in round 3 are now randomised on load instead of on initialisation.
- View tablet now properly resets position on spawn and despawn.
2026-04-26 15:28:50 -04:00

57 lines
1.4 KiB
C#

using UdonSharp;
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 MeshRenderer _Mesh;
[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;
}
public void SetColourMaterial(Material Colour)
{
_Mesh.sharedMaterial = Colour;
}
[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";
}
}