- Improved door interactable so that the door closes itself after a short time. - Improved position of some cameras in preparation for transitions later. - Changed position of ACME Crimenet Computer so it doesn't bump the host.
48 lines
786 B
C#
48 lines
786 B
C#
|
|
using UdonSharp;
|
|
using UnityEngine;
|
|
using VRC.SDKBase;
|
|
using VRC.Udon;
|
|
|
|
|
|
[UdonBehaviourSyncMode(BehaviourSyncMode.Manual)]
|
|
public class Door : UdonSharpBehaviour
|
|
{
|
|
[UdonSynced, FieldChangeCallback(nameof(OpenDoor))] private bool _OpenDoor = false;
|
|
|
|
[SerializeField] private Animator _OpenAnimation;
|
|
|
|
|
|
public override void Interact()
|
|
{
|
|
Networking.SetOwner(Networking.LocalPlayer, gameObject);
|
|
|
|
if (!OpenDoor)
|
|
{
|
|
OpenDoor = true;
|
|
RequestSerialization();
|
|
|
|
SendCustomEventDelayedSeconds(nameof(CloseDoorAfterDelay), 1.5f);
|
|
}
|
|
|
|
base.Interact();
|
|
}
|
|
|
|
public void CloseDoorAfterDelay()
|
|
{
|
|
OpenDoor = false;
|
|
RequestSerialization();
|
|
}
|
|
|
|
|
|
public bool OpenDoor
|
|
{
|
|
set
|
|
{
|
|
_OpenDoor = value;
|
|
_OpenAnimation.SetBool("Open", value);
|
|
}
|
|
get => _OpenDoor;
|
|
}
|
|
}
|