Attempting to make the microphone work better when disabled.
This commit is contained in:
parent
aa79e7182f
commit
ece18ce5d6
@ -1,5 +1,4 @@
|
||||
|
||||
using System;
|
||||
using UdonSharp;
|
||||
using UnityEngine;
|
||||
using VRC.SDKBase;
|
||||
@ -11,7 +10,7 @@ public class Microphone : UdonSharpBehaviour
|
||||
[SerializeField] private float _MikedVoiceDistanceNear = 30.0f;
|
||||
[SerializeField] private float _MikedVoiceDistanceFar = 60.0f;
|
||||
|
||||
private VRCPlayerApi[] _EnteredPlayers = new VRCPlayerApi[MAX_PLAYERS];
|
||||
private VRCPlayerApi[] _EnteredPlayers = new VRCPlayerApi[MAX_PLAYERS];
|
||||
|
||||
private const float DEFAULT_VOICE_DISTANCE_NEAR = 0.0f;
|
||||
private const float DEFAULT_VOICE_DISTANCE_FAR = 25.0f;
|
||||
@ -37,6 +36,21 @@ public class Microphone : UdonSharpBehaviour
|
||||
}
|
||||
|
||||
public override void OnPlayerTriggerExit(VRCPlayerApi Player)
|
||||
{
|
||||
_PlayerExitedTrigger(Player);
|
||||
|
||||
base.OnPlayerTriggerExit(Player);
|
||||
}
|
||||
|
||||
public override void OnPlayerLeft(VRCPlayerApi Player)
|
||||
{
|
||||
_PlayerExitedTrigger(Player);
|
||||
|
||||
base.OnPlayerLeft(Player);
|
||||
}
|
||||
|
||||
|
||||
private void _PlayerExitedTrigger(VRCPlayerApi Player)
|
||||
{
|
||||
Player.SetVoiceDistanceNear(DEFAULT_VOICE_DISTANCE_NEAR);
|
||||
Player.SetVoiceDistanceFar(DEFAULT_VOICE_DISTANCE_FAR);
|
||||
@ -49,21 +63,5 @@ public class Microphone : UdonSharpBehaviour
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
base.OnPlayerTriggerExit(Player);
|
||||
}
|
||||
|
||||
|
||||
public void OnDisable()
|
||||
{
|
||||
for (int i = 0; i < _EnteredPlayers.Length; i++)
|
||||
{
|
||||
if (_EnteredPlayers[i] != null && _EnteredPlayers[i].IsValid())
|
||||
{
|
||||
_EnteredPlayers[i].SetVoiceDistanceNear(DEFAULT_VOICE_DISTANCE_NEAR);
|
||||
_EnteredPlayers[i].SetVoiceDistanceFar(DEFAULT_VOICE_DISTANCE_FAR);
|
||||
}
|
||||
_EnteredPlayers[i] = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user