- Added some camera anchors for Round 2.

- Modem is once again functional.
- Round 1 entrance door is now about as thin as a standard door should be.
This commit is contained in:
Jamie Greunbaum 2025-09-21 19:41:48 -04:00
parent f88c5598ee
commit 1866a92c8a
9 changed files with 6816 additions and 82 deletions

Binary file not shown.

View File

@ -114,10 +114,10 @@ MonoBehaviour:
overrideState: 1 overrideState: 1
value: 1 value: 1
temperature: temperature:
overrideState: 1 overrideState: 0
value: 0 value: 0
tint: tint:
overrideState: 1 overrideState: 0
value: 0 value: 0
colorFilter: colorFilter:
overrideState: 1 overrideState: 1

View File

@ -100,7 +100,7 @@ SphereCollider:
m_Material: {fileID: 0} m_Material: {fileID: 0}
m_IncludeLayers: m_IncludeLayers:
serializedVersion: 2 serializedVersion: 2
m_Bits: 0 m_Bits: 1536
m_ExcludeLayers: m_ExcludeLayers:
serializedVersion: 2 serializedVersion: 2
m_Bits: 0 m_Bits: 0

File diff suppressed because it is too large Load Diff

View File

@ -3,7 +3,6 @@ using UdonSharp;
using UnityEngine; using UnityEngine;
using VRC.SDK3.UdonNetworkCalling; using VRC.SDK3.UdonNetworkCalling;
using VRC.SDKBase; using VRC.SDKBase;
using VRC.Udon;
using VRC.Udon.Common.Interfaces; using VRC.Udon.Common.Interfaces;
@ -30,39 +29,33 @@ public class Modem : UdonSharpBehaviour
public override void OnPlayerTriggerEnter(VRCPlayerApi Player) public override void OnPlayerTriggerEnter(VRCPlayerApi Player)
{ {
if (Player.IsOwner(gameObject)) for (int i = 0; i < MAX_PLAYERS_IN_MODEM; i++)
{ {
for (int i = 0; i < MAX_PLAYERS_IN_MODEM; i++) if (_EnteredPlayers[i] == null)
{ {
if (_EnteredPlayers[i] == null) _EnteredPlayers[i] = Player.displayName;
{ break;
_EnteredPlayers[i] = Player.displayName;
break;
}
} }
RequestSerialization();
} }
RequestSerialization();
base.OnPlayerTriggerEnter(Player); base.OnPlayerTriggerEnter(Player);
} }
public override void OnPlayerTriggerExit(VRCPlayerApi Player) public override void OnPlayerTriggerExit(VRCPlayerApi Player)
{ {
if (Player.IsOwner(gameObject)) for (int i = 0; i < MAX_PLAYERS_IN_MODEM; i++)
{ {
for (int i = 0; i < MAX_PLAYERS_IN_MODEM; i++) if (_EnteredPlayers[i] == Player.displayName)
{ {
if (_EnteredPlayers[i] == Player.displayName) _EnteredPlayers[i] = null;
{ break;
_EnteredPlayers[i] = null;
break;
}
} }
RequestSerialization();
} }
RequestSerialization();
base.OnPlayerTriggerExit(Player); base.OnPlayerTriggerExit(Player);
} }
@ -75,6 +68,7 @@ public class Modem : UdonSharpBehaviour
public void Teleport() public void Teleport()
{ {
Networking.SetOwner(Networking.LocalPlayer, gameObject);
BeginTeleport = true; BeginTeleport = true;
RequestSerialization(); RequestSerialization();
} }
@ -87,14 +81,14 @@ public class Modem : UdonSharpBehaviour
_ModemAnimator.SetBool("Teleport", true); _ModemAnimator.SetBool("Teleport", true);
_ModemDestinationAnimator.SetBool("Teleport", true); _ModemDestinationAnimator.SetBool("Teleport", true);
SendCustomEventDelayedSeconds(nameof(TeleportAllPlayers), 4.0f); SendCustomEventDelayedSeconds(nameof(TeleportAllPlayers), 2.5f);
SendCustomEventDelayedSeconds(nameof(EndTeleport), 6.0f); SendCustomEventDelayedSeconds(nameof(EndTeleport), 6.0f);
} }
public void TeleportAllPlayers() public void TeleportAllPlayers()
{ {
// Only the Modem owner should execute teleportations. // Only the Modem owner should execute teleportations.
if (Networking.GetOwner(gameObject) == Networking.LocalPlayer) if (Networking.LocalPlayer.IsOwner(gameObject))
{ {
SendCustomNetworkEvent(NetworkEventTarget.All, nameof(TeleportLocalPlayerIfInModem)); SendCustomNetworkEvent(NetworkEventTarget.All, nameof(TeleportLocalPlayerIfInModem));
} }

View File

@ -0,0 +1 @@
{}

View File

@ -0,0 +1 @@
{}

View File

@ -0,0 +1,3 @@
{
}

View File

@ -0,0 +1,3 @@
{
}