Jamie Greunbaum c6fe1bb939 - Floor map markers now also use VRCObjectSync.
- PickupUseCallback can now optionally send ownership transfer requests.
- Added a wood chest decoration for the round 2 room.
- Tweaked the rough and dirty steel material.
2026-05-19 13:47:15 -04:00

69 lines
1.6 KiB
C#

using UdonSharp;
using UnityEngine;
using VRC.SDKBase;
[UdonBehaviourSyncMode(BehaviourSyncMode.None)]
public class PickupUseCallback : UdonSharpBehaviour
{
[SerializeField] private UdonSharpBehaviour _CallbackObject;
[Space]
[SerializeField] private bool _SendOwnershipTransferRequest;
[SerializeField] private string _OnPickupCallbackFunction;
[SerializeField] private string _OnDropCallbackFunction;
[SerializeField] private string _UseDownCallbackFunction;
[SerializeField] private string _UseUpCallbackFunction;
public override void OnOwnershipTransferred(VRCPlayerApi Player)
{
if (_SendOwnershipTransferRequest)
{
Networking.SetOwner(Player, _CallbackObject.gameObject);
}
base.OnOwnershipTransferred(Player);
}
public override void OnPickup()
{
if (_OnPickupCallbackFunction != "" && Utilities.IsValid(_CallbackObject))
{
_CallbackObject.SendCustomEvent(_OnPickupCallbackFunction);
}
base.OnPickup();
}
public override void OnDrop()
{
if (_OnDropCallbackFunction != "" && Utilities.IsValid(_CallbackObject))
{
_CallbackObject.SendCustomEvent(_OnDropCallbackFunction);
}
base.OnDrop();
}
public override void OnPickupUseDown()
{
if (_UseDownCallbackFunction != "" && Utilities.IsValid(_CallbackObject))
{
_CallbackObject.SendCustomEvent(_UseDownCallbackFunction);
}
base.OnPickupUseDown();
}
public override void OnPickupUseUp()
{
if (_UseUpCallbackFunction != "" && Utilities.IsValid(_CallbackObject))
{
_CallbackObject.SendCustomEvent(_UseUpCallbackFunction);
}
base.OnPickupUseUp();
}
}