- CameraAnchor can now have camera rotation offsets as well as FOV changes.

- CameraAnchor no longer needs to sync with LightSync, and so does not.
- Added noise texture to velvet rope material.
- Improved lightmaps on velvet rope model.
- Round 1 podiums now return empty strings when no player owns them.
- Winning player camera in round 2 now has rotation offset for a later effect.
- Jail phone syncs active status better, and finds a player to follow better.
This commit is contained in:
2026-05-05 03:58:58 -04:00
parent 9cda4eaf7c
commit 7b113a5c8a
35 changed files with 517 additions and 550 deletions
@@ -44,7 +44,7 @@ MonoBehaviour:
Data:
- Name:
Entry: 12
Data: 32
Data: 31
- Name:
Entry: 7
Data:
@@ -1448,19 +1448,19 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: _Players
Data: _RoundIsOver
- Name: $v
Entry: 7
Data: 95|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _Players
Data: _RoundIsOver
- Name: <UserType>k__BackingField
Entry: 9
Data: 85
Data: 42
- Name: <SystemType>k__BackingField
Entry: 9
Data: 85
Data: 42
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@@ -1502,70 +1502,16 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: _RoundIsOver
Data: _CameraControllerRound2
- Name: $v
Entry: 7
Data: 98|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _RoundIsOver
- Name: <UserType>k__BackingField
Entry: 9
Data: 42
- Name: <SystemType>k__BackingField
Entry: 9
Data: 42
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
- Name:
Entry: 3
Data: 1
- Name:
Entry: 8
Data:
- Name: <IsSerialized>k__BackingField
Entry: 5
Data: false
- Name: _fieldAttributes
Entry: 7
Data: 99|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data: 100|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
- 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: _CameraControllerRound2
- Name: $v
Entry: 7
Data: 101|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _CameraControllerRound2
- Name: <UserType>k__BackingField
Entry: 7
Data: 102|System.RuntimeType, mscorlib
Data: 99|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: CameraControllerRound2, Assembly-CSharp
@@ -1589,7 +1535,7 @@ MonoBehaviour:
Data: false
- Name: _fieldAttributes
Entry: 7
Data: 103|System.Collections.Generic.List`1[[System.Attribute, mscorlib]],
Data: 100|System.Collections.Generic.List`1[[System.Attribute, mscorlib]],
mscorlib
- Name:
Entry: 12
@@ -1614,7 +1560,7 @@ MonoBehaviour:
Data: _PlayingJailCall
- Name: $v
Entry: 7
Data: 104|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
Data: 101|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _PlayingJailCall
@@ -1638,7 +1584,7 @@ MonoBehaviour:
Data: false
- Name: _fieldAttributes
Entry: 7
Data: 105|System.Collections.Generic.List`1[[System.Attribute, mscorlib]],
Data: 102|System.Collections.Generic.List`1[[System.Attribute, mscorlib]],
mscorlib
- Name:
Entry: 12
@@ -1663,7 +1609,7 @@ MonoBehaviour:
Data: _PanelToReveal_Cache
- Name: $v
Entry: 7
Data: 106|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
Data: 103|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: _PanelToReveal_Cache
@@ -1685,6 +1631,61 @@ MonoBehaviour:
- Name: <IsSerialized>k__BackingField
Entry: 5
Data: false
- Name: _fieldAttributes
Entry: 7
Data: 104|System.Collections.Generic.List`1[[System.Attribute, mscorlib]],
mscorlib
- Name:
Entry: 12
Data: 0
- 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: COLOR_STANDARD
- Name: $v
Entry: 7
Data: 105|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: COLOR_STANDARD
- Name: <UserType>k__BackingField
Entry: 7
Data: 106|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: UnityEngine.Color, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
- Name: <SystemType>k__BackingField
Entry: 9
Data: 106
- 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: false
- Name: _fieldAttributes
Entry: 7
Data: 107|System.Collections.Generic.List`1[[System.Attribute, mscorlib]],
@@ -1709,25 +1710,19 @@ MonoBehaviour:
Data:
- Name: $k
Entry: 1
Data: COLOR_STANDARD
Data: COLOR_RED
- Name: $v
Entry: 7
Data: 108|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: COLOR_STANDARD
Data: COLOR_RED
- Name: <UserType>k__BackingField
Entry: 7
Data: 109|System.RuntimeType, mscorlib
- Name:
Entry: 1
Data: UnityEngine.Color, UnityEngine.CoreModule
- Name:
Entry: 8
Data:
Entry: 9
Data: 106
- Name: <SystemType>k__BackingField
Entry: 9
Data: 109
Data: 106
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@@ -1742,56 +1737,7 @@ MonoBehaviour:
Data: false
- Name: _fieldAttributes
Entry: 7
Data: 110|System.Collections.Generic.List`1[[System.Attribute, mscorlib]],
mscorlib
- Name:
Entry: 12
Data: 0
- 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: COLOR_RED
- Name: $v
Entry: 7
Data: 111|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: COLOR_RED
- Name: <UserType>k__BackingField
Entry: 9
Data: 109
- Name: <SystemType>k__BackingField
Entry: 9
Data: 109
- 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: false
- Name: _fieldAttributes
Entry: 7
Data: 112|System.Collections.Generic.List`1[[System.Attribute, mscorlib]],
Data: 109|System.Collections.Generic.List`1[[System.Attribute, mscorlib]],
mscorlib
- Name:
Entry: 12
@@ -1816,16 +1762,16 @@ MonoBehaviour:
Data: COLOR_YELLOW
- Name: $v
Entry: 7
Data: 113|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
Data: 110|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: COLOR_YELLOW
- Name: <UserType>k__BackingField
Entry: 9
Data: 109
Data: 106
- Name: <SystemType>k__BackingField
Entry: 9
Data: 109
Data: 106
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@@ -1840,7 +1786,7 @@ MonoBehaviour:
Data: false
- Name: _fieldAttributes
Entry: 7
Data: 114|System.Collections.Generic.List`1[[System.Attribute, mscorlib]],
Data: 111|System.Collections.Generic.List`1[[System.Attribute, mscorlib]],
mscorlib
- Name:
Entry: 12
@@ -1865,16 +1811,16 @@ MonoBehaviour:
Data: COLOR_GREEN
- Name: $v
Entry: 7
Data: 115|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
Data: 112|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
- Name: <Name>k__BackingField
Entry: 1
Data: COLOR_GREEN
- Name: <UserType>k__BackingField
Entry: 9
Data: 109
Data: 106
- Name: <SystemType>k__BackingField
Entry: 9
Data: 109
Data: 106
- Name: <SyncMode>k__BackingField
Entry: 7
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
@@ -1889,7 +1835,7 @@ MonoBehaviour:
Data: false
- Name: _fieldAttributes
Entry: 7
Data: 116|System.Collections.Generic.List`1[[System.Attribute, mscorlib]],
Data: 113|System.Collections.Generic.List`1[[System.Attribute, mscorlib]],
mscorlib
- Name:
Entry: 12
@@ -39,7 +39,6 @@ public class GameManagerRound2 : GameManagerBase
[UdonSynced] private int _StageIndex = 0;
[UdonSynced] private int _CurrentPlayerCounter = 0;
[UdonSynced] private string[] _Players = new string[2];
[UdonSynced] private bool _RoundIsOver = false;
private CameraControllerRound2 _CameraControllerRound2 = null;
@@ -111,7 +110,7 @@ public class GameManagerRound2 : GameManagerBase
{
_PlayingJailCall = false;
_JailPhone.Activate = false;
_JailPhone.Activate(false);
_JailChain.Show = false;
foreach (ArrivalDisplay Display in _ArrivalDisplays)
@@ -234,16 +233,11 @@ public class GameManagerRound2 : GameManagerBase
_CurrentPlayerCounter = 0;
_RoundIsOver = false;
for (int i = 0; i < _PlayerPodiums.Length && i < _Players.Length; i++)
{
_Players[i] = _PlayerPodiums[i].GetPlayer();
}
if (Networking.LocalPlayer == _CaseManager.GetHostOwner())
{
HostCardRecoverTheLootInterface RecoverTheLootInterface =
(HostCardRecoverTheLootInterface)GetHostCardInterface(RoundSegmentType.RecoverTheLoot);
RecoverTheLootInterface.SetComment(_Players[_CurrentPlayerCounter % _Players.Length] + ", you're up first.", COLOR_STANDARD);
RecoverTheLootInterface.SetComment(_PlayerPodiums[_CurrentPlayerCounter % _PlayerPodiums.Length].GetPlayer() + ", you're up first.", COLOR_STANDARD);
RecoverTheLootInterface.SetLootButton(_LocationBoard.LootLocation);
RecoverTheLootInterface.SetWarrantButton(_LocationBoard.WarrantLocation);
RecoverTheLootInterface.SetCrookButton(_LocationBoard.CrookLocation);
@@ -361,9 +355,13 @@ public class GameManagerRound2 : GameManagerBase
if (Networking.LocalPlayer != _CaseManager.GetHostOwner()) return;
_RoundIsOver = true;
int WinningPlayerNumber = _CurrentPlayerCounter % _Players.Length;
int WinningPlayerNumber = _CurrentPlayerCounter % _PlayerPodiums.Length;
string[] Winner = new string[1];
Winner[0] = _Players[WinningPlayerNumber];
Winner[0] = _PlayerPodiums[WinningPlayerNumber].GetPlayer();
if (Winner[0] == "")
{
Winner[0] = _CaseManager.GetHostOwner().displayName;
}
_CaseManager.SetCurrentWinningPlayers(Winner);
HostCardRecoverTheLootInterface Interface =
@@ -394,7 +392,7 @@ public class GameManagerRound2 : GameManagerBase
[NetworkCallable]
public void YoureWinnerConfettiPlayer()
{
_PlayerConfettiCannons[_CurrentPlayerCounter % _Players.Length].Play();
_PlayerConfettiCannons[_CurrentPlayerCounter % _PlayerConfettiCannons.Length].Play();
}
@@ -422,7 +420,7 @@ public class GameManagerRound2 : GameManagerBase
BetweenRoundsInterface.HeaderUI.text = "Phone Call: " + _CaseManager.GetCrookName();
BetweenRoundsInterface.CommentUI.text = "- You and I are going to " + _CaseManager.ContinentToString(_CaseManager.GetFinalRoundContinent());
_JailPhone.Activate = true;
_JailPhone.Activate(true);
_CameraControllerRound2.DeactivateHostWinnerCameraTrigger();
@@ -456,7 +454,7 @@ public class GameManagerRound2 : GameManagerBase
{
HostCardRecoverTheLootInterface Interface =
(HostCardRecoverTheLootInterface)GetHostCardInterface(RoundSegmentType.RecoverTheLoot);
Interface.SetComment(_Players[_CurrentPlayerCounter % _Players.Length] + ", your turn.", COLOR_STANDARD);
Interface.SetComment(_PlayerPodiums[_CurrentPlayerCounter % _PlayerPodiums.Length] + ", your turn.", COLOR_STANDARD);
SendCustomEventDelayedSeconds(nameof(ActivateAllPanelButtons_DelayFunction), 0.5f);
}
@@ -592,6 +590,15 @@ public class GameManagerRound2 : GameManagerBase
_CameraControllerRound2.SwitchToHostAndWinnerCamera();
}
[NetworkCallable]
public void FollowPlayerHoldingPhone(string PlayerToFollow)
{
if (_CaseManager.GetCurrentWinningPlayers()[0] == "")
{
_CameraControllerRound2.WinningPlayerCamera_FollowPlayers(new string[1] { PlayerToFollow });
}
}
[NetworkCallable]
public void PlayJailCall()
{