- 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:
Jamie Greunbaum 2026-03-28 05:24:35 -04:00
parent 028550ed3f
commit 3b31f4c38b
10 changed files with 1578 additions and 410 deletions

View File

@ -11,7 +11,6 @@ GameObject:
- component: {fileID: 7241432374676536911}
- component: {fileID: 8045183386931381925}
- component: {fileID: 6622382881250925265}
- component: {fileID: 2104256769495490831}
m_Layer: 0
m_Name: Newspaper
m_TagString: Untagged
@ -84,28 +83,6 @@ MeshRenderer:
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!64 &2104256769495490831
MeshCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2396313974114816115}
m_Material: {fileID: 0}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_LayerOverridePriority: 0
m_IsTrigger: 0
m_ProvidesContacts: 0
m_Enabled: 1
serializedVersion: 5
m_Convex: 0
m_CookingOptions: 30
m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
--- !u!1 &8073544392714602498
GameObject:
m_ObjectHideFlags: 0

View File

@ -11,7 +11,6 @@ GameObject:
- component: {fileID: 1840311670225430452}
- component: {fileID: 4449623782578530148}
- component: {fileID: 1853164644565545129}
- component: {fileID: 4733969756081220924}
m_Layer: 23
m_Name: Timer Shadow
m_TagString: Untagged
@ -84,28 +83,6 @@ MeshRenderer:
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!64 &4733969756081220924
MeshCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2144391566429038996}
m_Material: {fileID: 0}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_LayerOverridePriority: 0
m_IsTrigger: 0
m_ProvidesContacts: 0
m_Enabled: 1
serializedVersion: 5
m_Convex: 0
m_CookingOptions: 30
m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
--- !u!1 &2305955422126925254
GameObject:
m_ObjectHideFlags: 0
@ -150,7 +127,6 @@ GameObject:
- component: {fileID: 8867489872500998328}
- component: {fileID: 5665008111509437234}
- component: {fileID: 7928594755389478293}
- component: {fileID: 1483020111879288612}
m_Layer: 23
m_Name: Timer
m_TagString: Untagged
@ -224,28 +200,6 @@ MeshRenderer:
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!64 &1483020111879288612
MeshCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2931761892402300280}
m_Material: {fileID: 0}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_LayerOverridePriority: 0
m_IsTrigger: 0
m_ProvidesContacts: 0
m_Enabled: 1
serializedVersion: 5
m_Convex: 0
m_CookingOptions: 30
m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
--- !u!1 &6724496829687796463
GameObject:
m_ObjectHideFlags: 0
@ -364,7 +318,6 @@ GameObject:
- component: {fileID: 5013644444883549052}
- component: {fileID: 6782731755518377502}
- component: {fileID: 4271253783985076640}
- component: {fileID: 7879612275263426022}
m_Layer: 23
m_Name: Counter Shadow
m_TagString: Untagged
@ -437,28 +390,6 @@ MeshRenderer:
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!64 &7879612275263426022
MeshCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7760355067001534755}
m_Material: {fileID: 0}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_LayerOverridePriority: 0
m_IsTrigger: 0
m_ProvidesContacts: 0
m_Enabled: 1
serializedVersion: 5
m_Convex: 0
m_CookingOptions: 30
m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
--- !u!1 &9197170563655528323
GameObject:
m_ObjectHideFlags: 0
@ -470,7 +401,6 @@ GameObject:
- component: {fileID: 8304324323685507503}
- component: {fileID: 931146767691669220}
- component: {fileID: 5093242939629858900}
- component: {fileID: 553723145425990315}
m_Layer: 23
m_Name: Counter
m_TagString: Untagged
@ -544,25 +474,3 @@ MeshRenderer:
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!64 &553723145425990315
MeshCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9197170563655528323}
m_Material: {fileID: 0}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_LayerOverridePriority: 0
m_IsTrigger: 0
m_ProvidesContacts: 0
m_Enabled: 1
serializedVersion: 5
m_Convex: 0
m_CookingOptions: 30
m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -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();

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);
}

View File

@ -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

View File

@ -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();