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 UnityEngine;
|
||||||
using VRC.SDKBase;
|
using VRC.SDKBase;
|
||||||
|
|
||||||
@@ -23,34 +24,33 @@ public class TriggerDoor : UdonSharpBehaviour
|
|||||||
|
|
||||||
public override void OnPlayerTriggerEnter(VRCPlayerApi player)
|
public override void OnPlayerTriggerEnter(VRCPlayerApi player)
|
||||||
{
|
{
|
||||||
|
var start = Time.realtimeSinceStartup;
|
||||||
|
|
||||||
if (player.IsValid())
|
if (player.IsValid())
|
||||||
{
|
{
|
||||||
player.SetPlayerTag(_tagName, MagicWord);
|
player.SetPlayerTag(_tagName, MagicWord);
|
||||||
}
|
}
|
||||||
SetDoorState(true);
|
SetDoorState(true);
|
||||||
_counter++;
|
SetCounter(_counter + 1);
|
||||||
|
|
||||||
|
Debug.Log($"OnPlayerTriggerEnter: {Time.realtimeSinceStartup - start}s");
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void OnPlayerTriggerExit(VRCPlayerApi player)
|
public override void OnPlayerTriggerExit(VRCPlayerApi player)
|
||||||
{
|
{
|
||||||
|
var start = Time.realtimeSinceStartup;
|
||||||
|
|
||||||
if (player.IsValid())
|
if (player.IsValid())
|
||||||
{
|
{
|
||||||
player.SetPlayerTag(_tagName);
|
player.SetPlayerTag(_tagName);
|
||||||
}
|
}
|
||||||
|
SetDoorState(SetCounter(_counter - 1) > 0);
|
||||||
|
|
||||||
if (_counter - 1 <= 0)
|
Debug.Log($"OnPlayerTriggerExit: {Time.realtimeSinceStartup - start}s");
|
||||||
{
|
|
||||||
SetDoorState(false);
|
|
||||||
_counter = 0;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_counter--;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <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
|
/// while inside a trigger volume
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public override void OnPlayerLeft(VRCPlayerApi player)
|
public override void OnPlayerLeft(VRCPlayerApi player)
|
||||||
@@ -67,6 +67,17 @@ public class TriggerDoor : UdonSharpBehaviour
|
|||||||
SetAnimatorValue(isOpen);
|
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)
|
private void SetDoorState(bool open)
|
||||||
{
|
{
|
||||||
if (open == isOpen)
|
if (open == isOpen)
|
||||||
|
|||||||
Reference in New Issue
Block a user