Sync issues were resolved enough to continue development.
This commit is contained in:
@@ -1,7 +1,9 @@
|
||||
|
||||
using System.Linq;
|
||||
using UdonSharp;
|
||||
using VRC.SDK3.UdonNetworkCalling;
|
||||
using VRC.SDKBase;
|
||||
using VRC.Udon.Common.Interfaces;
|
||||
|
||||
|
||||
[UdonBehaviourSyncMode(BehaviourSyncMode.Manual)]
|
||||
@@ -20,7 +22,6 @@ public class FloorMap : UdonSharpBehaviour
|
||||
|
||||
public void RandomiseCountries()
|
||||
{
|
||||
_CurrentCountry = 0;
|
||||
for (int i = 0; i < Countries.Length; i++)
|
||||
{
|
||||
Countries[i].gameObject.SetActive(false);
|
||||
@@ -52,11 +53,11 @@ public class FloorMap : UdonSharpBehaviour
|
||||
// We're syncing the countries and cities as one array to keep
|
||||
// things simple to sync all at once.
|
||||
// Array format is all countries first, then all cities.
|
||||
int[] NewRandomCountriesAndCities = new int[MAX_SELECTED_COUNTRIES * 2];
|
||||
NewRandomCountries.CopyTo(NewRandomCountriesAndCities, 0);
|
||||
NewRandomCities.CopyTo(NewRandomCountriesAndCities, MAX_SELECTED_COUNTRIES);
|
||||
int[] RandomCountriesAndCities = new int[MAX_SELECTED_COUNTRIES * 2];
|
||||
NewRandomCountries.CopyTo(RandomCountriesAndCities, 0);
|
||||
NewRandomCities.CopyTo(RandomCountriesAndCities, MAX_SELECTED_COUNTRIES);
|
||||
|
||||
RandomisedCountriesAndCities = NewRandomCountriesAndCities;
|
||||
RandomisedCountriesAndCities = RandomCountriesAndCities;
|
||||
RequestSerialization();
|
||||
}
|
||||
private bool CountryIsAlreadyInArray(int[] Countries, int IndexToCheck)
|
||||
@@ -71,7 +72,7 @@ public class FloorMap : UdonSharpBehaviour
|
||||
return false;
|
||||
}
|
||||
|
||||
private void AssignRandomCountriesAndCities()
|
||||
public void AssignRandomCountriesAndCities(int[] RandomisedCountriesAndCities)
|
||||
{
|
||||
DisableAllLocations();
|
||||
|
||||
@@ -99,6 +100,8 @@ public class FloorMap : UdonSharpBehaviour
|
||||
return -1;
|
||||
}
|
||||
|
||||
RequestSerialization();
|
||||
|
||||
return _CurrentCountry;
|
||||
}
|
||||
|
||||
@@ -138,7 +141,7 @@ public class FloorMap : UdonSharpBehaviour
|
||||
set
|
||||
{
|
||||
_RandomisedCountriesAndCities = value;
|
||||
AssignRandomCountriesAndCities();
|
||||
AssignRandomCountriesAndCities(_RandomisedCountriesAndCities);
|
||||
}
|
||||
get => _RandomisedCountriesAndCities;
|
||||
}
|
||||
|
||||
@@ -44,202 +44,22 @@ MonoBehaviour:
|
||||
Data:
|
||||
- Name:
|
||||
Entry: 12
|
||||
Data: 8
|
||||
Data: 12
|
||||
- Name:
|
||||
Entry: 7
|
||||
Data:
|
||||
- Name: $k
|
||||
Entry: 1
|
||||
Data: _Enabled
|
||||
Data: _GameManager
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 2|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: _Enabled
|
||||
Data: _GameManager
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 7
|
||||
Data: 3|System.RuntimeType, mscorlib
|
||||
- Name:
|
||||
Entry: 1
|
||||
Data: System.Boolean, mscorlib
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 3
|
||||
- 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: 4|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
- Name:
|
||||
Entry: 12
|
||||
Data: 1
|
||||
- Name:
|
||||
Entry: 7
|
||||
Data: 5|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: _LocationFindingEnabled
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 6|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: _LocationFindingEnabled
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 3
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 3
|
||||
- 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: true
|
||||
- Name: _fieldAttributes
|
||||
Entry: 7
|
||||
Data: 7|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
- Name:
|
||||
Entry: 12
|
||||
Data: 2
|
||||
- Name:
|
||||
Entry: 7
|
||||
Data: 8|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- Name:
|
||||
Entry: 7
|
||||
Data: 9|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: _IsGrabbed
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 10|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: _IsGrabbed
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 3
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 3
|
||||
- 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: 11|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
- Name:
|
||||
Entry: 12
|
||||
Data: 2
|
||||
- Name:
|
||||
Entry: 7
|
||||
Data: 12|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- Name:
|
||||
Entry: 7
|
||||
Data: 13|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: _GameManager
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 14|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: _GameManager
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 7
|
||||
Data: 15|System.RuntimeType, mscorlib
|
||||
- Name:
|
||||
Entry: 1
|
||||
Data: GameManagerRound3, Assembly-CSharp
|
||||
@@ -248,7 +68,7 @@ MonoBehaviour:
|
||||
Data:
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 7
|
||||
Data: 16|System.RuntimeType, mscorlib
|
||||
Data: 4|System.RuntimeType, mscorlib
|
||||
- Name:
|
||||
Entry: 1
|
||||
Data: VRC.Udon.UdonBehaviour, VRC.Udon
|
||||
@@ -269,13 +89,13 @@ MonoBehaviour:
|
||||
Data: true
|
||||
- Name: _fieldAttributes
|
||||
Entry: 7
|
||||
Data: 17|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
Data: 5|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
- Name:
|
||||
Entry: 12
|
||||
Data: 1
|
||||
- Name:
|
||||
Entry: 7
|
||||
Data: 18|UnityEngine.SerializeField, UnityEngine.CoreModule
|
||||
Data: 6|UnityEngine.SerializeField, UnityEngine.CoreModule
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
@@ -296,16 +116,16 @@ MonoBehaviour:
|
||||
Data:
|
||||
- Name: $k
|
||||
Entry: 1
|
||||
Data: _LitLampMaterial
|
||||
Data: _UnlitLampMaterial
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 19|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
Data: 7|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: _LitLampMaterial
|
||||
Data: _UnlitLampMaterial
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 7
|
||||
Data: 20|System.RuntimeType, mscorlib
|
||||
Data: 8|System.RuntimeType, mscorlib
|
||||
- Name:
|
||||
Entry: 1
|
||||
Data: UnityEngine.Material, UnityEngine.CoreModule
|
||||
@@ -314,7 +134,7 @@ MonoBehaviour:
|
||||
Data:
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 20
|
||||
Data: 8
|
||||
- Name: <SyncMode>k__BackingField
|
||||
Entry: 7
|
||||
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
|
||||
@@ -329,13 +149,13 @@ MonoBehaviour:
|
||||
Data: true
|
||||
- Name: _fieldAttributes
|
||||
Entry: 7
|
||||
Data: 21|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
Data: 9|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
- Name:
|
||||
Entry: 12
|
||||
Data: 1
|
||||
- Name:
|
||||
Entry: 7
|
||||
Data: 22|UnityEngine.SerializeField, UnityEngine.CoreModule
|
||||
Data: 10|UnityEngine.SerializeField, UnityEngine.CoreModule
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
@@ -356,25 +176,19 @@ MonoBehaviour:
|
||||
Data:
|
||||
- Name: $k
|
||||
Entry: 1
|
||||
Data: _CollidingLocations
|
||||
Data: _LitLampMaterial
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 23|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
Data: 11|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: _CollidingLocations
|
||||
Data: _LitLampMaterial
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 7
|
||||
Data: 24|System.RuntimeType, mscorlib
|
||||
- Name:
|
||||
Entry: 1
|
||||
Data: VRC.SDK3.Data.DataList, VRCSDK3
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
Entry: 9
|
||||
Data: 8
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 24
|
||||
Data: 8
|
||||
- Name: <SyncMode>k__BackingField
|
||||
Entry: 7
|
||||
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
|
||||
@@ -386,13 +200,19 @@ MonoBehaviour:
|
||||
Data:
|
||||
- Name: <IsSerialized>k__BackingField
|
||||
Entry: 5
|
||||
Data: false
|
||||
Data: true
|
||||
- Name: _fieldAttributes
|
||||
Entry: 7
|
||||
Data: 25|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
Data: 12|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
- Name:
|
||||
Entry: 12
|
||||
Data: 0
|
||||
Data: 1
|
||||
- Name:
|
||||
Entry: 7
|
||||
Data: 13|UnityEngine.SerializeField, UnityEngine.CoreModule
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- Name:
|
||||
Entry: 13
|
||||
Data:
|
||||
@@ -410,25 +230,91 @@ MonoBehaviour:
|
||||
Data:
|
||||
- Name: $k
|
||||
Entry: 1
|
||||
Data: _CollisionCheckCounter
|
||||
Data: _Active
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 26|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
Data: 14|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: _CollisionCheckCounter
|
||||
Data: _Active
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 7
|
||||
Data: 27|System.RuntimeType, mscorlib
|
||||
Data: 15|System.RuntimeType, mscorlib
|
||||
- Name:
|
||||
Entry: 1
|
||||
Data: System.Int32, mscorlib
|
||||
Data: System.Boolean, mscorlib
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 27
|
||||
Data: 15
|
||||
- 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: true
|
||||
- Name: _fieldAttributes
|
||||
Entry: 7
|
||||
Data: 16|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
- Name:
|
||||
Entry: 12
|
||||
Data: 3
|
||||
- Name:
|
||||
Entry: 7
|
||||
Data: 17|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- Name:
|
||||
Entry: 7
|
||||
Data: 18|UnityEngine.SerializeField, UnityEngine.CoreModule
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- Name:
|
||||
Entry: 7
|
||||
Data: 19|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: _IsGrabbed
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 20|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: _IsGrabbed
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 15
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 15
|
||||
- Name: <SyncMode>k__BackingField
|
||||
Entry: 7
|
||||
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
|
||||
@@ -443,13 +329,73 @@ MonoBehaviour:
|
||||
Data: false
|
||||
- Name: _fieldAttributes
|
||||
Entry: 7
|
||||
Data: 28|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
Data: 21|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
- Name:
|
||||
Entry: 12
|
||||
Data: 2
|
||||
- Name:
|
||||
Entry: 7
|
||||
Data: 22|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- Name:
|
||||
Entry: 7
|
||||
Data: 23|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: _LocationFindingEnabled
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 24|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: _LocationFindingEnabled
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 15
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 15
|
||||
- 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: 25|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
- Name:
|
||||
Entry: 12
|
||||
Data: 1
|
||||
- Name:
|
||||
Entry: 7
|
||||
Data: 29|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
|
||||
Data: 26|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
@@ -468,6 +414,60 @@ MonoBehaviour:
|
||||
- Name:
|
||||
Entry: 7
|
||||
Data:
|
||||
- Name: $k
|
||||
Entry: 1
|
||||
Data: _CollisionCheckCounter
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 27|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: _CollisionCheckCounter
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 7
|
||||
Data: 28|System.RuntimeType, mscorlib
|
||||
- Name:
|
||||
Entry: 1
|
||||
Data: System.Int32, mscorlib
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 28
|
||||
- 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: 29|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: _NoCollisionCounter
|
||||
@@ -479,16 +479,16 @@ MonoBehaviour:
|
||||
Data: _NoCollisionCounter
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 27
|
||||
Data: 28
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 27
|
||||
Data: 28
|
||||
- Name: <SyncMode>k__BackingField
|
||||
Entry: 7
|
||||
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
|
||||
- Name:
|
||||
Entry: 3
|
||||
Data: 1
|
||||
Entry: 6
|
||||
Data:
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
@@ -500,13 +500,223 @@ MonoBehaviour:
|
||||
Data: 31|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
- Name:
|
||||
Entry: 12
|
||||
Data: 1
|
||||
Data: 0
|
||||
- Name:
|
||||
Entry: 13
|
||||
Data:
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- Name:
|
||||
Entry: 7
|
||||
Data: 32|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
|
||||
Data:
|
||||
- Name: $k
|
||||
Entry: 1
|
||||
Data: _CollidingLocations
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 32|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: _CollidingLocations
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 7
|
||||
Data: 33|System.RuntimeType, mscorlib
|
||||
- Name:
|
||||
Entry: 1
|
||||
Data: VRC.SDK3.Data.DataList, VRCSDK3
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 33
|
||||
- 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: 34|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: _RigidBodyComponent
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 35|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: _RigidBodyComponent
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 7
|
||||
Data: 36|System.RuntimeType, mscorlib
|
||||
- Name:
|
||||
Entry: 1
|
||||
Data: UnityEngine.Rigidbody, UnityEngine.PhysicsModule
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 36
|
||||
- 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: 37|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: _PickupComponent
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 38|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: _PickupComponent
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 7
|
||||
Data: 39|System.RuntimeType, mscorlib
|
||||
- Name:
|
||||
Entry: 1
|
||||
Data: VRC.SDK3.Components.VRCPickup, VRCSDK3
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 39
|
||||
- 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: 40|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: _MarkerMesh
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 41|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: _MarkerMesh
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 7
|
||||
Data: 42|System.RuntimeType, mscorlib
|
||||
- Name:
|
||||
Entry: 1
|
||||
Data: UnityEngine.MeshRenderer, UnityEngine.CoreModule
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- 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: 6
|
||||
Data:
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- Name: <IsSerialized>k__BackingField
|
||||
Entry: 5
|
||||
Data: false
|
||||
- Name: _fieldAttributes
|
||||
Entry: 7
|
||||
Data: 43|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
- Name:
|
||||
Entry: 12
|
||||
Data: 0
|
||||
- Name:
|
||||
Entry: 13
|
||||
Data:
|
||||
|
||||
@@ -11,23 +11,35 @@ using VRC.Udon.Common.Interfaces;
|
||||
[UdonBehaviourSyncMode(BehaviourSyncMode.Manual)]
|
||||
public class FloorMapMarker : UdonSharpBehaviour
|
||||
{
|
||||
[UdonSynced] private bool _Enabled = false;
|
||||
[UdonSynced, FieldChangeCallback(nameof(LocationFindingEnabled))] public bool _LocationFindingEnabled = false;
|
||||
[UdonSynced, FieldChangeCallback(nameof(IsGrabbed))] private bool _IsGrabbed = false;
|
||||
|
||||
[SerializeField] private GameManagerRound3 _GameManager;
|
||||
|
||||
[SerializeField] private Material _UnlitLampMaterial;
|
||||
[SerializeField] private Material _LitLampMaterial;
|
||||
|
||||
[UdonSynced, SerializeField, FieldChangeCallback(nameof(Active))] private bool _Active = false;
|
||||
[UdonSynced, FieldChangeCallback(nameof(IsGrabbed))] private bool _IsGrabbed = false;
|
||||
[UdonSynced] private bool _LocationFindingEnabled = false;
|
||||
|
||||
private int _CollisionCheckCounter = 0;
|
||||
private int _NoCollisionCounter = 0;
|
||||
private DataList _CollidingLocations = new DataList();
|
||||
[UdonSynced] private int _CollisionCheckCounter = 0;
|
||||
[UdonSynced] private int _NoCollisionCounter = 0;
|
||||
|
||||
private Rigidbody _RigidBodyComponent;
|
||||
private VRCPickup _PickupComponent;
|
||||
private MeshRenderer _MarkerMesh;
|
||||
|
||||
private const int MAX_REPEAT_COLLISION_CHECKS = 3;
|
||||
private const int MAX_TIME_WITH_NO_COLLISIONS = 8;
|
||||
private const float TIME_BETWEEN_REPEAT_COLLISION_CHECKS = 0.15f;
|
||||
|
||||
|
||||
void Start()
|
||||
{
|
||||
_RigidBodyComponent = GetComponent<Rigidbody>();
|
||||
_PickupComponent = GetComponent<VRCPickup>();
|
||||
_MarkerMesh = GetComponent<MeshRenderer>();
|
||||
}
|
||||
|
||||
public void OnTriggerEnter(Collider OtherCollider)
|
||||
{
|
||||
FloorMapLocation Location = OtherCollider.GetComponent<FloorMapLocation>();
|
||||
@@ -53,40 +65,54 @@ public class FloorMapMarker : UdonSharpBehaviour
|
||||
|
||||
public override void OnPickup()
|
||||
{
|
||||
Rigidbody Body;
|
||||
if (Body = GetComponent<Rigidbody>())
|
||||
if (Active)
|
||||
{
|
||||
Body.constraints = RigidbodyConstraints.None;
|
||||
IsGrabbed = true;
|
||||
}
|
||||
|
||||
IsGrabbed = true;
|
||||
_NoCollisionCounter = 0;
|
||||
_CollidingLocations.Clear();
|
||||
|
||||
base.OnPickup();
|
||||
}
|
||||
|
||||
public override void OnDrop()
|
||||
{
|
||||
IsGrabbed = false;
|
||||
LocationFindingEnabled = true;
|
||||
|
||||
VRCPlayerApi Owner = Networking.GetOwner(gameObject);
|
||||
if (!Owner.IsUserInVR())
|
||||
if (Active)
|
||||
{
|
||||
transform.eulerAngles = new Vector3(0.0f, transform.eulerAngles.y, 0.0f);
|
||||
IsGrabbed = false;
|
||||
}
|
||||
|
||||
_NoCollisionCounter = 0;
|
||||
CheckCollisions();
|
||||
|
||||
base.OnDrop();
|
||||
}
|
||||
|
||||
private void ReactToGrab()
|
||||
{
|
||||
if (IsGrabbed)
|
||||
{
|
||||
_RigidBodyComponent.constraints = RigidbodyConstraints.None;
|
||||
|
||||
_NoCollisionCounter = 0;
|
||||
_CollidingLocations.Clear();
|
||||
}
|
||||
else
|
||||
{
|
||||
_LocationFindingEnabled = true;
|
||||
|
||||
VRCPlayerApi Owner = Networking.GetOwner(gameObject);
|
||||
if (!Owner.IsUserInVR())
|
||||
{
|
||||
transform.eulerAngles = new Vector3(0.0f, transform.eulerAngles.y, 0.0f);
|
||||
}
|
||||
|
||||
_NoCollisionCounter = 0;
|
||||
CheckCollisions();
|
||||
}
|
||||
|
||||
RequestSerialization();
|
||||
}
|
||||
|
||||
|
||||
public void CheckCollisions()
|
||||
{
|
||||
if (!_Enabled || !LocationFindingEnabled || IsGrabbed) return;
|
||||
if (!Active || !_LocationFindingEnabled || IsGrabbed) return;
|
||||
|
||||
if (_CollidingLocations.Count > 0 && IsUpright())
|
||||
{
|
||||
@@ -100,10 +126,8 @@ public class FloorMapMarker : UdonSharpBehaviour
|
||||
bool FoundCorrectResponse = ConfirmChoice(Location.Country, Location.City);
|
||||
if (FoundCorrectResponse)
|
||||
{
|
||||
NetworkCalling.SendCustomNetworkEvent((IUdonEventReceiver)this,
|
||||
NetworkEventTarget.All,
|
||||
nameof(SendCorrectResponse),
|
||||
Location.transform.position);
|
||||
SendCustomNetworkEvent(NetworkEventTarget.All,
|
||||
nameof(SendCorrectResponse), Location.transform.position);
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -117,9 +141,7 @@ public class FloorMapMarker : UdonSharpBehaviour
|
||||
}
|
||||
else
|
||||
{
|
||||
NetworkCalling.SendCustomNetworkEvent((IUdonEventReceiver)this,
|
||||
NetworkEventTarget.All,
|
||||
nameof(SendIncorrectResponse));
|
||||
SendCustomNetworkEvent(NetworkEventTarget.All, nameof(SendIncorrectResponse));
|
||||
}
|
||||
_CollisionCheckCounter++;
|
||||
}
|
||||
@@ -128,9 +150,7 @@ public class FloorMapMarker : UdonSharpBehaviour
|
||||
_NoCollisionCounter++;
|
||||
if (_NoCollisionCounter >= MAX_TIME_WITH_NO_COLLISIONS)
|
||||
{
|
||||
NetworkCalling.SendCustomNetworkEvent((IUdonEventReceiver)this,
|
||||
NetworkEventTarget.All,
|
||||
nameof(SendIncorrectResponse));
|
||||
SendCustomNetworkEvent(NetworkEventTarget.All, nameof(SendIncorrectResponse));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -158,13 +178,9 @@ public class FloorMapMarker : UdonSharpBehaviour
|
||||
{
|
||||
DisableMovementCompletely(CorrectLocation);
|
||||
|
||||
MeshRenderer MarkerMesh;
|
||||
if (MarkerMesh = GetComponent<MeshRenderer>())
|
||||
{
|
||||
Material[] Materials = MarkerMesh.materials;
|
||||
Materials[2] = _LitLampMaterial;
|
||||
MarkerMesh.materials = Materials;
|
||||
}
|
||||
Material[] Materials = _MarkerMesh.materials;
|
||||
Materials[2] = _LitLampMaterial;
|
||||
_MarkerMesh.materials = Materials;
|
||||
|
||||
_GameManager.CorrectResponse();
|
||||
}
|
||||
@@ -180,24 +196,20 @@ public class FloorMapMarker : UdonSharpBehaviour
|
||||
_CollidingLocations.Clear();
|
||||
}
|
||||
|
||||
public void EnablePickup(bool Enable)
|
||||
public void Activated(bool SetActive)
|
||||
{
|
||||
VRCPickup Pickup;
|
||||
if (Pickup = GetComponent<VRCPickup>())
|
||||
{
|
||||
Pickup.pickupable = Enable;
|
||||
}
|
||||
_Enabled = Enable;
|
||||
Active = SetActive;
|
||||
RequestSerialization();
|
||||
}
|
||||
private void ChangePickupable()
|
||||
{
|
||||
_PickupComponent.pickupable = Active;
|
||||
}
|
||||
|
||||
|
||||
public void DisableMovementCompletely(Vector3 CorrectLocation = new Vector3())
|
||||
private void DisableMovementCompletely(Vector3 CorrectLocation = new Vector3())
|
||||
{
|
||||
Rigidbody Body;
|
||||
if (Body = GetComponent<Rigidbody>())
|
||||
{
|
||||
Body.constraints = RigidbodyConstraints.FreezeAll;
|
||||
}
|
||||
_RigidBodyComponent.constraints = RigidbodyConstraints.FreezeAll;
|
||||
transform.eulerAngles = new Vector3(0.0f, transform.eulerAngles.y, 0.0f);
|
||||
|
||||
if (CorrectLocation != Vector3.zero)
|
||||
@@ -205,7 +217,8 @@ public class FloorMapMarker : UdonSharpBehaviour
|
||||
transform.position = CorrectLocation;
|
||||
}
|
||||
|
||||
LocationFindingEnabled = false;
|
||||
_LocationFindingEnabled = false;
|
||||
RequestSerialization();
|
||||
}
|
||||
|
||||
private bool IsUpright()
|
||||
@@ -214,20 +227,22 @@ public class FloorMapMarker : UdonSharpBehaviour
|
||||
}
|
||||
|
||||
|
||||
public bool LocationFindingEnabled
|
||||
private bool Active
|
||||
{
|
||||
set
|
||||
{
|
||||
_LocationFindingEnabled = value;
|
||||
_Active = value;
|
||||
ChangePickupable();
|
||||
}
|
||||
get => _LocationFindingEnabled;
|
||||
get => _Active;
|
||||
}
|
||||
|
||||
public bool IsGrabbed
|
||||
private bool IsGrabbed
|
||||
{
|
||||
set
|
||||
{
|
||||
_IsGrabbed = value;
|
||||
ReactToGrab();
|
||||
}
|
||||
get => _IsGrabbed;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user