generated from raccoon/vrchat-project-template
Debug timing
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
using UdonSharp;
|
||||
using System;
|
||||
using UdonSharp;
|
||||
using UnityEngine;
|
||||
using VRC.SDKBase;
|
||||
|
||||
@@ -23,34 +24,33 @@ public class TriggerDoor : UdonSharpBehaviour
|
||||
|
||||
public override void OnPlayerTriggerEnter(VRCPlayerApi player)
|
||||
{
|
||||
var start = Time.realtimeSinceStartup;
|
||||
|
||||
if (player.IsValid())
|
||||
{
|
||||
player.SetPlayerTag(_tagName, MagicWord);
|
||||
}
|
||||
SetDoorState(true);
|
||||
_counter++;
|
||||
SetCounter(_counter + 1);
|
||||
|
||||
Debug.Log($"OnPlayerTriggerEnter: {Time.realtimeSinceStartup - start}s");
|
||||
}
|
||||
|
||||
public override void OnPlayerTriggerExit(VRCPlayerApi player)
|
||||
{
|
||||
var start = Time.realtimeSinceStartup;
|
||||
|
||||
if (player.IsValid())
|
||||
{
|
||||
player.SetPlayerTag(_tagName);
|
||||
}
|
||||
SetDoorState(SetCounter(_counter - 1) > 0);
|
||||
|
||||
if (_counter - 1 <= 0)
|
||||
{
|
||||
SetDoorState(false);
|
||||
_counter = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
_counter--;
|
||||
}
|
||||
Debug.Log($"OnPlayerTriggerExit: {Time.realtimeSinceStartup - start}s");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// A fucking workaround for a fucking OnPlayerTriggerExit() event not firing on player exiting a game
|
||||
/// A fucking workaround for a fucking OnPlayerTriggerExit() event not firing on player exiting a game,
|
||||
/// while inside a trigger volume
|
||||
/// </summary>
|
||||
public override void OnPlayerLeft(VRCPlayerApi player)
|
||||
@@ -67,6 +67,17 @@ public class TriggerDoor : UdonSharpBehaviour
|
||||
SetAnimatorValue(isOpen);
|
||||
}
|
||||
|
||||
private byte SetCounter(int value)
|
||||
{
|
||||
if (value < 0)
|
||||
_counter = 0;
|
||||
else if (value > 255)
|
||||
_counter = 255;
|
||||
else
|
||||
_counter = (byte)value;
|
||||
return _counter;
|
||||
}
|
||||
|
||||
private void SetDoorState(bool open)
|
||||
{
|
||||
if (open == isOpen)
|
||||
|
||||
Reference in New Issue
Block a user