2025-06-08 03:13:33 -04:00

59 lines
1.4 KiB
C#

using TMPro;
using UdonSharp;
using UnityEngine;
using VRC.SDK3.UdonNetworkCalling;
using VRC.Udon.Common.Interfaces;
[UdonBehaviourSyncMode(BehaviourSyncMode.Manual)]
public class RiskCard : UdonSharpBehaviour
{
[UdonSynced] public int RiskAmount = 0;
[SerializeField] private RiskCardGroup CardGroup = null;
[SerializeField] private TextMeshProUGUI _RiskCardText;
[SerializeField] private Transform _SpawnPosition;
[SerializeField] private Transform _HeldPosition;
void Start()
{
_RiskCardText.text = RiskAmount.ToString();
}
public override void OnPickup()
{
NetworkCalling.SendCustomNetworkEvent((IUdonEventReceiver)CardGroup, NetworkEventTarget.All, "RiskCardPickedUp", RiskAmount);
}
public override void Interact()
{
NetworkCalling.SendCustomNetworkEvent((IUdonEventReceiver)CardGroup, NetworkEventTarget.All, "RiskCardInteract", RiskAmount);
}
public void SetCardGroup(RiskCardGroup 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";
}
}