- 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.
69 lines
1.6 KiB
C#
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();
|
|
}
|
|
}
|