Debug timing

This commit is contained in:
raccoon
2025-10-09 08:53:29 +05:00
parent 7c960abcee
commit b1086bce84

View File

@@ -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)