Improved sync and loot image loading for round 2.
This commit is contained in:
@@ -111,7 +111,7 @@ public class CaseManager : UdonSharpBehaviour
|
||||
ErrorString = "Ensure the 'Round 3' dictionary entry is a dictionary with a key called 'Continent' and an integer value.";
|
||||
}
|
||||
|
||||
ContinueToRound1();
|
||||
ContinueToRound2();
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -137,6 +137,7 @@ public class CaseManager : UdonSharpBehaviour
|
||||
RequestSerialization();
|
||||
}
|
||||
|
||||
|
||||
public string ContinueToRound1()
|
||||
{
|
||||
_HostCard.SetGameManager(_Round1Manager);
|
||||
|
||||
@@ -44,7 +44,7 @@ MonoBehaviour:
|
||||
Data:
|
||||
- Name:
|
||||
Entry: 12
|
||||
Data: 7
|
||||
Data: 8
|
||||
- Name:
|
||||
Entry: 7
|
||||
Data:
|
||||
@@ -386,19 +386,13 @@ MonoBehaviour:
|
||||
Data: 24|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
- Name:
|
||||
Entry: 12
|
||||
Data: 2
|
||||
Data: 1
|
||||
- Name:
|
||||
Entry: 7
|
||||
Data: 25|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- Name:
|
||||
Entry: 7
|
||||
Data: 26|UdonSharp.FieldChangeCallbackAttribute, UdonSharp.Runtime
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- Name:
|
||||
Entry: 13
|
||||
Data:
|
||||
@@ -419,13 +413,13 @@ MonoBehaviour:
|
||||
Data: _StageIndex
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 27|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
Data: 26|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: _StageIndex
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 7
|
||||
Data: 28|System.RuntimeType, mscorlib
|
||||
Data: 27|System.RuntimeType, mscorlib
|
||||
- Name:
|
||||
Entry: 1
|
||||
Data: System.Int32, mscorlib
|
||||
@@ -434,7 +428,7 @@ MonoBehaviour:
|
||||
Data:
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 28
|
||||
Data: 27
|
||||
- Name: <SyncMode>k__BackingField
|
||||
Entry: 7
|
||||
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
|
||||
@@ -449,13 +443,67 @@ MonoBehaviour:
|
||||
Data: false
|
||||
- Name: _fieldAttributes
|
||||
Entry: 7
|
||||
Data: 29|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
Data: 28|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
- Name:
|
||||
Entry: 12
|
||||
Data: 1
|
||||
- Name:
|
||||
Entry: 7
|
||||
Data: 30|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
|
||||
Data: 29|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: _CurrentPlayerCounter
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 30|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: _CurrentPlayerCounter
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 27
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 27
|
||||
- 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: 31|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
- Name:
|
||||
Entry: 12
|
||||
Data: 1
|
||||
- Name:
|
||||
Entry: 7
|
||||
Data: 32|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
|
||||
@@ -24,15 +24,22 @@ public class GameManagerRound2 : GameManagerBase
|
||||
|
||||
[SerializeField] private LocationBoard _LocationBoard;
|
||||
|
||||
[UdonSynced, FieldChangeCallback(nameof(Landmarks))] private string[] _Landmarks;
|
||||
[UdonSynced] private string[] _Landmarks;
|
||||
|
||||
[UdonSynced] private int _StageIndex = 0;
|
||||
[UdonSynced] private int _CurrentPlayerCounter = 0;
|
||||
|
||||
|
||||
public override void InitialiseGameMode()
|
||||
{
|
||||
_StageIndex = 0;
|
||||
|
||||
_CurrentPlayerCounter = 0;
|
||||
|
||||
_LocationBoard.RandomiseLocations();
|
||||
_LocationBoard.SetLootImageURL(_CaseManager.GetLootImage());
|
||||
|
||||
RequestSerialization();
|
||||
base.InitialiseGameMode();
|
||||
}
|
||||
|
||||
@@ -67,18 +74,17 @@ public class GameManagerRound2 : GameManagerBase
|
||||
}
|
||||
}
|
||||
|
||||
Landmarks = NewLandmarks;
|
||||
RequestSerialization();
|
||||
_Landmarks = NewLandmarks;
|
||||
_LocationBoard.SendCustomNetworkEvent(NetworkEventTarget.All, "PopulateLandmarks", NewLandmarks);
|
||||
|
||||
_LocationBoard.RandomiseMaterials();
|
||||
_LocationBoard.RandomiseLocations();
|
||||
|
||||
LocationBoardReset();
|
||||
// Make sure we have the correct interface up after the last function.
|
||||
|
||||
// Make sure we have the correct interface up after resetting the location board
|
||||
HostCardBetweenRoundsInterface Interface =
|
||||
(HostCardBetweenRoundsInterface)GetHostCardInterface(RoundSegmentType.BetweenSegments);
|
||||
|
||||
_LocationBoard.RequestSerialization();
|
||||
RequestSerialization();
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -108,9 +114,9 @@ public class GameManagerRound2 : GameManagerBase
|
||||
HostCardRecoverTheLootInterface RecoverTheLootInterface =
|
||||
(HostCardRecoverTheLootInterface)GetHostCardInterface(RoundSegmentType.RecoverTheLoot);
|
||||
|
||||
for (int i = 0; i < Landmarks.Length; i++)
|
||||
for (int i = 0; i < _Landmarks.Length; i++)
|
||||
{
|
||||
RecoverTheLootInterface.AddLandmarkName(i, Landmarks[i]);
|
||||
RecoverTheLootInterface.AddLandmarkName(i, _Landmarks[i]);
|
||||
}
|
||||
|
||||
NetworkCalling.SendCustomNetworkEvent((IUdonEventReceiver)_AudioManager, NetworkEventTarget.All,
|
||||
@@ -211,6 +217,8 @@ public class GameManagerRound2 : GameManagerBase
|
||||
|
||||
public void LocationBoardReset()
|
||||
{
|
||||
_CurrentPlayerCounter++;
|
||||
|
||||
NetworkCalling.SendCustomNetworkEvent(
|
||||
(IUdonEventReceiver)_LocationBoard,
|
||||
NetworkEventTarget.All,
|
||||
@@ -222,14 +230,11 @@ public class GameManagerRound2 : GameManagerBase
|
||||
Interface.EnableAllPanelButtons(true);
|
||||
|
||||
Interface.SetComment("[[PLAYER]], your turn.", Color.black);
|
||||
|
||||
RequestSerialization();
|
||||
}
|
||||
|
||||
|
||||
public VRCUrl GetLootImageURL()
|
||||
{
|
||||
return _CaseManager.GetLootImage();
|
||||
}
|
||||
|
||||
public Texture GetCrookPortrait()
|
||||
{
|
||||
return _CaseManager.GetAccusedCrookPortrait();
|
||||
@@ -310,15 +315,4 @@ public class GameManagerRound2 : GameManagerBase
|
||||
default: return "[[ERROR]]";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public string[] Landmarks
|
||||
{
|
||||
set
|
||||
{
|
||||
_Landmarks = value;
|
||||
_LocationBoard.PopulateBoard(_Landmarks);
|
||||
}
|
||||
get => _Landmarks;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user