- Added options to rerandomise map in round 3, including a hard mode shuffle.

- Fixed newspaper and timer overlays not working correctly on disabled cameras.
- Fixed major issues with the occlusion culling.
- Aligned UVs for 10m drywall panels so that the bricks line up correctly.
This commit is contained in:
2026-03-28 05:24:35 -04:00
parent 028550ed3f
commit 3b31f4c38b
10 changed files with 1578 additions and 410 deletions
@@ -100,13 +100,11 @@ public class GameManagerRound3 : GameManagerBase
foreach (CameraOverlay Overlay in _TimerCameraOverlays)
{
Overlay.EnableOverlayElements(false);
Overlay.gameObject.SetActive(false);
}
foreach (CameraOverlay Overlay in _NewspaperCameraOverlays)
{
Overlay.EnableOverlayElements(false);
Overlay.gameObject.SetActive(false);
}
SendCustomNetworkEvent(NetworkEventTarget.All, nameof(EnableAudienceSilencer), false);
@@ -236,7 +234,6 @@ public class GameManagerRound3 : GameManagerBase
_Scoreboard.Enable(true);
foreach (CameraOverlay Overlay in _TimerCameraOverlays)
{
Overlay.gameObject.SetActive(true);
Overlay.EnableOverlayElements(true);
}
@@ -258,7 +255,6 @@ public class GameManagerRound3 : GameManagerBase
foreach (CameraOverlay Overlay in _TimerCameraOverlays)
{
Overlay.gameObject.SetActive(true);
Overlay.EnableOverlayElements(true);
}
@@ -303,6 +299,12 @@ public class GameManagerRound3 : GameManagerBase
RequestSerialization();
}
public void EndTimerEarly()
{
_Timer = 0;
TickTimer();
}
[NetworkCallable]
public void CorrectResponse()
{
@@ -465,7 +467,6 @@ public class GameManagerRound3 : GameManagerBase
foreach (CameraOverlay Overlay in _NewspaperCameraOverlays)
{
Overlay.EnableOverlayElements(true);
Overlay.gameObject.SetActive(true);
}
}
@@ -505,7 +506,6 @@ public class GameManagerRound3 : GameManagerBase
foreach (CameraOverlay Overlay in _NewspaperCameraOverlays)
{
Overlay.EnableOverlayElements(true);
Overlay.gameObject.SetActive(true);
}
}
@@ -525,13 +525,11 @@ public class GameManagerRound3 : GameManagerBase
foreach (CameraOverlay Overlay in _TimerCameraOverlays)
{
Overlay.EnableOverlayElements(false);
Overlay.gameObject.SetActive(false);
}
foreach (CameraOverlay Overlay in _NewspaperCameraOverlays)
{
Overlay.EnableOverlayElements(false);
Overlay.gameObject.SetActive(false);
}
_CameraControllerRound3.DisableAllSwitchers();
@@ -647,6 +645,15 @@ public class GameManagerRound3 : GameManagerBase
}
}
public void RerandomiseMap(bool HardMode = false)
{
FloorMap CurrentMap = GetCurrentMap();
if (CurrentMap)
{
GetCurrentMap().RandomiseCountries(HardMode);
}
}
private string GetRound3PlayerName()
{
string[] CurrentWinner = _CaseManager.GetCurrentWinningPlayers();
+2 -2
View File
@@ -28,7 +28,7 @@ public class FloorMap : UdonSharpBehaviour
}
public void RandomiseCountries()
public void RandomiseCountries(bool HardMode = false)
{
for (int i = 0; i < Countries.Length; i++)
{
@@ -50,7 +50,7 @@ public class FloorMap : UdonSharpBehaviour
for (int i = 0; i < MAX_SELECTED_COUNTRIES; i++)
{
int NewPulledIndex = NumberOfCountries;
while (CountryIsAlreadyInArray(NewRandomCountries, NewPulledIndex) || Countries[NewPulledIndex].HardModeSelection)
while (CountryIsAlreadyInArray(NewRandomCountries, NewPulledIndex) || (Countries[NewPulledIndex].HardModeSelection && !HardMode))
{
NewPulledIndex = Random.Range(0, NumberOfCountries);
}
@@ -44,7 +44,7 @@ MonoBehaviour:
Data:
- Name:
Entry: 12
Data: 22
Data: 25
- Name:
Entry: 7
Data:
@@ -1040,85 +1040,19 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: _PlayerPodiums
Data: _Round1Manager
- Name: $v
Entry: 7
Data: 63|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _PlayerPodiums
Data: _Round1Manager
- Name: <UserType>k__BackingField
Entry: 7
Data: 64|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: PlayerPodium[], Assembly-CSharp
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 7
Data: 65|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: UnityEngine.Component[], UnityEngine.CoreModule
- Name:
Entry: 8
Data:
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
- Name:
Entry: 6
Data:
- Name:
Entry: 8
Data:
- Name: <IsSerialized>k__BackingField
Entry: 5
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 66|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 67|UnityEngine.SerializeField, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
- Name:
Entry: 13
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 1
Data: _CameraConsole
- Name: $v
Entry: 7
Data: 68|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _CameraConsole
- Name: <UserType>k__BackingField
Entry: 7
Data: 69|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: CameraSystem.CameraSystem_Console, Assembly-CSharp
Data: GameManagerRound1, Assembly-CSharp
- Name:
Entry: 8
Data:
@@ -1139,13 +1073,13 @@ MonoBehaviour:
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 70|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 65|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 71|UnityEngine.SerializeField, UnityEngine.CoreModule
Data: 66|UnityEngine.SerializeField, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
@@ -1166,19 +1100,85 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: _PotatoModeImage
Data: _Round2Manager
- Name: $v
Entry: 7
Data: 72|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
Data: 67|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _PotatoModeImage
Data: _Round2Manager
- Name: <UserType>k__BackingField
Entry: 9
Data: 25
Entry: 7
Data: 68|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: GameManagerRound2, Assembly-CSharp
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 25
Data: 4
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
- Name:
Entry: 6
Data:
- Name:
Entry: 8
Data:
- Name: <IsSerialized>k__BackingField
Entry: 5
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 69|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 70|UnityEngine.SerializeField, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
- Name:
Entry: 13
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 1
Data: _Round3Manager
- Name: $v
Entry: 7
Data: 71|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _Round3Manager
- Name: <UserType>k__BackingField
Entry: 7
Data: 72|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: GameManagerRound3, Assembly-CSharp
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 4
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@@ -1220,16 +1220,196 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: SELECTED_TAB_COLOUR
Data: _PlayerPodiums
- Name: $v
Entry: 7
Data: 75|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: SELECTED_TAB_COLOUR
Data: _PlayerPodiums
- Name: <UserType>k__BackingField
Entry: 7
Data: 76|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: PlayerPodium[], Assembly-CSharp
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 7
Data: 77|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: UnityEngine.Component[], UnityEngine.CoreModule
- Name:
Entry: 8
Data:
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
- Name:
Entry: 6
Data:
- Name:
Entry: 8
Data:
- Name: <IsSerialized>k__BackingField
Entry: 5
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 78|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 79|UnityEngine.SerializeField, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
- Name:
Entry: 13
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 1
Data: _CameraConsole
- Name: $v
Entry: 7
Data: 80|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _CameraConsole
- Name: <UserType>k__BackingField
Entry: 7
Data: 81|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: CameraSystem.CameraSystem_Console, Assembly-CSharp
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 4
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
- Name:
Entry: 6
Data:
- Name:
Entry: 8
Data:
- Name: <IsSerialized>k__BackingField
Entry: 5
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 82|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 83|UnityEngine.SerializeField, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
- Name:
Entry: 13
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 1
Data: _PotatoModeImage
- Name: $v
Entry: 7
Data: 84|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _PotatoModeImage
- Name: <UserType>k__BackingField
Entry: 9
Data: 25
- Name: <SystemType>k__BackingField
Entry: 9
Data: 25
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
- Name:
Entry: 6
Data:
- Name:
Entry: 8
Data:
- Name: <IsSerialized>k__BackingField
Entry: 5
Data: true
- Name: _fieldAttributes
Entry: 7
Data: 85|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 86|UnityEngine.SerializeField, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
- Name:
Entry: 13
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 1
Data: SELECTED_TAB_COLOUR
- Name: $v
Entry: 7
Data: 87|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: SELECTED_TAB_COLOUR
- Name: <UserType>k__BackingField
Entry: 7
Data: 88|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: UnityEngine.Color, UnityEngine.CoreModule
@@ -1238,7 +1418,7 @@ MonoBehaviour:
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 76
Data: 88
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@@ -1253,7 +1433,7 @@ MonoBehaviour:
Data: false
- Name: _fieldAttributes
Entry: 7
Data: 77|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 89|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 0
@@ -1277,16 +1457,16 @@ MonoBehaviour:
Data: POTATO_TOGGLED_ON_COLOUR
- Name: $v
Entry: 7
Data: 78|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
Data: 90|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: POTATO_TOGGLED_ON_COLOUR
- Name: <UserType>k__BackingField
Entry: 9
Data: 76
Data: 88
- Name: <SystemType>k__BackingField
Entry: 9
Data: 76
Data: 88
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@@ -1301,7 +1481,7 @@ MonoBehaviour:
Data: false
- Name: _fieldAttributes
Entry: 7
Data: 79|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
Data: 91|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 0
@@ -43,6 +43,9 @@ public class HostPanelInterface : UdonSharpBehaviour
[Space]
[SerializeField] private CaseManager _CaseManager;
[SerializeField] private GameManagerRound1 _Round1Manager;
[SerializeField] private GameManagerRound2 _Round2Manager;
[SerializeField] private GameManagerRound3 _Round3Manager;
[SerializeField] private PlayerPodium[] _PlayerPodiums;
[SerializeField] private CameraSystem_Console _CameraConsole;
[SerializeField] private Image _PotatoModeImage;
@@ -207,6 +210,19 @@ public class HostPanelInterface : UdonSharpBehaviour
"ResetPodium");
}
public void Round3_RandomiseMap_Easy()
{
_Round3Manager.RerandomiseMap(false);
}
public void Round3_RandomiseMap_Hard()
{
_Round3Manager.RerandomiseMap(true);
}
public void Round3_EndTimerEarly()
{
_Round3Manager.EndTimerEarly();
}
public void RestartRound1()
{
_CaseManager.ContinueToRound1();