Fucking finally

This commit is contained in:
raccoon
2025-10-09 09:36:01 +05:00
parent b1086bce84
commit 595a5903ec
5 changed files with 75 additions and 46 deletions

View File

@@ -19,7 +19,7 @@ MonoBehaviour:
sourceCsScript: {fileID: 11500000, guid: 4c9f1e7caf7ec574d9a69f347f31d440, type: 3}
scriptVersion: 2
compiledVersion: 2
behaviourSyncMode: 0
behaviourSyncMode: 4
hasInteractEvent: 0
scriptID: -3302444108559197070
serializationData:
@@ -359,19 +359,19 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: _counter
Data: _tagName
- Name: $v
Entry: 7
Data: 21|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _counter
Data: _tagName
- Name: <UserType>k__BackingField
Entry: 7
Data: 22|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: System.Byte, mscorlib
Data: System.String, mscorlib
- Name:
Entry: 8
Data:
@@ -419,19 +419,19 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: _tagName
Data: _counter
- Name: $v
Entry: 7
Data: 25|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _tagName
Data: _counter
- Name: <UserType>k__BackingField
Entry: 7
Data: 26|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: System.String, mscorlib
Data: System.Int32, mscorlib
- Name:
Entry: 8
Data:
@@ -455,13 +455,19 @@ MonoBehaviour:
Data: 27|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
Data: 2
- Name:
Entry: 7
Data: 28|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data: 29|UdonSharp.FieldChangeCallbackAttribute, UdonSharp.Runtime
- Name:
Entry: 8
Data:
- Name:
Entry: 13
Data:

View File

@@ -1,8 +1,8 @@
using System;
using UdonSharp;
using UdonSharp;
using UnityEngine;
using VRC.SDKBase;
[UdonBehaviourSyncMode(BehaviourSyncMode.Manual)]
public class TriggerDoor : UdonSharpBehaviour
{
private const string MagicWord = "fuck";
@@ -15,38 +15,54 @@ public class TriggerDoor : UdonSharpBehaviour
[Tooltip("Sound when closing")]
public AudioClip closingSound;
[Tooltip("Start state of the \"Door\" (parameter \'isOpen\' in controller)")]
public bool isOpen = false;
public bool isOpen;
[UdonSynced]
private byte _counter = 0;
[UdonSynced]
private string _tagName;
[UdonSynced, FieldChangeCallback(nameof(Counter))]
private int _counter;
public int Counter
{
set
{
if (value <= 0)
{
_counter = 0;
SetDoorState(false);
}
else if (value > 255)
{
_counter = 255;
SetDoorState(true);
}
else
{
_counter = value;
SetDoorState(true);
}
}
get => _counter;
}
public override void OnPlayerTriggerEnter(VRCPlayerApi player)
{
var start = Time.realtimeSinceStartup;
if (player.IsValid())
{
player.SetPlayerTag(_tagName, MagicWord);
}
SetDoorState(true);
SetCounter(_counter + 1);
Debug.Log($"OnPlayerTriggerEnter: {Time.realtimeSinceStartup - start}s");
Counter++;
}
public override void OnPlayerTriggerExit(VRCPlayerApi player)
{
var start = Time.realtimeSinceStartup;
if (player.IsValid())
{
player.SetPlayerTag(_tagName);
}
SetDoorState(SetCounter(_counter - 1) > 0);
Debug.Log($"OnPlayerTriggerExit: {Time.realtimeSinceStartup - start}s");
Counter--;
}
/// <summary>
@@ -67,17 +83,6 @@ 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)

View File

@@ -49,12 +49,12 @@ AudioSource:
m_Pitch: 1
Loop: 0
Mute: 0
Spatialize: 0
Spatialize: 1
SpatializePostEffects: 0
Priority: 128
DopplerLevel: 1
MinDistance: 1
MaxDistance: 500
MinDistance: 0.5
MaxDistance: 5
Pan2D: 0
rolloffMode: 0
BypassEffects: 0
@@ -145,7 +145,7 @@ MonoBehaviour:
Far: 80
Near: 0
VolumetricRadius: 0
EnableSpatialization: 0
EnableSpatialization: 1
UseAudioSourceVolumeCurve: 0
--- !u!1 &6742685524490459691
GameObject:
@@ -273,7 +273,7 @@ BoxCollider:
m_ProvidesContacts: 0
m_Enabled: 1
serializedVersion: 3
m_Size: {x: 3.2, y: 3.2, z: 4.8}
m_Size: {x: 3.2, y: 3.2, z: 3.2}
m_Center: {x: 0, y: 1.6, z: 0}
--- !u!114 &6807330494230581692
MonoBehaviour:
@@ -302,7 +302,6 @@ MonoBehaviour:
openSound: {fileID: 8300000, guid: c439a2bf0f3382744a7e9b4c3f470c33, type: 3}
closingSound: {fileID: 8300000, guid: edb4f35d07a1ddf468eab91c515297c1, type: 3}
isOpen: 0
counter: 0
--- !u!114 &300584612255345046
MonoBehaviour:
m_ObjectHideFlags: 0