From 83e08ed40388af49c39568c4b28effbad15db00f Mon Sep 17 00:00:00 2001 From: Jamie Greunbaum Date: Sat, 19 Jul 2025 04:35:11 -0400 Subject: [PATCH] Correct/incorrect events are now guaranteed to fire only from the marker owner. --- Assets/Models/Maps/SM_FloorMap_Marker.fbx | Bin 20620 -> 20508 bytes Assets/Prefabs/Maps/Floor Map Marker.prefab | 616 ++++- Assets/Scenes/witwics.unity | 2455 ++++++++++++++--- .../Game Managers/GameManagerRound3.asset | 218 +- .../Game Managers/GameManagerRound3.cs | 144 +- Assets/UdonSharp/Maps/FloorMap.asset | 100 +- Assets/UdonSharp/Maps/FloorMap.cs | 33 +- Assets/UdonSharp/Maps/FloorMapMarker.asset | 320 +-- Assets/UdonSharp/Maps/FloorMapMarker.cs | 127 +- Raw Files/Meshes/FloorMapMarker.blend | Bin 118584 -> 116009 bytes 10 files changed, 3237 insertions(+), 776 deletions(-) diff --git a/Assets/Models/Maps/SM_FloorMap_Marker.fbx b/Assets/Models/Maps/SM_FloorMap_Marker.fbx index b639810a708846f05504ef50c9255114cf2e1051..814d55e8c6d6b595fa47e38aa63d1b0b0131a8e5 100644 GIT binary patch delta 3042 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 Z6%QX1?Gv^Ydn02JMhLh>^)2zs|35e?|GNMH delta 3007 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 v4x|+w-Pdk__BackingField Entry: 1 - Data: _StageIndex + Data: _ActiveMarker - Name: k__BackingField Entry: 9 Data: 29 @@ -518,13 +518,73 @@ MonoBehaviour: Data: 34|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 - Data: 1 + Data: 2 - Name: Entry: 7 Data: 35|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime - Name: Entry: 8 Data: + - Name: + Entry: 7 + Data: 36|UdonSharp.FieldChangeCallbackAttribute, 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: _StageIndex + - Name: $v + Entry: 7 + Data: 37|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: _StageIndex + - Name: k__BackingField + Entry: 9 + Data: 29 + - Name: k__BackingField + Entry: 9 + Data: 29 + - Name: k__BackingField + Entry: 7 + Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib + - Name: + Entry: 3 + Data: 1 + - Name: + Entry: 8 + Data: + - Name: k__BackingField + Entry: 5 + Data: false + - Name: _fieldAttributes + Entry: 7 + Data: 38|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + - Name: + Entry: 12 + Data: 1 + - Name: + Entry: 7 + Data: 39|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime + - Name: + Entry: 8 + Data: - Name: Entry: 13 Data: @@ -545,13 +605,13 @@ MonoBehaviour: Data: _ContinentData - Name: $v Entry: 7 - Data: 36|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 40|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: _ContinentData - Name: k__BackingField Entry: 7 - Data: 37|System.RuntimeType, mscorlib + Data: 41|System.RuntimeType, mscorlib - Name: Entry: 1 Data: VRC.SDK3.Data.DataDictionary, VRCSDK3 @@ -560,7 +620,7 @@ MonoBehaviour: Data: - Name: k__BackingField Entry: 9 - Data: 37 + Data: 41 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -575,7 +635,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 38|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 42|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 0 @@ -599,13 +659,13 @@ MonoBehaviour: Data: _GameStatus - Name: $v Entry: 7 - Data: 39|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 43|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: _GameStatus - Name: k__BackingField Entry: 7 - Data: 40|System.RuntimeType, mscorlib + Data: 44|System.RuntimeType, mscorlib - Name: Entry: 1 Data: GameStatus, Assembly-CSharp @@ -629,13 +689,67 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 41|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 45|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 1 - Name: Entry: 7 - Data: 42|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime + Data: 46|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: _RunTimer + - Name: $v + Entry: 7 + Data: 47|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: _RunTimer + - Name: k__BackingField + Entry: 9 + Data: 8 + - Name: k__BackingField + Entry: 9 + Data: 8 + - Name: k__BackingField + Entry: 7 + Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib + - Name: + Entry: 3 + Data: 1 + - Name: + Entry: 8 + Data: + - Name: k__BackingField + Entry: 5 + Data: false + - Name: _fieldAttributes + Entry: 7 + Data: 48|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + - Name: + Entry: 12 + Data: 1 + - Name: + Entry: 7 + Data: 49|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime - Name: Entry: 8 Data: @@ -659,7 +773,7 @@ MonoBehaviour: Data: _Timer - Name: $v Entry: 7 - Data: 43|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 50|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: _Timer @@ -683,13 +797,13 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 44|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 51|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 1 - Name: Entry: 7 - Data: 45|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime + Data: 52|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime - Name: Entry: 8 Data: @@ -713,7 +827,7 @@ MonoBehaviour: Data: _SuccessCounter - Name: $v Entry: 7 - Data: 46|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 53|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: _SuccessCounter @@ -737,13 +851,79 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 47|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 54|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 - Data: 1 + Data: 2 - Name: Entry: 7 - Data: 48|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime + Data: 55|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime + - Name: + Entry: 8 + Data: + - Name: + Entry: 7 + Data: 56|UdonSharp.FieldChangeCallbackAttribute, 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: _FailureCounter + - Name: $v + Entry: 7 + Data: 57|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: _FailureCounter + - Name: k__BackingField + Entry: 9 + Data: 29 + - Name: k__BackingField + Entry: 9 + Data: 29 + - Name: k__BackingField + Entry: 7 + Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib + - Name: + Entry: 3 + Data: 1 + - Name: + Entry: 8 + Data: + - Name: k__BackingField + Entry: 5 + Data: false + - Name: _fieldAttributes + Entry: 7 + Data: 58|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + - Name: + Entry: 12 + Data: 2 + - Name: + Entry: 7 + Data: 59|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime + - Name: + Entry: 8 + Data: + - Name: + Entry: 7 + Data: 60|UdonSharp.FieldChangeCallbackAttribute, UdonSharp.Runtime - Name: Entry: 8 Data: diff --git a/Assets/UdonSharp/Game Managers/GameManagerRound3.cs b/Assets/UdonSharp/Game Managers/GameManagerRound3.cs index de968f8..cf596d6 100644 --- a/Assets/UdonSharp/Game Managers/GameManagerRound3.cs +++ b/Assets/UdonSharp/Game Managers/GameManagerRound3.cs @@ -3,6 +3,7 @@ using UdonSharp; using UnityEngine; using VRC.SDK3.Data; using VRC.SDK3.UdonNetworkCalling; +using VRC.SDKBase; using VRC.Udon.Common.Interfaces; @@ -39,34 +40,50 @@ public class GameManagerRound3 : GameManagerBase [SerializeField] private AudioManager _AudioManager; [UdonSynced, FieldChangeCallback(nameof(CurrentlyActiveMap))] private ContinentMap _CurrentlyActiveMap = ContinentMap.INDEX_MAX; + [UdonSynced, FieldChangeCallback(nameof(ActiveMarker))] private int _ActiveMarker = 0; [UdonSynced] private int _StageIndex = 0; private DataDictionary _ContinentData; [UdonSynced] private GameStatus _GameStatus = GameStatus.Pregame; + [UdonSynced] private bool _RunTimer = false; [UdonSynced] private int _Timer = TIMER_LENGTH; private const float LENGTH_OF_ONE_SECOND = 1.022222222222222222222f; private const int TIMER_LENGTH = 45; - [UdonSynced] private int _SuccessCounter = 0; + [UdonSynced, FieldChangeCallback(nameof(SuccessCounter))] private int _SuccessCounter = 0; + [UdonSynced, FieldChangeCallback(nameof(FailureCounter))] private int _FailureCounter = 0; + private const int MAX_SUCCESS_COUNT = 8; + private const int MAX_FAILURE_COUNT = 2; public override void InitialiseGameMode() { _StageIndex = 0; - _SuccessCounter = 0; - _Timer = TIMER_LENGTH; + SuccessCounter = 0; + FailureCounter = 0; + + _Timer = TIMER_LENGTH; + _RunTimer = false; + + InitialiseMarkers(); + GetCurrentMap().RandomiseCountries(); + + RequestSerialization(); + base.InitialiseGameMode(); + } + + private void InitialiseMarkers() + { for (int i = 0; i < _Markers.Length; i++) { - _Markers[i].Initialise(); + Networking.SetOwner(Networking.GetOwner(gameObject), _Markers[i].gameObject); + _Markers[i].SendCustomNetworkEvent(NetworkEventTarget.All, "Initialise"); } - _Markers[0].SetPickupable(true); - GetCurrentMap().RandomiseCountries(); - RequestSerialization(); - - base.InitialiseGameMode(); + _ActiveMarker = 0; + GetCurrentMarker().SendCustomNetworkEvent(NetworkEventTarget.All, "SetPickupable", true); } @@ -118,7 +135,7 @@ public class GameManagerRound3 : GameManagerBase public void BeginRound() { - GetCurrentMarker().SendCustomNetworkEvent(NetworkEventTarget.Owner, "Activated", true); + GetCurrentMarker().SendCustomNetworkEvent(NetworkEventTarget.All, "Activated", true); UpdateInterface(); @@ -132,13 +149,21 @@ public class GameManagerRound3 : GameManagerBase _GameStatus = GameStatus.Begin; _Timer = TIMER_LENGTH; - SendCustomEventDelayedSeconds(nameof(TickTimer), LENGTH_OF_ONE_SECOND); + SendCustomNetworkEvent(NetworkEventTarget.Owner, nameof(BeginTimerTick)); RequestSerialization(); } + [NetworkCallable] + public void BeginTimerTick() + { + _RunTimer = true; + SendCustomEventDelayedSeconds(nameof(TickTimer), LENGTH_OF_ONE_SECOND); + } public void TickTimer() { + if (!_RunTimer) return; + _Timer--; if (_Timer < 0) { @@ -146,17 +171,21 @@ public class GameManagerRound3 : GameManagerBase return; } - SendCustomEventDelayedSeconds(nameof(TickTimer), LENGTH_OF_ONE_SECOND); + BeginTimerTick(); RequestSerialization(); } + [NetworkCallable] public void CorrectResponse() { - _SuccessCounter++; - if (_SuccessCounter >= MAX_SUCCESS_COUNT) + _AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All, + "PlaySFX", SFXEventType.MapCorrect); + + SuccessCounter++; + if (SuccessCounter >= MAX_SUCCESS_COUNT) { - SendCustomNetworkEvent(NetworkEventTarget.Owner, nameof(GameHasBeenWon)); + GameHasBeenWon(); } else { @@ -166,9 +195,19 @@ public class GameManagerRound3 : GameManagerBase RequestSerialization(); } + [NetworkCallable] public void IncorrectResponse() { - SetUpNextCountry(); + _AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All, + "PlaySFX", SFXEventType.MapIncorrect); + + FailureCounter++; + if (FailureCounter >= MAX_FAILURE_COUNT) + { + SetUpNextCountry(); + } + + RequestSerialization(); } @@ -179,35 +218,46 @@ public class GameManagerRound3 : GameManagerBase public FloorMapMarker GetCurrentMarker() { - return _Markers[GetCurrentMap().GetCurrentCountryIndex()]; + return _Markers[ActiveMarker]; } public string GetCurrentCountry() { - return GetCurrentMap().GetCurrentCountry(); + return GetCurrentMap().GetCountry(ActiveMarker); } public string GetCurrentCity() { - return GetCurrentMap().GetCurrentCity(); + return GetCurrentMap().GetCity(ActiveMarker); } public void SetUpNextCountry() { - int NextCountry = GetCurrentMap().NextCountry(); - if (NextCountry < 0) + GetCurrentMarker().SendCustomNetworkEvent(NetworkEventTarget.All, "Activated", false); + + FailureCounter = 0; + ActiveMarker++; + UpdateInterface(); + + RequestSerialization(); + } + + private void ActivateMarker() + { + if (ActiveMarker >= FloorMap.MAX_SELECTED_COUNTRIES) { // If we ran out of countries, lose the game here. SendCustomNetworkEvent(NetworkEventTarget.Owner, nameof(GameHasBeenLost), true); return; } - GetCurrentMarker().SendCustomNetworkEvent(NetworkEventTarget.Owner, "Activated", true); - UpdateInterface(); + GetCurrentMarker().SendCustomNetworkEvent(NetworkEventTarget.All, "Activated", true); } [NetworkCallable] public void GameHasBeenWon() { + _RunTimer = false; + if ((int)_GameStatus <= (int)GameStatus.Begin) { GameStatusUpdate(GameStatus.Win); @@ -244,18 +294,20 @@ public class GameManagerRound3 : GameManagerBase [NetworkCallable] public void GameHasBeenLost(bool RanOutOfMarkers) { - if ((int)_GameStatus != (int)GameStatus.Win) + _RunTimer = false; + + if (_GameStatus != GameStatus.Win) { for (int i = 0; i < _Markers.Length; i++) { - _Markers[i].SendCustomNetworkEvent(NetworkEventTarget.Owner, "Activated", false); + _Markers[i].SendCustomNetworkEvent(NetworkEventTarget.All, "Activated", false); } GameStatusUpdate(RanOutOfMarkers ? GameStatus.RanOutOfMarkers : GameStatus.RanOutOfTime); HostCardBetweenRoundsInterface GameLossInterface = (HostCardBetweenRoundsInterface)GetHostCardInterface(RoundSegmentType.BetweenSegments); - GameLossInterface.HeaderUI.text = "The player has lost. " + _SuccessCounter + " countries in " + TIMER_LENGTH + " seconds."; + GameLossInterface.HeaderUI.text = "The player has run out of " + (RanOutOfMarkers ? "markers" : "time") + ". " + SuccessCounter + " countries in " + TIMER_LENGTH + " seconds."; StopFinalRoundMusic(); SendCustomEventDelayedSeconds(nameof(PlayWindDownMusic), 2.5f); @@ -299,18 +351,6 @@ public class GameManagerRound3 : GameManagerBase } - public void PlayCorrectSound() - { - _AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All, - "PlaySFX", SFXEventType.MapCorrect); - } - - public void PlayIncorrectSound() - { - _AudioManager.SendCustomNetworkEvent(NetworkEventTarget.All, - "PlaySFX", SFXEventType.MapIncorrect); - } - private void UpdateInterface() { HostCardCaptureCarmenInterface CaptureCarmenInterface = @@ -351,4 +391,32 @@ public class GameManagerRound3 : GameManagerBase } get => _CurrentlyActiveMap; } + + public int ActiveMarker + { + set + { + _ActiveMarker = value; + ActivateMarker(); + } + get => _ActiveMarker; + } + + private int SuccessCounter + { + set + { + _SuccessCounter = value; + } + get => _SuccessCounter; + } + + private int FailureCounter + { + set + { + _FailureCounter = value; + } + get => _FailureCounter; + } } diff --git a/Assets/UdonSharp/Maps/FloorMap.asset b/Assets/UdonSharp/Maps/FloorMap.asset index be42735..dfd075c 100644 --- a/Assets/UdonSharp/Maps/FloorMap.asset +++ b/Assets/UdonSharp/Maps/FloorMap.asset @@ -44,7 +44,7 @@ MonoBehaviour: Data: - Name: Entry: 12 - Data: 6 + Data: 5 - Name: Entry: 7 Data: @@ -110,19 +110,19 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: _CurrentCountry + Data: _Activate - Name: $v Entry: 7 Data: 6|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: _CurrentCountry + Data: _Activate - Name: k__BackingField Entry: 7 Data: 7|System.RuntimeType, mscorlib - Name: Entry: 1 - Data: System.Int32, mscorlib + Data: System.Boolean, mscorlib - Name: Entry: 8 Data: @@ -146,76 +146,16 @@ MonoBehaviour: Data: 8|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 - Data: 1 + Data: 2 - Name: Entry: 7 Data: 9|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: _Activate - - Name: $v - Entry: 7 - Data: 10|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - - Name: k__BackingField - Entry: 1 - Data: _Activate - - Name: k__BackingField - Entry: 7 - Data: 11|System.RuntimeType, mscorlib - - Name: - Entry: 1 - Data: System.Boolean, mscorlib - - Name: - Entry: 8 - Data: - - Name: k__BackingField - Entry: 9 - Data: 11 - - Name: k__BackingField - Entry: 7 - Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib - - Name: - Entry: 3 - Data: 1 - - Name: - Entry: 8 - Data: - - Name: k__BackingField - Entry: 5 - Data: false - - Name: _fieldAttributes - Entry: 7 - Data: 12|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - - Name: - Entry: 12 - Data: 2 - - Name: - Entry: 7 - Data: 13|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime - - Name: - Entry: 8 - Data: - - Name: - Entry: 7 - Data: 14|UdonSharp.FieldChangeCallbackAttribute, UdonSharp.Runtime + Data: 10|UdonSharp.FieldChangeCallbackAttribute, UdonSharp.Runtime - Name: Entry: 8 Data: @@ -239,13 +179,13 @@ MonoBehaviour: Data: _RandomisedCountriesAndCities - Name: $v Entry: 7 - Data: 15|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 11|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: _RandomisedCountriesAndCities - Name: k__BackingField Entry: 7 - Data: 16|System.RuntimeType, mscorlib + Data: 12|System.RuntimeType, mscorlib - Name: Entry: 1 Data: System.Int32[], mscorlib @@ -254,7 +194,7 @@ MonoBehaviour: Data: - Name: k__BackingField Entry: 9 - Data: 16 + Data: 12 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -269,19 +209,19 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 17|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 13|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 2 - Name: Entry: 7 - Data: 18|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime + Data: 14|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime - Name: Entry: 8 Data: - Name: Entry: 7 - Data: 19|UdonSharp.FieldChangeCallbackAttribute, UdonSharp.Runtime + Data: 15|UdonSharp.FieldChangeCallbackAttribute, UdonSharp.Runtime - Name: Entry: 8 Data: @@ -305,13 +245,13 @@ MonoBehaviour: Data: _ChosenCountries - Name: $v Entry: 7 - Data: 20|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 16|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: _ChosenCountries - Name: k__BackingField Entry: 7 - Data: 21|System.RuntimeType, mscorlib + Data: 17|System.RuntimeType, mscorlib - Name: Entry: 1 Data: System.String[], mscorlib @@ -320,7 +260,7 @@ MonoBehaviour: Data: - Name: k__BackingField Entry: 9 - Data: 21 + Data: 17 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -335,7 +275,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 22|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 18|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 0 @@ -359,16 +299,16 @@ MonoBehaviour: Data: _ChosenCities - Name: $v Entry: 7 - Data: 23|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 19|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: _ChosenCities - Name: k__BackingField Entry: 9 - Data: 21 + Data: 17 - Name: k__BackingField Entry: 9 - Data: 21 + Data: 17 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -383,7 +323,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 24|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 20|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 0 diff --git a/Assets/UdonSharp/Maps/FloorMap.cs b/Assets/UdonSharp/Maps/FloorMap.cs index 0760ca5..e4dc5c6 100644 --- a/Assets/UdonSharp/Maps/FloorMap.cs +++ b/Assets/UdonSharp/Maps/FloorMap.cs @@ -11,14 +11,13 @@ public class FloorMap : UdonSharpBehaviour { public FloorMapCountry[] Countries; - [UdonSynced] private int _CurrentCountry = 0; [UdonSynced, FieldChangeCallback(nameof(Activate))] private bool _Activate; [UdonSynced, FieldChangeCallback(nameof(RandomisedCountriesAndCities))] private int[] _RandomisedCountriesAndCities; private string[] _ChosenCountries = new string[MAX_SELECTED_COUNTRIES]; private string[] _ChosenCities = new string[MAX_SELECTED_COUNTRIES]; - private const int MAX_SELECTED_COUNTRIES = 13; + public const int MAX_SELECTED_COUNTRIES = 13; private const float DEACTIVATE_HEIGHT = -1000.0f; @@ -88,8 +87,6 @@ public class FloorMap : UdonSharpBehaviour { DisableAllLocations(); - _CurrentCountry = 0; - for (int i = 0; i < MAX_SELECTED_COUNTRIES; i++) { FloorMapCountry Country = Countries[NewCountrySelections[i]]; @@ -105,34 +102,14 @@ public class FloorMap : UdonSharpBehaviour _RandomisedCountriesAndCities = NewCountrySelections; } - public int NextCountry() + public string GetCountry(int CountryIndex) { - _CurrentCountry++; - if (_CurrentCountry >= MAX_SELECTED_COUNTRIES) - { - // We ran out of countries. Just end the game here. - return -1; - } - - RequestSerialization(); - - return _CurrentCountry; + return CountryIndex < _ChosenCountries.Length ? _ChosenCountries[CountryIndex] : ""; } - - public int GetCurrentCountryIndex() + public string GetCity(int CityIndex) { - return _CurrentCountry; - } - - public string GetCurrentCountry() - { - return _ChosenCountries[_CurrentCountry]; - } - - public string GetCurrentCity() - { - return _ChosenCities[_CurrentCountry]; + return CityIndex < _ChosenCities.Length ? _ChosenCities[CityIndex] : ""; } diff --git a/Assets/UdonSharp/Maps/FloorMapMarker.asset b/Assets/UdonSharp/Maps/FloorMapMarker.asset index 5740aa2..9b4aa24 100644 --- a/Assets/UdonSharp/Maps/FloorMapMarker.asset +++ b/Assets/UdonSharp/Maps/FloorMapMarker.asset @@ -44,7 +44,7 @@ MonoBehaviour: Data: - Name: Entry: 12 - Data: 16 + Data: 15 - Name: Entry: 7 Data: @@ -422,13 +422,13 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: _LocationFindingEnabled + Data: _EnableCollisionChecks - Name: $v Entry: 7 Data: 28|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: _LocationFindingEnabled + Data: _EnableCollisionChecks - Name: k__BackingField Entry: 9 Data: 15 @@ -476,16 +476,70 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: _FailureCounter + Data: _UsedUp - Name: $v Entry: 7 Data: 31|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: _FailureCounter + Data: _UsedUp + - Name: k__BackingField + Entry: 9 + Data: 15 + - Name: k__BackingField + Entry: 9 + Data: 15 + - Name: k__BackingField + Entry: 7 + Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib + - Name: + Entry: 3 + Data: 1 + - Name: + Entry: 8 + Data: + - Name: k__BackingField + Entry: 5 + Data: false + - Name: _fieldAttributes + Entry: 7 + Data: 32|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + - Name: + Entry: 12 + Data: 1 + - Name: + Entry: 7 + Data: 33|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: _CollisionCheckCounter + - Name: $v + Entry: 7 + Data: 34|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: _CollisionCheckCounter - Name: k__BackingField Entry: 7 - Data: 32|System.RuntimeType, mscorlib + Data: 35|System.RuntimeType, mscorlib - Name: Entry: 1 Data: System.Int32, mscorlib @@ -494,115 +548,7 @@ MonoBehaviour: Data: - Name: k__BackingField Entry: 9 - Data: 32 - - Name: k__BackingField - Entry: 7 - Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib - - Name: - Entry: 3 - Data: 1 - - Name: - Entry: 8 - Data: - - Name: k__BackingField - Entry: 5 - Data: false - - Name: _fieldAttributes - Entry: 7 - Data: 33|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - - Name: - Entry: 12 - Data: 1 - - Name: - Entry: 7 - Data: 34|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: _CheckingCollisions - - Name: $v - Entry: 7 - Data: 35|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - - Name: k__BackingField - Entry: 1 - Data: _CheckingCollisions - - Name: k__BackingField - Entry: 9 - Data: 15 - - Name: k__BackingField - Entry: 9 - Data: 15 - - Name: k__BackingField - Entry: 7 - Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib - - Name: - Entry: 3 - Data: 1 - - Name: - Entry: 8 - Data: - - Name: k__BackingField - Entry: 5 - Data: false - - Name: _fieldAttributes - Entry: 7 - Data: 36|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - - Name: - Entry: 12 - Data: 1 - - Name: - Entry: 7 - Data: 37|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: _CollisionCheckCounter - - Name: $v - Entry: 7 - Data: 38|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - - Name: k__BackingField - Entry: 1 - Data: _CollisionCheckCounter - - Name: k__BackingField - Entry: 9 - Data: 32 - - Name: k__BackingField - Entry: 9 - Data: 32 + Data: 35 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -617,7 +563,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 39|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 36|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 0 @@ -641,16 +587,70 @@ MonoBehaviour: Data: _NoCollisionCounter - Name: $v Entry: 7 - Data: 40|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 37|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: _NoCollisionCounter - Name: k__BackingField Entry: 9 - Data: 32 + Data: 35 - Name: k__BackingField Entry: 9 - Data: 32 + Data: 35 + - Name: k__BackingField + Entry: 7 + Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib + - Name: + Entry: 6 + Data: + - Name: + Entry: 8 + Data: + - Name: k__BackingField + Entry: 5 + Data: false + - Name: _fieldAttributes + Entry: 7 + Data: 38|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: _CollidingLocations + - Name: $v + Entry: 7 + Data: 39|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: _CollidingLocations + - Name: k__BackingField + Entry: 7 + Data: 40|System.RuntimeType, mscorlib + - Name: + Entry: 1 + Data: VRC.SDK3.Data.DataList, VRCSDK3 + - Name: + Entry: 8 + Data: + - Name: k__BackingField + Entry: 9 + Data: 40 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -686,19 +686,19 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: _CollidingLocations + Data: _RigidBodyComponent - Name: $v Entry: 7 Data: 42|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: _CollidingLocations + Data: _RigidBodyComponent - Name: k__BackingField Entry: 7 Data: 43|System.RuntimeType, mscorlib - Name: Entry: 1 - Data: VRC.SDK3.Data.DataList, VRCSDK3 + Data: UnityEngine.Rigidbody, UnityEngine.PhysicsModule - Name: Entry: 8 Data: @@ -740,25 +740,25 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: _RigidBodyComponent + Data: _ObjectSync - Name: $v Entry: 7 Data: 45|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: _RigidBodyComponent + Data: _ObjectSync - Name: k__BackingField Entry: 7 Data: 46|System.RuntimeType, mscorlib - Name: Entry: 1 - Data: UnityEngine.Rigidbody, UnityEngine.PhysicsModule + Data: MMMaellon.LightSync.LightSync, com.mmmaellon.lightsync - Name: Entry: 8 Data: - Name: k__BackingField Entry: 9 - Data: 46 + Data: 4 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -794,25 +794,25 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: _ObjectSync + Data: _PickupComponent - Name: $v Entry: 7 Data: 48|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: _ObjectSync + Data: _PickupComponent - Name: k__BackingField Entry: 7 Data: 49|System.RuntimeType, mscorlib - Name: Entry: 1 - Data: MMMaellon.LightSync.LightSync, com.mmmaellon.lightsync + Data: VRC.SDK3.Components.VRCPickup, VRCSDK3 - Name: Entry: 8 Data: - Name: k__BackingField Entry: 9 - Data: 4 + Data: 49 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -848,19 +848,19 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: _PickupComponent + Data: _MarkerMesh - Name: $v Entry: 7 Data: 51|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: _PickupComponent + Data: _MarkerMesh - Name: k__BackingField Entry: 7 Data: 52|System.RuntimeType, mscorlib - Name: Entry: 1 - Data: VRC.SDK3.Components.VRCPickup, VRCSDK3 + Data: UnityEngine.MeshRenderer, UnityEngine.CoreModule - Name: Entry: 8 Data: @@ -897,60 +897,6 @@ MonoBehaviour: - Name: Entry: 8 Data: - - Name: - Entry: 7 - Data: - - Name: $k - Entry: 1 - Data: _MarkerMesh - - Name: $v - Entry: 7 - Data: 54|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - - Name: k__BackingField - Entry: 1 - Data: _MarkerMesh - - Name: k__BackingField - Entry: 7 - Data: 55|System.RuntimeType, mscorlib - - Name: - Entry: 1 - Data: UnityEngine.MeshRenderer, UnityEngine.CoreModule - - Name: - Entry: 8 - Data: - - Name: k__BackingField - Entry: 9 - Data: 55 - - Name: k__BackingField - Entry: 7 - Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib - - Name: - Entry: 6 - Data: - - Name: - Entry: 8 - Data: - - Name: k__BackingField - Entry: 5 - Data: false - - Name: _fieldAttributes - Entry: 7 - Data: 56|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: 13 Data: diff --git a/Assets/UdonSharp/Maps/FloorMapMarker.cs b/Assets/UdonSharp/Maps/FloorMapMarker.cs index c410612..dddf078 100644 --- a/Assets/UdonSharp/Maps/FloorMapMarker.cs +++ b/Assets/UdonSharp/Maps/FloorMapMarker.cs @@ -20,10 +20,10 @@ public class FloorMapMarker : UdonSharpBehaviour [UdonSynced, SerializeField, FieldChangeCallback(nameof(Active))] private bool _Active = false; [UdonSynced, FieldChangeCallback(nameof(IsGrabbed))] private bool _IsGrabbed = false; [UdonSynced, FieldChangeCallback(nameof(IsLit))] private bool _IsLit = false; - [UdonSynced] private bool _LocationFindingEnabled = false; - [UdonSynced] private int _FailureCounter = 0; - [UdonSynced] private bool _CheckingCollisions = false; + [UdonSynced] private bool _EnableCollisionChecks = false; + + [UdonSynced] private bool _UsedUp = false; private int _CollisionCheckCounter = 0; private int _NoCollisionCounter = 0; private DataList _CollidingLocations = new DataList(); @@ -33,7 +33,6 @@ public class FloorMapMarker : UdonSharpBehaviour private VRCPickup _PickupComponent; private MeshRenderer _MarkerMesh; - private const int MAX_FAILURE_COUNT = 2; private const int MAX_REPEAT_COLLISION_CHECKS = 3; private const int MAX_CHECKS_WITH_NO_COLLISIONS = 8; private const float TIME_BETWEEN_REPEAT_COLLISION_CHECKS = 0.15f; @@ -47,18 +46,21 @@ public class FloorMapMarker : UdonSharpBehaviour _MarkerMesh = GetComponent(); } + + [NetworkCallable] public void Initialise() { + _RigidBodyComponent.constraints = RigidbodyConstraints.None; _ObjectSync.TeleportToLocalSpace(Vector3.zero, Quaternion.identity, true); SetPickupable(false); Active = false; IsGrabbed = false; IsLit = false; - _LocationFindingEnabled = false; - _CheckingCollisions = false; - _FailureCounter = 0; + _EnableCollisionChecks = false; + _UsedUp = false; + _CollisionCheckCounter = 0; _NoCollisionCounter = 0; _CollidingLocations.Clear(); @@ -66,6 +68,7 @@ public class FloorMapMarker : UdonSharpBehaviour RequestSerialization(); } + [NetworkCallable] public void SetPickupable(bool Pickupable) { _PickupComponent.pickupable = Pickupable; @@ -93,20 +96,14 @@ public class FloorMapMarker : UdonSharpBehaviour public override void OnPickup() { - if (Active) - { - IsGrabbed = true; - } + IsGrabbed = true; base.OnPickup(); } public override void OnDrop() { - if (Active) - { - IsGrabbed = false; - } + IsGrabbed = false; base.OnDrop(); } @@ -124,13 +121,12 @@ public class FloorMapMarker : UdonSharpBehaviour { _RigidBodyComponent.constraints = RigidbodyConstraints.None; + _EnableCollisionChecks = true; _NoCollisionCounter = 0; _CollidingLocations.Clear(); } else { - _LocationFindingEnabled = true; - VRCPlayerApi Owner = Networking.GetOwner(gameObject); if (!Owner.IsUserInVR()) { @@ -138,62 +134,52 @@ public class FloorMapMarker : UdonSharpBehaviour } _NoCollisionCounter = 0; - if (!_CheckingCollisions) SendCustomNetworkEvent(NetworkEventTarget.Owner, nameof(CheckCollisions)); } RequestSerialization(); } - [NetworkCallable] - public void CheckCollisions() + public void CheckCollisionsLoop() { - if (!Active || !_LocationFindingEnabled || IsGrabbed) return; - - _CheckingCollisions = true; - - if (_CollidingLocations.Count > 0 && IsUpright()) + if (Active) { - _NoCollisionCounter = 0; + SendCustomEventDelayedSeconds(nameof(CheckCollisionsLoop), TIME_BETWEEN_REPEAT_COLLISION_CHECKS); + } - for (int i = 0; i < _CollidingLocations.Count; i++) + if (_EnableCollisionChecks && !IsGrabbed) + { + if (_CollidingLocations.Count > 0 && IsUpright()) { - FloorMapLocation Location = (FloorMapLocation)_CollidingLocations[i].Reference; - if (Location != null) + _NoCollisionCounter = 0; + + for (int i = 0; i < _CollidingLocations.Count; i++) { - bool FoundCorrectResponse = ConfirmChoice(Location.Country, Location.City); - if (FoundCorrectResponse) + FloorMapLocation Location = (FloorMapLocation)_CollidingLocations[i].Reference; + if (Location != null) { - SendCorrectResponse(Location.transform.position); - return; + bool FoundCorrectResponse = ConfirmChoice(Location.Country, Location.City); + if (FoundCorrectResponse) + { + SendCorrectResponse(Location.transform.position); + return; + } } } - } - // We should make sure to only reach here if we don't get a correct - // response from the previous loop. - if (_CollisionCheckCounter < MAX_REPEAT_COLLISION_CHECKS) - { - SendCustomEventDelayedSeconds(nameof(CheckCollisions), TIME_BETWEEN_REPEAT_COLLISION_CHECKS); + _CollisionCheckCounter++; + if (_CollisionCheckCounter >= MAX_REPEAT_COLLISION_CHECKS) + { + SendIncorrectResponse(); + } } else { - SendIncorrectResponse(); - } - _CollisionCheckCounter++; - } - else - { - _NoCollisionCounter++; - if (_NoCollisionCounter >= MAX_CHECKS_WITH_NO_COLLISIONS) - { - SendIncorrectResponse(); - } - else - { - // If the marker isn't sitting mostly upright and is not grabbed, - // don't check collisions until later, in case it becomes upright. - SendCustomEventDelayedSeconds(nameof(CheckCollisions), TIME_BETWEEN_REPEAT_COLLISION_CHECKS); + _NoCollisionCounter++; + if (_NoCollisionCounter >= MAX_CHECKS_WITH_NO_COLLISIONS) + { + SendIncorrectResponse(); + } } } } @@ -216,12 +202,15 @@ public class FloorMapMarker : UdonSharpBehaviour IsLit = true; Active = false; - _CheckingCollisions = false; + _EnableCollisionChecks = false; + _UsedUp = true; RequestSerialization(); - _GameManager.SendCustomNetworkEvent(NetworkEventTarget.Owner, "CorrectResponse"); - _GameManager.PlayCorrectSound(); + if (Networking.GetOwner(gameObject) == Networking.LocalPlayer) + { + _GameManager.SendCustomNetworkEvent(NetworkEventTarget.Owner, "CorrectResponse"); + } } private void SendIncorrectResponse() @@ -229,18 +218,15 @@ public class FloorMapMarker : UdonSharpBehaviour DisableMovementCompletely(); _CollisionCheckCounter = 0; - _CheckingCollisions = false; _CollidingLocations.Clear(); - _FailureCounter++; - if (_FailureCounter >= MAX_FAILURE_COUNT) + _EnableCollisionChecks = false; + + if (Networking.GetOwner(gameObject) == Networking.LocalPlayer) { - Active = false; _GameManager.SendCustomNetworkEvent(NetworkEventTarget.Owner, "IncorrectResponse"); } - _GameManager.PlayIncorrectSound(); - RequestSerialization(); } @@ -250,9 +236,17 @@ public class FloorMapMarker : UdonSharpBehaviour Active = SetActive; RequestSerialization(); } - private void ChangePickupable() + private void ReactToActivation() { _PickupComponent.pickupable = Active; + + SendCustomEventDelayedSeconds(nameof(CheckCollisionsLoop), TIME_BETWEEN_REPEAT_COLLISION_CHECKS); + } + + + public bool IsUsedUp() + { + return _UsedUp; } @@ -266,7 +260,6 @@ public class FloorMapMarker : UdonSharpBehaviour transform.position = CorrectLocation; } - _LocationFindingEnabled = false; RequestSerialization(); } @@ -281,7 +274,7 @@ public class FloorMapMarker : UdonSharpBehaviour set { _Active = value; - ChangePickupable(); + ReactToActivation(); } get => _Active; } diff --git a/Raw Files/Meshes/FloorMapMarker.blend b/Raw Files/Meshes/FloorMapMarker.blend index 5b4d6a0c66ca3c5ca9df254332e9177a50c00fab..1c23c29a775e940ba15409492b50e70851d867be 100644 GIT binary patch delta 55418 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%0DF^BL$z|V8Y56xar3aD30jCLfFO;`+~4}SqG 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 z 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 delta 58043 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 XlfzwDPeGvnpo2FH0@WWUBE