From 378d6bc7a7363a275261977c5528f4a6c11c118c Mon Sep 17 00:00:00 2001 From: Marro64 Date: Tue, 23 Jun 2026 13:00:48 +0200 Subject: [PATCH] Refactored input --- Assets/Scripts/GameManager.asset | 2153 +++++++++++++------------- Assets/Scripts/GameManager.cs | 2 +- Assets/Scripts/NetworkManager.asset | 651 ++++---- Assets/Scripts/NetworkManager.cs | 77 +- Assets/Scripts/PacMan.cs | 53 +- Assets/Scripts/PlayerInput.asset | 98 +- Assets/Scripts/PlayerInput.cs | 204 +-- Assets/Test stuff/TestBallManager.cs | 2 +- 8 files changed, 1685 insertions(+), 1555 deletions(-) diff --git a/Assets/Scripts/GameManager.asset b/Assets/Scripts/GameManager.asset index 6f72fe3..cd31390 100644 --- a/Assets/Scripts/GameManager.asset +++ b/Assets/Scripts/GameManager.asset @@ -109,16 +109,382 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: mazes + Data: currentlyInTimeSequence - Name: $v Entry: 7 Data: 6|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: mazes + Data: currentlyInTimeSequence - Name: k__BackingField Entry: 7 Data: 7|System.RuntimeType, mscorlib + - Name: + Entry: 1 + Data: System.Boolean, mscorlib + - Name: + Entry: 8 + Data: + - Name: k__BackingField + Entry: 9 + Data: 7 + - 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: 8|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: waitingForTimeSequenceFinalize + - Name: $v + Entry: 7 + Data: 9|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: waitingForTimeSequenceFinalize + - Name: k__BackingField + Entry: 9 + Data: 7 + - Name: k__BackingField + Entry: 9 + Data: 7 + - 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: 10|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: jumpingToTimeSequence + - Name: $v + Entry: 7 + Data: 11|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: jumpingToTimeSequence + - Name: k__BackingField + Entry: 9 + Data: 7 + - Name: k__BackingField + Entry: 9 + Data: 7 + - 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: 12|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: currentTimeSequence + - Name: $v + Entry: 7 + Data: 13|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: currentTimeSequence + - Name: k__BackingField + Entry: 7 + Data: 14|System.RuntimeType, mscorlib + - Name: + Entry: 1 + Data: Marro.PacManUdon.PacManTimeSequence, Assembly-CSharp + - Name: + Entry: 8 + Data: + - Name: k__BackingField + Entry: 7 + Data: 15|System.RuntimeType, mscorlib + - Name: + Entry: 1 + Data: System.Int32, mscorlib + - Name: + Entry: 8 + Data: + - 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: 16|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: timeSequenceSecondsPassed + - Name: $v + Entry: 7 + Data: 17|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: timeSequenceSecondsPassed + - Name: k__BackingField + Entry: 7 + Data: 18|System.RuntimeType, mscorlib + - Name: + Entry: 1 + Data: System.Single, mscorlib + - Name: + Entry: 8 + Data: + - Name: k__BackingField + Entry: 9 + Data: 18 + - 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: 19|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: timeSequenceProgress + - Name: $v + Entry: 7 + Data: 20|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: timeSequenceProgress + - 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: 6 + Data: + - Name: + Entry: 8 + Data: + - Name: k__BackingField + Entry: 5 + Data: false + - Name: _fieldAttributes + Entry: 7 + Data: 21|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: timeSequenceKeyframeTimes + - Name: $v + Entry: 7 + Data: 22|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: timeSequenceKeyframeTimes + - Name: k__BackingField + Entry: 7 + Data: 23|System.RuntimeType, mscorlib + - Name: + Entry: 1 + Data: System.Single[], mscorlib + - Name: + Entry: 8 + Data: + - Name: k__BackingField + Entry: 9 + Data: 23 + - 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: 24|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: mazes + - Name: $v + Entry: 7 + Data: 25|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: mazes + - Name: k__BackingField + Entry: 7 + Data: 26|System.RuntimeType, mscorlib - Name: Entry: 1 Data: Marro.PacManUdon.Maze[], Assembly-CSharp @@ -127,7 +493,7 @@ MonoBehaviour: Data: - Name: k__BackingField Entry: 7 - Data: 8|System.RuntimeType, mscorlib + Data: 27|System.RuntimeType, mscorlib - Name: Entry: 1 Data: UnityEngine.Component[], UnityEngine.CoreModule @@ -148,13 +514,13 @@ MonoBehaviour: Data: true - Name: _fieldAttributes Entry: 7 - Data: 9|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 28|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 2 - Name: Entry: 7 - Data: 10|UnityEngine.HeaderAttribute, UnityEngine.CoreModule + Data: 29|UnityEngine.HeaderAttribute, UnityEngine.CoreModule - Name: header Entry: 1 Data: Static game components @@ -163,7 +529,7 @@ MonoBehaviour: Data: - Name: Entry: 7 - Data: 11|UnityEngine.SerializeField, UnityEngine.CoreModule + Data: 30|UnityEngine.SerializeField, UnityEngine.CoreModule - Name: Entry: 8 Data: @@ -187,13 +553,13 @@ MonoBehaviour: Data: pacMan - Name: $v Entry: 7 - Data: 12|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 31|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: pacMan - Name: k__BackingField Entry: 7 - Data: 13|System.RuntimeType, mscorlib + Data: 32|System.RuntimeType, mscorlib - Name: Entry: 1 Data: Marro.PacManUdon.PacMan, Assembly-CSharp @@ -215,300 +581,6 @@ MonoBehaviour: - Name: k__BackingField Entry: 5 Data: true - - Name: _fieldAttributes - Entry: 7 - Data: 14|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - - Name: - Entry: 12 - Data: 1 - - Name: - Entry: 7 - Data: 15|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: ghostManager - - Name: $v - Entry: 7 - Data: 16|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - - Name: k__BackingField - Entry: 1 - Data: ghostManager - - Name: k__BackingField - Entry: 7 - Data: 17|System.RuntimeType, mscorlib - - Name: - Entry: 1 - Data: Marro.PacManUdon.GhostManager, Assembly-CSharp - - Name: - Entry: 8 - Data: - - Name: k__BackingField - Entry: 9 - Data: 4 - - 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: true - - Name: _fieldAttributes - Entry: 7 - Data: 18|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - - Name: - Entry: 12 - Data: 1 - - Name: - Entry: 7 - Data: 19|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: bonusFruit - - Name: $v - Entry: 7 - Data: 20|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - - Name: k__BackingField - Entry: 1 - Data: bonusFruit - - Name: k__BackingField - Entry: 7 - Data: 21|System.RuntimeType, mscorlib - - Name: - Entry: 1 - Data: Marro.PacManUdon.BonusFruit, Assembly-CSharp - - Name: - Entry: 8 - Data: - - Name: k__BackingField - Entry: 9 - Data: 4 - - 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: true - - Name: _fieldAttributes - Entry: 7 - Data: 22|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - - Name: - Entry: 12 - Data: 1 - - Name: - Entry: 7 - Data: 23|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: collisionManager - - Name: $v - Entry: 7 - Data: 24|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - - Name: k__BackingField - Entry: 1 - Data: collisionManager - - Name: k__BackingField - Entry: 7 - Data: 25|System.RuntimeType, mscorlib - - Name: - Entry: 1 - Data: Marro.PacManUdon.CollisionManager, Assembly-CSharp - - Name: - Entry: 8 - Data: - - Name: k__BackingField - Entry: 9 - Data: 4 - - 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: true - - Name: _fieldAttributes - Entry: 7 - Data: 26|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - - Name: - Entry: 12 - Data: 1 - - Name: - Entry: 7 - Data: 27|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: statusDisplay - - Name: $v - Entry: 7 - Data: 28|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - - Name: k__BackingField - Entry: 1 - Data: statusDisplay - - Name: k__BackingField - Entry: 7 - Data: 29|System.RuntimeType, mscorlib - - Name: - Entry: 1 - Data: Marro.PacManUdon.StatusDisplay, Assembly-CSharp - - Name: - Entry: 8 - Data: - - Name: k__BackingField - Entry: 9 - Data: 4 - - 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: true - - Name: _fieldAttributes - Entry: 7 - Data: 30|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - - Name: - Entry: 12 - Data: 1 - - Name: - Entry: 7 - Data: 31|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: attractScreen - - Name: $v - Entry: 7 - Data: 32|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - - Name: k__BackingField - Entry: 1 - Data: attractScreen - - Name: k__BackingField - Entry: 9 - Data: 25 - - Name: k__BackingField - Entry: 9 - Data: 4 - - 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: true - Name: _fieldAttributes Entry: 7 Data: 33|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib @@ -538,25 +610,25 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: intermissionScreen + Data: ghostManager - Name: $v Entry: 7 Data: 35|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: intermissionScreen + Data: ghostManager - Name: k__BackingField Entry: 7 Data: 36|System.RuntimeType, mscorlib - Name: Entry: 1 - Data: UnityEngine.GameObject, UnityEngine.CoreModule + Data: Marro.PacManUdon.GhostManager, Assembly-CSharp - Name: Entry: 8 Data: - Name: k__BackingField Entry: 9 - Data: 36 + Data: 4 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -598,19 +670,313 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: pressStartButtonScreen + Data: bonusFruit - Name: $v Entry: 7 Data: 39|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: bonusFruit + - Name: k__BackingField + Entry: 7 + Data: 40|System.RuntimeType, mscorlib + - Name: + Entry: 1 + Data: Marro.PacManUdon.BonusFruit, Assembly-CSharp + - Name: + Entry: 8 + Data: + - Name: k__BackingField + Entry: 9 + Data: 4 + - 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: true + - Name: _fieldAttributes + Entry: 7 + Data: 41|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + - Name: + Entry: 12 + Data: 1 + - Name: + Entry: 7 + Data: 42|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: collisionManager + - Name: $v + Entry: 7 + Data: 43|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: collisionManager + - Name: k__BackingField + Entry: 7 + Data: 44|System.RuntimeType, mscorlib + - Name: + Entry: 1 + Data: Marro.PacManUdon.CollisionManager, Assembly-CSharp + - Name: + Entry: 8 + Data: + - Name: k__BackingField + Entry: 9 + Data: 4 + - 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: true + - Name: _fieldAttributes + Entry: 7 + Data: 45|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + - Name: + Entry: 12 + Data: 1 + - Name: + Entry: 7 + Data: 46|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: statusDisplay + - Name: $v + Entry: 7 + Data: 47|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: statusDisplay + - Name: k__BackingField + Entry: 7 + Data: 48|System.RuntimeType, mscorlib + - Name: + Entry: 1 + Data: Marro.PacManUdon.StatusDisplay, Assembly-CSharp + - Name: + Entry: 8 + Data: + - Name: k__BackingField + Entry: 9 + Data: 4 + - 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: true + - Name: _fieldAttributes + Entry: 7 + Data: 49|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + - Name: + Entry: 12 + Data: 1 + - Name: + Entry: 7 + Data: 50|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: attractScreen + - Name: $v + Entry: 7 + Data: 51|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: attractScreen + - Name: k__BackingField + Entry: 9 + Data: 44 + - Name: k__BackingField + Entry: 9 + Data: 4 + - 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: true + - Name: _fieldAttributes + Entry: 7 + Data: 52|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + - Name: + Entry: 12 + Data: 1 + - Name: + Entry: 7 + Data: 53|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: intermissionScreen + - Name: $v + Entry: 7 + Data: 54|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: intermissionScreen + - Name: k__BackingField + Entry: 7 + Data: 55|System.RuntimeType, mscorlib + - Name: + Entry: 1 + Data: UnityEngine.GameObject, 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: true + - Name: _fieldAttributes + Entry: 7 + Data: 56|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + - Name: + Entry: 12 + Data: 1 + - Name: + Entry: 7 + Data: 57|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: pressStartButtonScreen + - Name: $v + Entry: 7 + Data: 58|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: pressStartButtonScreen - Name: k__BackingField Entry: 9 - Data: 36 + Data: 55 - Name: k__BackingField Entry: 9 - Data: 36 + Data: 55 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -625,307 +991,10 @@ MonoBehaviour: Data: true - Name: _fieldAttributes Entry: 7 - Data: 40|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 59|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 1 - - Name: - Entry: 7 - Data: 41|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: playerInput - - Name: $v - Entry: 7 - Data: 42|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - - Name: k__BackingField - Entry: 1 - Data: playerInput - - Name: k__BackingField - Entry: 7 - Data: 43|System.RuntimeType, mscorlib - - Name: - Entry: 1 - Data: Marro.PacManUdon.PlayerInput, Assembly-CSharp - - Name: - Entry: 8 - Data: - - Name: k__BackingField - Entry: 9 - Data: 4 - - 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: true - - Name: _fieldAttributes - Entry: 7 - Data: 44|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - - Name: - Entry: 12 - Data: 1 - - Name: - Entry: 7 - Data: 45|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: soundManager - - Name: $v - Entry: 7 - Data: 46|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - - Name: k__BackingField - Entry: 1 - Data: soundManager - - Name: k__BackingField - Entry: 7 - Data: 47|System.RuntimeType, mscorlib - - Name: - Entry: 1 - Data: SoundManager, Assembly-CSharp - - Name: - Entry: 8 - Data: - - Name: k__BackingField - Entry: 9 - Data: 4 - - 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: true - - 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|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: networkManagerSetup - - Name: $v - Entry: 7 - Data: 50|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - - Name: k__BackingField - Entry: 1 - Data: networkManagerSetup - - Name: k__BackingField - Entry: 9 - Data: 3 - - Name: k__BackingField - Entry: 9 - Data: 4 - - 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: true - - Name: _fieldAttributes - Entry: 7 - Data: 51|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - - Name: - Entry: 12 - Data: 1 - - Name: - Entry: 7 - Data: 52|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: recorder - - Name: $v - Entry: 7 - Data: 53|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - - Name: k__BackingField - Entry: 1 - Data: recorder - - Name: k__BackingField - Entry: 9 - Data: 36 - - Name: k__BackingField - Entry: 9 - Data: 36 - - 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: true - - Name: _fieldAttributes - Entry: 7 - Data: 54|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - - Name: - Entry: 12 - Data: 1 - - Name: - Entry: 7 - Data: 55|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: startingExtraLives - - Name: $v - Entry: 7 - Data: 56|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - - Name: k__BackingField - Entry: 1 - Data: startingExtraLives - - Name: k__BackingField - Entry: 7 - Data: 57|System.RuntimeType, mscorlib - - Name: - Entry: 1 - Data: System.Int32, mscorlib - - Name: - Entry: 8 - Data: - - Name: k__BackingField - Entry: 9 - Data: 57 - - 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: true - - 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|UnityEngine.HeaderAttribute, UnityEngine.CoreModule - - Name: header - Entry: 1 - Data: Game settings - - Name: - Entry: 8 - Data: - Name: Entry: 7 Data: 60|UnityEngine.SerializeField, UnityEngine.CoreModule @@ -949,19 +1018,25 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: scoreToExtraLife + Data: playerInput - Name: $v Entry: 7 Data: 61|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: scoreToExtraLife + Data: playerInput - Name: k__BackingField - Entry: 9 - Data: 57 + Entry: 7 + Data: 62|System.RuntimeType, mscorlib + - Name: + Entry: 1 + Data: Marro.PacManUdon.PlayerInput, Assembly-CSharp + - Name: + Entry: 8 + Data: - Name: k__BackingField Entry: 9 - Data: 57 + Data: 4 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -976,13 +1051,298 @@ MonoBehaviour: Data: true - Name: _fieldAttributes Entry: 7 - Data: 62|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 63|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 1 - Name: Entry: 7 - Data: 63|UnityEngine.SerializeField, UnityEngine.CoreModule + Data: 64|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: soundManager + - Name: $v + Entry: 7 + Data: 65|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: soundManager + - Name: k__BackingField + Entry: 7 + Data: 66|System.RuntimeType, mscorlib + - Name: + Entry: 1 + Data: SoundManager, Assembly-CSharp + - Name: + Entry: 8 + Data: + - Name: k__BackingField + Entry: 9 + Data: 4 + - 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: true + - Name: _fieldAttributes + Entry: 7 + Data: 67|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + - Name: + Entry: 12 + Data: 1 + - Name: + Entry: 7 + Data: 68|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: networkManagerSetup + - Name: $v + Entry: 7 + Data: 69|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: networkManagerSetup + - Name: k__BackingField + Entry: 9 + Data: 3 + - Name: k__BackingField + Entry: 9 + Data: 4 + - 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: true + - Name: _fieldAttributes + Entry: 7 + Data: 70|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + - Name: + Entry: 12 + Data: 1 + - Name: + Entry: 7 + Data: 71|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: recorder + - Name: $v + Entry: 7 + Data: 72|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: recorder + - Name: k__BackingField + Entry: 9 + Data: 55 + - 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: true + - Name: _fieldAttributes + Entry: 7 + Data: 73|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + - Name: + Entry: 12 + Data: 1 + - Name: + Entry: 7 + Data: 74|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: startingExtraLives + - Name: $v + Entry: 7 + Data: 75|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: startingExtraLives + - 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: 6 + Data: + - Name: + Entry: 8 + Data: + - Name: k__BackingField + Entry: 5 + Data: true + - Name: _fieldAttributes + Entry: 7 + Data: 76|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + - Name: + Entry: 12 + Data: 2 + - Name: + Entry: 7 + Data: 77|UnityEngine.HeaderAttribute, UnityEngine.CoreModule + - Name: header + Entry: 1 + Data: Game settings + - Name: + Entry: 8 + Data: + - Name: + Entry: 7 + Data: 78|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: scoreToExtraLife + - Name: $v + Entry: 7 + Data: 79|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: scoreToExtraLife + - 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: 6 + Data: + - Name: + Entry: 8 + Data: + - Name: k__BackingField + Entry: 5 + Data: true + - Name: _fieldAttributes + Entry: 7 + Data: 80|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + - Name: + Entry: 12 + Data: 1 + - Name: + Entry: 7 + Data: 81|UnityEngine.SerializeField, UnityEngine.CoreModule - Name: Entry: 8 Data: @@ -1006,13 +1366,13 @@ MonoBehaviour: Data: maze - Name: $v Entry: 7 - Data: 64|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 82|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: maze - Name: k__BackingField Entry: 7 - Data: 65|System.RuntimeType, mscorlib + Data: 83|System.RuntimeType, mscorlib - Name: Entry: 1 Data: Marro.PacManUdon.Maze, Assembly-CSharp @@ -1034,366 +1394,6 @@ MonoBehaviour: - Name: k__BackingField Entry: 5 Data: false - - Name: _fieldAttributes - Entry: 7 - Data: 66|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: intermission2Pole - - Name: $v - Entry: 7 - Data: 67|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - - Name: k__BackingField - Entry: 1 - Data: intermission2Pole - - Name: k__BackingField - Entry: 7 - Data: 68|System.RuntimeType, mscorlib - - Name: - Entry: 1 - Data: Marro.PacManUdon.Intermission2Pole, Assembly-CSharp - - Name: - Entry: 8 - Data: - - Name: k__BackingField - Entry: 9 - Data: 4 - - 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: 69|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: mazeSpriteAnimator - - Name: $v - Entry: 7 - Data: 70|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - - Name: k__BackingField - Entry: 1 - Data: mazeSpriteAnimator - - Name: k__BackingField - Entry: 7 - Data: 71|System.RuntimeType, mscorlib - - Name: - Entry: 1 - Data: UnityEngine.Animator, UnityEngine.AnimationModule - - Name: - Entry: 8 - Data: - - Name: k__BackingField - Entry: 9 - Data: 71 - - 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: 72|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: attractScreenElements - - Name: $v - Entry: 7 - Data: 73|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - - Name: k__BackingField - Entry: 1 - Data: attractScreenElements - - Name: k__BackingField - Entry: 7 - Data: 74|System.RuntimeType, mscorlib - - Name: - Entry: 1 - Data: UnityEngine.GameObject[], UnityEngine.CoreModule - - Name: - Entry: 8 - Data: - - Name: k__BackingField - Entry: 9 - Data: 74 - - 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: 75|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: intermissionScreenElements - - Name: $v - Entry: 7 - Data: 76|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - - Name: k__BackingField - Entry: 1 - Data: intermissionScreenElements - - Name: k__BackingField - Entry: 9 - Data: 74 - - Name: k__BackingField - Entry: 9 - Data: 74 - - 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: 77|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: gameState - - Name: $v - Entry: 7 - Data: 78|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - - Name: k__BackingField - Entry: 1 - Data: gameState - - Name: k__BackingField - Entry: 7 - Data: 79|System.RuntimeType, mscorlib - - Name: - Entry: 1 - Data: Marro.PacManUdon.PacManGameState, Assembly-CSharp - - Name: - Entry: 8 - Data: - - Name: k__BackingField - Entry: 9 - Data: 57 - - 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: 80|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: score - - Name: $v - Entry: 7 - Data: 81|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - - Name: k__BackingField - Entry: 1 - Data: score - - Name: k__BackingField - Entry: 9 - Data: 57 - - Name: k__BackingField - Entry: 9 - Data: 57 - - 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: 82|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: level - - Name: $v - Entry: 7 - Data: 83|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - - Name: k__BackingField - Entry: 1 - Data: level - - Name: k__BackingField - Entry: 9 - Data: 57 - - Name: k__BackingField - Entry: 9 - Data: 57 - - 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: 84|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib @@ -1417,19 +1417,25 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: highScore + Data: intermission2Pole - Name: $v Entry: 7 Data: 85|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: highScore + Data: intermission2Pole - Name: k__BackingField - Entry: 9 - Data: 57 + Entry: 7 + Data: 86|System.RuntimeType, mscorlib + - Name: + Entry: 1 + Data: Marro.PacManUdon.Intermission2Pole, Assembly-CSharp + - Name: + Entry: 8 + Data: - Name: k__BackingField Entry: 9 - Data: 57 + Data: 4 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -1444,7 +1450,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 86|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 87|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 0 @@ -1465,19 +1471,25 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: extraLives + Data: mazeSpriteAnimator - Name: $v Entry: 7 - Data: 87|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 88|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: extraLives + Data: mazeSpriteAnimator - Name: k__BackingField - Entry: 9 - Data: 57 + Entry: 7 + Data: 89|System.RuntimeType, mscorlib + - Name: + Entry: 1 + Data: UnityEngine.Animator, UnityEngine.AnimationModule + - Name: + Entry: 8 + Data: - Name: k__BackingField Entry: 9 - Data: 57 + Data: 89 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -1492,7 +1504,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 88|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 90|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 0 @@ -1513,73 +1525,25 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: currentlyInTimeSequence + Data: attractScreenElements - Name: $v Entry: 7 - Data: 89|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 91|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: currentlyInTimeSequence + Data: attractScreenElements - Name: k__BackingField Entry: 7 - Data: 90|System.RuntimeType, mscorlib + Data: 92|System.RuntimeType, mscorlib - Name: Entry: 1 - Data: System.Boolean, mscorlib + Data: UnityEngine.GameObject[], UnityEngine.CoreModule - Name: Entry: 8 Data: - Name: k__BackingField Entry: 9 - Data: 90 - - 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: 91|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: waitingForTimeSequenceFinalize - - Name: $v - Entry: 7 - Data: 92|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - - Name: k__BackingField - Entry: 1 - Data: waitingForTimeSequenceFinalize - - Name: k__BackingField - Entry: 9 - Data: 90 - - Name: k__BackingField - Entry: 9 - Data: 90 + Data: 92 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -1615,19 +1579,19 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: jumpingToTimeSequence + Data: intermissionScreenElements - Name: $v Entry: 7 Data: 94|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: jumpingToTimeSequence + Data: intermissionScreenElements - Name: k__BackingField Entry: 9 - Data: 90 + Data: 92 - Name: k__BackingField Entry: 9 - Data: 90 + Data: 92 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -1663,25 +1627,25 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: currentTimeSequence + Data: gameState - Name: $v Entry: 7 Data: 96|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: currentTimeSequence + Data: gameState - Name: k__BackingField Entry: 7 Data: 97|System.RuntimeType, mscorlib - Name: Entry: 1 - Data: Marro.PacManUdon.PacManTimeSequence, Assembly-CSharp + Data: Marro.PacManUdon.PacManGameState, Assembly-CSharp - Name: Entry: 8 Data: - Name: k__BackingField Entry: 9 - Data: 57 + Data: 15 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -1717,25 +1681,19 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: timeSequenceSecondsPassed + Data: score - Name: $v Entry: 7 Data: 99|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: timeSequenceSecondsPassed + Data: score - Name: k__BackingField - Entry: 7 - Data: 100|System.RuntimeType, mscorlib - - Name: - Entry: 1 - Data: System.Single, mscorlib - - Name: - Entry: 8 - Data: + Entry: 9 + Data: 15 - Name: k__BackingField Entry: 9 - Data: 100 + Data: 15 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -1750,7 +1708,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 101|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], + Data: 100|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 @@ -1772,19 +1730,19 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: timeSequenceProgress + Data: level - Name: $v Entry: 7 - Data: 102|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 101|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: timeSequenceProgress + Data: level - Name: k__BackingField Entry: 9 - Data: 57 + Data: 15 - Name: k__BackingField Entry: 9 - Data: 57 + Data: 15 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -1799,7 +1757,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 103|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], + Data: 102|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 @@ -1821,25 +1779,68 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: timeSequenceKeyframeTimes + Data: highScore - Name: $v Entry: 7 - Data: 104|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 103|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: timeSequenceKeyframeTimes + Data: highScore - Name: k__BackingField + Entry: 9 + Data: 15 + - Name: k__BackingField + Entry: 9 + Data: 15 + - Name: k__BackingField Entry: 7 - Data: 105|System.RuntimeType, mscorlib + Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib - Name: - Entry: 1 - Data: System.Single[], mscorlib + Entry: 6 + Data: - Name: Entry: 8 Data: + - Name: 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: extraLives + - Name: $v + Entry: 7 + Data: 105|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: extraLives + - Name: k__BackingField + Entry: 9 + Data: 15 - Name: k__BackingField Entry: 9 - Data: 105 + Data: 15 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib diff --git a/Assets/Scripts/GameManager.cs b/Assets/Scripts/GameManager.cs index f31b2e5..caedad8 100644 --- a/Assets/Scripts/GameManager.cs +++ b/Assets/Scripts/GameManager.cs @@ -106,7 +106,7 @@ namespace Marro.PacManUdon Debug.Log($"{gameObject} Start Game Button was pressed!"); if (networkManager.IsOwner) { - networkManager.SendEventNow(NetworkEventType.StartGameButtonPressed); + networkManager.SendEventSoon(NetworkEventType.StartGameButtonPressed, false); } StartTimeSequence(PacManTimeSequence.StartNewGame); } diff --git a/Assets/Scripts/NetworkManager.asset b/Assets/Scripts/NetworkManager.asset index 21671f2..139512c 100644 --- a/Assets/Scripts/NetworkManager.asset +++ b/Assets/Scripts/NetworkManager.asset @@ -43,7 +43,7 @@ MonoBehaviour: Data: - Name: Entry: 12 - Data: 39 + Data: 41 - Name: Entry: 7 Data: @@ -1009,13 +1009,13 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: eventsToSend + Data: eventsToSendEarly - Name: $v Entry: 7 Data: 54|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: eventsToSend + Data: eventsToSendEarly - Name: k__BackingField Entry: 7 Data: 55|System.RuntimeType, mscorlib @@ -1063,13 +1063,13 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: eventsToSendIndex + Data: eventsToSendEarlyIndex - Name: $v Entry: 7 Data: 57|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: eventsToSendIndex + Data: eventsToSendEarlyIndex - Name: k__BackingField Entry: 9 Data: 11 @@ -1111,16 +1111,112 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: eventsQueue + Data: eventsToSendLate - Name: $v Entry: 7 Data: 59|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: eventsToSendLate + - Name: k__BackingField + Entry: 9 + Data: 55 + - Name: k__BackingField + Entry: 9 + Data: 32 + - 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: 60|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: eventsToSendLateIndex + - Name: $v + Entry: 7 + Data: 61|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: eventsToSendLateIndex + - Name: k__BackingField + Entry: 9 + Data: 11 + - Name: k__BackingField + Entry: 9 + Data: 11 + - 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: 62|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: eventsQueue + - Name: $v + Entry: 7 + Data: 63|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: eventsQueue - Name: k__BackingField Entry: 7 - Data: 60|System.RuntimeType, mscorlib + Data: 64|System.RuntimeType, mscorlib - Name: Entry: 1 Data: System.Byte[][], mscorlib @@ -1142,102 +1238,6 @@ MonoBehaviour: - Name: k__BackingField Entry: 5 Data: false - - Name: _fieldAttributes - Entry: 7 - Data: 61|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: eventsQueueIndex - - Name: $v - Entry: 7 - Data: 62|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - - Name: k__BackingField - Entry: 1 - Data: eventsQueueIndex - - Name: k__BackingField - Entry: 9 - Data: 11 - - Name: k__BackingField - Entry: 9 - Data: 11 - - 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: 63|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: eventsQueueIndexAtLastTransmission - - Name: $v - Entry: 7 - Data: 64|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - - Name: k__BackingField - Entry: 1 - Data: eventsQueueIndexAtLastTransmission - - Name: k__BackingField - Entry: 9 - Data: 11 - - Name: k__BackingField - Entry: 9 - Data: 11 - - 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: 65|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib @@ -1261,19 +1261,19 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: eventTransmissionHistory + Data: eventsQueueIndex - Name: $v Entry: 7 Data: 66|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: eventTransmissionHistory + Data: eventsQueueIndex - Name: k__BackingField Entry: 9 - Data: 32 + Data: 11 - Name: k__BackingField Entry: 9 - Data: 32 + Data: 11 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -1309,13 +1309,13 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: eventTransmissionHistoryIndex + Data: eventsQueueIndexAtLastTransmission - Name: $v Entry: 7 Data: 68|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: eventTransmissionHistoryIndex + Data: eventsQueueIndexAtLastTransmission - Name: k__BackingField Entry: 9 Data: 11 @@ -1357,19 +1357,19 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: lastEventTransmissionTime + Data: eventTransmissionHistory - Name: $v Entry: 7 Data: 70|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: lastEventTransmissionTime + Data: eventTransmissionHistory - Name: k__BackingField Entry: 9 - Data: 11 + Data: 32 - Name: k__BackingField Entry: 9 - Data: 11 + Data: 32 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -1405,25 +1405,19 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: lastEventId + Data: eventTransmissionHistoryIndex - Name: $v Entry: 7 Data: 72|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: lastEventId + Data: eventTransmissionHistoryIndex - Name: k__BackingField - Entry: 7 - Data: 73|System.RuntimeType, mscorlib - - Name: - Entry: 1 - Data: System.Byte, mscorlib - - Name: - Entry: 8 - Data: + Entry: 9 + Data: 11 - Name: k__BackingField Entry: 9 - Data: 73 + Data: 11 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -1438,7 +1432,109 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 74|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 73|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: lastEventTransmissionTime + - Name: $v + Entry: 7 + Data: 74|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: lastEventTransmissionTime + - Name: k__BackingField + Entry: 9 + Data: 11 + - Name: k__BackingField + Entry: 9 + Data: 11 + - 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: 75|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: lastEventId + - Name: $v + Entry: 7 + Data: 76|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: lastEventId + - Name: k__BackingField + Entry: 7 + Data: 77|System.RuntimeType, mscorlib + - Name: + Entry: 1 + Data: System.Byte, mscorlib + - Name: + Entry: 8 + Data: + - Name: k__BackingField + Entry: 9 + Data: 77 + - 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: 78|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 0 @@ -1462,13 +1558,13 @@ MonoBehaviour: Data: networkedData - Name: $v Entry: 7 - Data: 75|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 79|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: networkedData - Name: k__BackingField Entry: 7 - Data: 76|System.RuntimeType, mscorlib + Data: 80|System.RuntimeType, mscorlib - Name: Entry: 1 Data: System.Byte[], mscorlib @@ -1477,7 +1573,7 @@ MonoBehaviour: Data: - Name: k__BackingField Entry: 9 - Data: 76 + Data: 80 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -1492,13 +1588,13 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 77|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 81|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 1 - Name: Entry: 7 - Data: 78|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime + Data: 82|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime - Name: Entry: 8 Data: @@ -1520,114 +1616,18 @@ MonoBehaviour: - Name: $k Entry: 1 Data: ready - - Name: $v - Entry: 7 - Data: 79|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - - Name: k__BackingField - Entry: 1 - Data: ready - - Name: k__BackingField - Entry: 9 - Data: 25 - - Name: k__BackingField - Entry: 9 - Data: 25 - - 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: 80|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: synced - - Name: $v - Entry: 7 - Data: 81|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - - Name: k__BackingField - Entry: 1 - Data: synced - - Name: k__BackingField - Entry: 9 - Data: 25 - - Name: k__BackingField - Entry: 9 - Data: 25 - - 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: 82|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: k__BackingField - Name: $v Entry: 7 Data: 83|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: k__BackingField + Data: ready - Name: k__BackingField Entry: 9 - Data: 11 + Data: 25 - Name: k__BackingField Entry: 9 - Data: 11 + Data: 25 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -1663,19 +1663,19 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: k__BackingField + Data: synced - Name: $v Entry: 7 Data: 85|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: k__BackingField + Data: synced - Name: k__BackingField Entry: 9 - Data: 21 + Data: 25 - Name: k__BackingField Entry: 9 - Data: 21 + Data: 25 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -1711,19 +1711,19 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: k__BackingField + Data: k__BackingField - Name: $v Entry: 7 Data: 87|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: k__BackingField + Data: k__BackingField - Name: k__BackingField Entry: 9 - Data: 25 + Data: 11 - Name: k__BackingField Entry: 9 - Data: 25 + Data: 11 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -1759,19 +1759,19 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: isOwner + Data: k__BackingField - Name: $v Entry: 7 Data: 89|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: isOwner + Data: k__BackingField - Name: k__BackingField Entry: 9 - Data: 25 + Data: 21 - Name: k__BackingField Entry: 9 - Data: 25 + Data: 21 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -1807,25 +1807,19 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: debugOutput + Data: k__BackingField - Name: $v Entry: 7 Data: 91|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: debugOutput + Data: k__BackingField - Name: k__BackingField - Entry: 7 - Data: 92|System.RuntimeType, mscorlib - - Name: - Entry: 1 - Data: TMPro.TMP_InputField, Unity.TextMeshPro - - Name: - Entry: 8 - Data: + Entry: 9 + Data: 25 - Name: k__BackingField Entry: 9 - Data: 92 + Data: 25 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -1837,19 +1831,13 @@ MonoBehaviour: Data: - Name: k__BackingField Entry: 5 - Data: true + Data: false - Name: _fieldAttributes Entry: 7 - Data: 93|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 92|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 - Data: 1 - - Name: - Entry: 7 - Data: 94|UnityEngine.SerializeField, UnityEngine.CoreModule - - Name: - Entry: 8 - Data: + Data: 0 - Name: Entry: 13 Data: @@ -1867,19 +1855,67 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: DebugImageToIndicateOwner + Data: isOwner + - Name: $v + Entry: 7 + Data: 93|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: isOwner + - Name: k__BackingField + Entry: 9 + Data: 25 + - Name: k__BackingField + Entry: 9 + Data: 25 + - 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: 94|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: debugOutput - Name: $v Entry: 7 Data: 95|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: DebugImageToIndicateOwner + Data: debugOutput - Name: k__BackingField Entry: 7 Data: 96|System.RuntimeType, mscorlib - Name: Entry: 1 - Data: UnityEngine.Animator, UnityEngine.AnimationModule + Data: TMPro.TMP_InputField, Unity.TextMeshPro - Name: Entry: 8 Data: @@ -1927,19 +1963,80 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: DebugImageToIndicateSynced + Data: DebugImageToIndicateOwner - Name: $v Entry: 7 Data: 99|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + - Name: k__BackingField + Entry: 1 + Data: DebugImageToIndicateOwner + - Name: k__BackingField + Entry: 7 + Data: 100|System.RuntimeType, mscorlib + - Name: + Entry: 1 + Data: UnityEngine.Animator, UnityEngine.AnimationModule + - Name: + Entry: 8 + Data: + - Name: k__BackingField + Entry: 9 + Data: 100 + - 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: true + - Name: _fieldAttributes + Entry: 7 + Data: 101|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], + mscorlib + - Name: + Entry: 12 + Data: 1 + - Name: + Entry: 7 + Data: 102|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: DebugImageToIndicateSynced + - Name: $v + Entry: 7 + Data: 103|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: DebugImageToIndicateSynced - Name: k__BackingField Entry: 9 - Data: 96 + Data: 100 - Name: k__BackingField Entry: 9 - Data: 96 + Data: 100 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -1954,14 +2051,14 @@ MonoBehaviour: Data: true - Name: _fieldAttributes Entry: 7 - Data: 100|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], + Data: 104|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 1 - Name: Entry: 7 - Data: 101|UnityEngine.SerializeField, UnityEngine.CoreModule + Data: 105|UnityEngine.SerializeField, UnityEngine.CoreModule - Name: Entry: 8 Data: @@ -1985,16 +2082,16 @@ MonoBehaviour: Data: DebugImageToIndicateReady - Name: $v Entry: 7 - Data: 102|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 106|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: DebugImageToIndicateReady - Name: k__BackingField Entry: 9 - Data: 96 + Data: 100 - Name: k__BackingField Entry: 9 - Data: 96 + Data: 100 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -2009,14 +2106,14 @@ MonoBehaviour: Data: true - Name: _fieldAttributes Entry: 7 - Data: 103|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], + Data: 107|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 1 - Name: Entry: 7 - Data: 104|UnityEngine.SerializeField, UnityEngine.CoreModule + Data: 108|UnityEngine.SerializeField, UnityEngine.CoreModule - Name: Entry: 8 Data: @@ -2040,13 +2137,13 @@ MonoBehaviour: Data: tester - Name: $v Entry: 7 - Data: 105|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 109|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: tester - Name: k__BackingField Entry: 7 - Data: 106|System.RuntimeType, mscorlib + Data: 110|System.RuntimeType, mscorlib - Name: Entry: 1 Data: NetworkManagerTester, Assembly-CSharp @@ -2070,7 +2167,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 107|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], + Data: 111|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 diff --git a/Assets/Scripts/NetworkManager.cs b/Assets/Scripts/NetworkManager.cs index 3ff7d12..616a393 100644 --- a/Assets/Scripts/NetworkManager.cs +++ b/Assets/Scripts/NetworkManager.cs @@ -15,7 +15,7 @@ namespace Marro.PacManUdon { FullSyncForced = 0, FullSync = 1, - PacManTurn = 2, + InputChange = 2, StartGameButtonPressed = 3, Pause = 7, Resume = 8, @@ -65,7 +65,7 @@ namespace Marro.PacManUdon /// /// The time delta at which updates occur. /// - [SerializeField] private float tickDelta = 0.0166666667f; + [SerializeField] private float tickDelta = 0.0165f; #endregion #region Constants @@ -162,13 +162,21 @@ namespace Marro.PacManUdon private bool serializationRequested; /// - /// Events to send at the end of SyncedUpdate cycle + /// Events to send at the end of SyncedUpdate cycle. /// - private NetworkEventType[] eventsToSend; + private NetworkEventType[] eventsToSendEarly; /// - /// Index for + /// Index for . /// - private int eventsToSendIndex; + private int eventsToSendEarlyIndex; + /// + /// Events to send at the end of SyncedUpdate cycle, delayed by a tick. + /// + private NetworkEventType[] eventsToSendLate; + /// + /// Index for . + /// + private int eventsToSendLateIndex; /// /// Queue of events to be transmitted or processed. @@ -406,7 +414,7 @@ namespace Marro.PacManUdon ProcessEventsToSend(); // Prepare events from last cycle ProgressPingTime(); // See if we need to send a ping } - else + if (!isOwner) { ApplyReceivedEvents(); // See if there's events after last update that need to be replayed } @@ -489,7 +497,7 @@ namespace Marro.PacManUdon #endregion #region Sender - public void SendEventSoon(NetworkEventType eventType) + public void SendEventSoon(NetworkEventType eventType, bool early = false) { if (!Ready) { @@ -502,27 +510,48 @@ namespace Marro.PacManUdon return; } - if (eventsQueueIndex > eventsToSend.Length) + if (early) { - Debug.LogWarning($"({nameof(PacManUdon)} {nameof(NetworkManager)}) {nameof(eventsToSend)} overflow!"); - HandleError(false); - return; - } + if (eventsToSendEarlyIndex >= eventsToSendEarly.Length) + { + Debug.LogWarning($"({nameof(PacManUdon)} {nameof(NetworkManager)}) {nameof(eventsToSendEarly)} overflow!"); + HandleError(false); + return; + } - eventsToSend[eventsToSendIndex++] = eventType; + eventsToSendEarly[eventsToSendEarlyIndex++] = eventType; + } + else + { + if (eventsToSendLateIndex >= eventsToSendLate.Length) + { + Debug.LogWarning($"({nameof(PacManUdon)} {nameof(NetworkManager)}) {nameof(eventsToSendLate)} overflow!"); + HandleError(false); + return; + } + + eventsToSendLate[eventsToSendLateIndex++] = eventType; + } } private void ProcessEventsToSend() { - for (int i = 0; i < eventsToSendIndex; i++) + for (int i = 0; i < eventsToSendEarlyIndex; i++) { - SendEventNow(eventsToSend[0]); + SendEventNow(eventsToSendEarly[i], true); } - eventsToSendIndex = 0; + eventsToSendEarlyIndex = 0; + + for (int i = 0; i < eventsToSendLateIndex; i++) + { + SendEventNow(eventsToSendLate[i], false); + } + + eventsToSendLateIndex = 0; } - public void SendEventNow(NetworkEventType eventType) + public void SendEventNow(NetworkEventType eventType, bool early) { if (!Ready) { @@ -537,6 +566,11 @@ namespace Marro.PacManUdon var timestamp = SyncedTimeTicks; + if (early) + { + timestamp--; + } + var eventId = GetNextEventId(lastEventId); InitializeEvent(eventType, timestamp, eventId, out byte[] data, out var index); @@ -911,8 +945,11 @@ namespace Marro.PacManUdon eventTransmissionHistory = new int[maxEventSendTries]; eventTransmissionHistoryIndex = 0; eventsQueueIndexAtLastTransmission = 0; - eventsToSend = new NetworkEventType[BufferMaxTotalEvents]; - eventsToSendIndex = 0; + + eventsToSendEarly = new NetworkEventType[BufferMaxTotalEvents]; + eventsToSendEarlyIndex = 0; + eventsToSendLate = new NetworkEventType[BufferMaxTotalEvents]; + eventsToSendLateIndex = 0; } private void DequeueEventsFromBuffer(int eventCount) diff --git a/Assets/Scripts/PacMan.cs b/Assets/Scripts/PacMan.cs index d1358bd..f1fa088 100644 --- a/Assets/Scripts/PacMan.cs +++ b/Assets/Scripts/PacMan.cs @@ -82,27 +82,7 @@ namespace Marro.PacManUdon return; } - float speed = this.speed; - if (freezeSeconds > 0) - { - float freezePart = freezeSeconds / networkManager.SyncedDeltaTime; - if (freezePart >= 1) - { - freezeSeconds -= networkManager.SyncedDeltaTime; - animator.speed = 0; - speed = 0; - } - else - { - speed *= 1 - freezePart; - animator.speed = 1 - freezePart; - freezeSeconds = 0; - } - } - else - { - animator.speed = 1; - } + float speed = GetNextSpeed(); Vector2 position = GetPosition(); Vector2 nextPosition = GetNextPosition(position, directionVectors[(int)direction], speed, networkManager.SyncedDeltaTime); // The position pacman will move to, assuming it doens't get changed @@ -127,6 +107,33 @@ namespace Marro.PacManUdon SetPosition(nextPosition); } + private float GetNextSpeed() + { + float speed = this.speed; + if (freezeSeconds > 0) + { + float freezePart = freezeSeconds / networkManager.SyncedDeltaTime; + if (freezePart >= 1) + { + freezeSeconds -= networkManager.SyncedDeltaTime; + animator.speed = 0; + speed = 0; + } + else + { + speed *= 1 - freezePart; + animator.speed = 1 - freezePart; + freezeSeconds = 0; + } + } + else + { + animator.speed = 1; + } + + return speed; + } + private Vector2 ProcessNextPosition(Vector2 position, Vector2 nextPosition) { if (CrossesTileCenter(position, nextPosition, Direction.Left) // If pacman is moving horizontally, check if he may cross the center of a tile in that axis @@ -210,11 +217,11 @@ namespace Marro.PacManUdon if (eatResult == EatResult.Pellet) { - freezeSeconds = 0.0166666666666667f; + freezeSeconds = 0.0165f; } else if (eatResult == EatResult.PowerPellet) { - freezeSeconds = 0.05f; + freezeSeconds = 0.0495f; } } diff --git a/Assets/Scripts/PlayerInput.asset b/Assets/Scripts/PlayerInput.asset index 5da6c98..8647b38 100644 --- a/Assets/Scripts/PlayerInput.asset +++ b/Assets/Scripts/PlayerInput.asset @@ -43,7 +43,7 @@ MonoBehaviour: Data: - Name: Entry: 12 - Data: 11 + Data: 10 - Name: Entry: 7 Data: @@ -385,19 +385,25 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: inputHorizontal + Data: analogInput - Name: $v Entry: 7 Data: 22|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: inputHorizontal + Data: analogInput - Name: k__BackingField - Entry: 9 - Data: 20 + Entry: 7 + Data: 23|System.RuntimeType, mscorlib + - Name: + Entry: 1 + Data: UnityEngine.Vector2, UnityEngine.CoreModule + - Name: + Entry: 8 + Data: - Name: k__BackingField Entry: 9 - Data: 17 + Data: 23 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -412,7 +418,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 23|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 24|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 0 @@ -433,19 +439,19 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: inputVertical + Data: dirty - Name: $v Entry: 7 - Data: 24|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 25|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: inputVertical + Data: dirty - Name: k__BackingField Entry: 9 - Data: 20 + Data: 7 - Name: k__BackingField Entry: 9 - Data: 17 + Data: 7 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -460,7 +466,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 25|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 26|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 0 @@ -481,25 +487,25 @@ MonoBehaviour: Data: - Name: $k Entry: 1 - Data: horizontalValue + Data: lastUsedHand - Name: $v Entry: 7 - Data: 26|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 27|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 - Data: horizontalValue + Data: lastUsedHand - Name: k__BackingField Entry: 7 - Data: 27|System.RuntimeType, mscorlib + Data: 28|System.RuntimeType, mscorlib - Name: Entry: 1 - Data: System.Single, mscorlib + Data: VRC.Udon.Common.HandType, VRC.Udon.Common - Name: Entry: 8 Data: - Name: k__BackingField Entry: 9 - Data: 27 + Data: 28 - Name: k__BackingField Entry: 7 Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib @@ -514,55 +520,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 28|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: verticalValue - - Name: $v - Entry: 7 - Data: 29|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - - Name: k__BackingField - Entry: 1 - Data: verticalValue - - Name: k__BackingField - Entry: 9 - Data: 27 - - Name: k__BackingField - Entry: 9 - Data: 27 - - 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: 30|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 29|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 0 @@ -586,7 +544,7 @@ MonoBehaviour: Data: horizontalPriority - Name: $v Entry: 7 - Data: 31|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor + Data: 30|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor - Name: k__BackingField Entry: 1 Data: horizontalPriority @@ -610,7 +568,7 @@ MonoBehaviour: Data: false - Name: _fieldAttributes Entry: 7 - Data: 32|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib + Data: 31|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib - Name: Entry: 12 Data: 0 diff --git a/Assets/Scripts/PlayerInput.cs b/Assets/Scripts/PlayerInput.cs index 9428c41..1f04282 100644 --- a/Assets/Scripts/PlayerInput.cs +++ b/Assets/Scripts/PlayerInput.cs @@ -21,22 +21,24 @@ private InputMethod inputMethod; private Direction resultInput; - private Direction inputHorizontal; - private Direction inputVertical; - private float horizontalValue; - private float verticalValue; + private Vector2 analogInput; + private bool dirty; + private HandType lastUsedHand; private bool horizontalPriority; public void Initialize(GameManager gameManager) { this.gameManager = gameManager; - resultInput = Direction.Zero; - inputHorizontal = Direction.Zero; - inputVertical = Direction.Zero; - horizontalPriority = false; + player = Networking.LocalPlayer; + inputMethod = InputMethod.KeyboardMouse; - SubscribeToEvent(NetworkEventType.PacManTurn); + resultInput = Direction.Zero; + analogInput = Vector2.zero; + dirty = false; + horizontalPriority = false; + + SubscribeToEvent(NetworkEventType.InputChange); } void Update() @@ -67,6 +69,14 @@ } } + public override void SyncedUpdate() + { + if (dirty) // Update now to ensure input feedback is performed timely + { + UpdateResultInput(); + } + } + public void Activate() { Debug.Log($"{gameObject} got activated, {player} was immobilized"); @@ -109,36 +119,9 @@ return; } - var previousInputHorizontal = inputHorizontal; - - horizontalValue = Math.Abs(value); - if (value < -0.5) - { - inputHorizontal = Direction.Left; - if (horizontalValue >= verticalValue) - { - SetPriority(true); - } - } - else if (value > 0.5) - { - inputHorizontal = Direction.Right; - if (horizontalValue >= verticalValue) - { - SetPriority(true); - } - } - else - { - inputHorizontal = Direction.Zero; - SetPriority(false); - } - - if (previousInputHorizontal != inputHorizontal) - { - UpdateResultInput(); - } - // Debug.Log("Horizontal Input Event: " + value + " | Direction: " + direction + " | lastDirection: " + lastDirection + " | Left: " + left + " | Right: " + right); + analogInput.x = value; + lastUsedHand = args.handType; + dirty = true; } public override void InputMoveVertical(float value, UdonInputEventArgs args) @@ -148,37 +131,9 @@ return; } - var previousInputVertical = inputVertical; - - verticalValue = Math.Abs(value); - if (value > 0.5) - { - inputVertical = Direction.Up; - if (verticalValue >= horizontalValue) - { - SetPriority(false); - } - } - else if (value < -0.5) - { - inputVertical = Direction.Down; - if (verticalValue >= horizontalValue) - { - SetPriority(false); - } - } - else - { - inputVertical = Direction.Zero; - SetPriority(true); - } - - if (previousInputVertical != inputVertical) - { - UpdateResultInput(); - } - - // Debug.Log("Vertical Input Event: " + value + " | Direction: " + direction + " | lastDirection : " + lastDirection); + analogInput.y = value; + lastUsedHand = args.handType; + dirty = true; } public override void OnInputMethodChanged(VRCInputMethod inputMethod) @@ -195,33 +150,108 @@ } } - private void SetPriority(bool horizontalPriority) - { - if (this.horizontalPriority != horizontalPriority) - { - if (inputMethod != InputMethod.KeyboardMouse) - { - player.PlayHapticEventInHand(VRC_Pickup.PickupHand.Left, 0.1f, 0.15f, 75); - } - - this.horizontalPriority = horizontalPriority; - } - } - private void UpdateResultInput() { - resultInput = horizontalPriority ? inputHorizontal : inputVertical; - networkManager.SendEventSoon(NetworkEventType.PacManTurn); + dirty = false; + var newResult = GetResultInput(analogInput); + + if (newResult == resultInput) + { + return; + } + + Debug.Log($"Switched to input direction {newResult} from analogInput {analogInput} with HorizontalPriority {horizontalPriority}"); + + resultInput = newResult; + networkManager.SendEventSoon(NetworkEventType.InputChange, true); + PlayHaptics(); + } + + private void PlayHaptics() + { + if (inputMethod == InputMethod.KeyboardMouse) + { + return; + } + + VRC_Pickup.PickupHand hand; + switch (lastUsedHand) + { + case HandType.LEFT: + hand = VRC_Pickup.PickupHand.Left; + break; + case HandType.RIGHT: + hand = VRC_Pickup.PickupHand.Right; + break; + default: + return; + } + + player.PlayHapticEventInHand(hand, 0.1f, 0.15f, 75); + } + + private Direction GetResultInput(Vector2 analogInput) + { + if (analogInput.magnitude < 0.8) + { + return Direction.Zero; + } + + var normalized = analogInput.normalized; + + Debug.Log($"Checking analogInput {analogInput} with HorizontalPriority {horizontalPriority}, normalized {normalized}"); + + const float directionDivider = 0.72f; + if (normalized.x > directionDivider) + { + horizontalPriority = false; + return Direction.Right; + } + else if (normalized.x < -directionDivider) + { + horizontalPriority = false; + return Direction.Left; + } + else if (normalized.y > directionDivider) + { + horizontalPriority = true; + return Direction.Up; + } + else if (normalized.y < -directionDivider) + { + horizontalPriority = true; + return Direction.Down; + } + + if (horizontalPriority) + { + if (normalized.x > 0) + { + return Direction.Right; + } + return Direction.Left; + } + + if (normalized.y > 0) + { + return Direction.Up; + } + return Direction.Down; } public Direction GetDirection() { + if (dirty) // Update now to reduce input delay + { + UpdateResultInput(); + } + return resultInput; } public override void CollectSyncedData(byte[] data, ref int index, NetworkEventType eventType) { - if (eventType != NetworkEventType.PacManTurn) + if (eventType != NetworkEventType.InputChange) { return; } @@ -231,7 +261,7 @@ public override bool WriteSyncedData(byte[] data, ref int index, NetworkEventType eventType) { - if (eventType != NetworkEventType.PacManTurn) + if (eventType != NetworkEventType.InputChange) { return true; } diff --git a/Assets/Test stuff/TestBallManager.cs b/Assets/Test stuff/TestBallManager.cs index 364ec48..10f26c3 100644 --- a/Assets/Test stuff/TestBallManager.cs +++ b/Assets/Test stuff/TestBallManager.cs @@ -50,7 +50,7 @@ public class TestBallManager : UdonSharpBehaviour testBall.UpButtonPressed(); } - networkManager.SendEventSoon(NetworkEventType.PacManTurn); + networkManager.SendEventSoon(NetworkEventType.InputChange); } public void SyncButtonPressed()