Tools for testing
This commit is contained in:
@@ -181,7 +181,7 @@ MonoBehaviour:
|
||||
Data: 11|System.RuntimeType, mscorlib
|
||||
- Name:
|
||||
Entry: 1
|
||||
Data: System.Single, mscorlib
|
||||
Data: System.Int32, mscorlib
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
@@ -237,17 +237,11 @@ MonoBehaviour:
|
||||
Entry: 1
|
||||
Data: maxEventSendTries
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 7
|
||||
Data: 15|System.RuntimeType, mscorlib
|
||||
- Name:
|
||||
Entry: 1
|
||||
Data: System.Int32, mscorlib
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
Entry: 9
|
||||
Data: 11
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 15
|
||||
Data: 11
|
||||
- Name: <SyncMode>k__BackingField
|
||||
Entry: 7
|
||||
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
|
||||
@@ -262,13 +256,13 @@ MonoBehaviour:
|
||||
Data: true
|
||||
- Name: _fieldAttributes
|
||||
Entry: 7
|
||||
Data: 16|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
Data: 15|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
- Name:
|
||||
Entry: 12
|
||||
Data: 1
|
||||
- Name:
|
||||
Entry: 7
|
||||
Data: 17|UnityEngine.SerializeField, UnityEngine.CoreModule
|
||||
Data: 16|UnityEngine.SerializeField, UnityEngine.CoreModule
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
@@ -292,7 +286,7 @@ MonoBehaviour:
|
||||
Data: pingDelay
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 18|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
Data: 17|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: pingDelay
|
||||
@@ -316,13 +310,13 @@ MonoBehaviour:
|
||||
Data: true
|
||||
- Name: _fieldAttributes
|
||||
Entry: 7
|
||||
Data: 19|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
Data: 18|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
- Name:
|
||||
Entry: 12
|
||||
Data: 1
|
||||
- Name:
|
||||
Entry: 7
|
||||
Data: 20|UnityEngine.SerializeField, UnityEngine.CoreModule
|
||||
Data: 19|UnityEngine.SerializeField, UnityEngine.CoreModule
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
@@ -343,19 +337,25 @@ MonoBehaviour:
|
||||
Data:
|
||||
- Name: $k
|
||||
Entry: 1
|
||||
Data: updateDelta
|
||||
Data: tickDelta
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 21|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
Data: 20|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: updateDelta
|
||||
Data: tickDelta
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 11
|
||||
Entry: 7
|
||||
Data: 21|System.RuntimeType, mscorlib
|
||||
- Name:
|
||||
Entry: 1
|
||||
Data: System.Single, mscorlib
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 11
|
||||
Data: 21
|
||||
- Name: <SyncMode>k__BackingField
|
||||
Entry: 7
|
||||
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
|
||||
@@ -625,19 +625,19 @@ MonoBehaviour:
|
||||
Data:
|
||||
- Name: $k
|
||||
Entry: 1
|
||||
Data: offsetTime
|
||||
Data: startTime
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 38|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: offsetTime
|
||||
Data: startTime
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 11
|
||||
Data: 21
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 11
|
||||
Data: 21
|
||||
- Name: <SyncMode>k__BackingField
|
||||
Entry: 7
|
||||
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
|
||||
@@ -673,13 +673,13 @@ MonoBehaviour:
|
||||
Data:
|
||||
- Name: $k
|
||||
Entry: 1
|
||||
Data: internalTime
|
||||
Data: targetTicks
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 40|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: internalTime
|
||||
Data: targetTicks
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 11
|
||||
@@ -817,13 +817,13 @@ MonoBehaviour:
|
||||
Data:
|
||||
- Name: $k
|
||||
Entry: 1
|
||||
Data: nextUpdateTime
|
||||
Data: nextEventTime
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 46|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: nextUpdateTime
|
||||
Data: nextEventTime
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 11
|
||||
@@ -865,13 +865,13 @@ MonoBehaviour:
|
||||
Data:
|
||||
- Name: $k
|
||||
Entry: 1
|
||||
Data: nextEventTime
|
||||
Data: retriesWithoutSuccess
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 48|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: nextEventTime
|
||||
Data: retriesWithoutSuccess
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 11
|
||||
@@ -913,19 +913,19 @@ MonoBehaviour:
|
||||
Data:
|
||||
- Name: $k
|
||||
Entry: 1
|
||||
Data: retriesWithoutSuccess
|
||||
Data: hasFullSyncReady
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 50|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: retriesWithoutSuccess
|
||||
Data: hasFullSyncReady
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 15
|
||||
Data: 25
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 15
|
||||
Data: 25
|
||||
- Name: <SyncMode>k__BackingField
|
||||
Entry: 7
|
||||
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
|
||||
@@ -961,13 +961,13 @@ MonoBehaviour:
|
||||
Data:
|
||||
- Name: $k
|
||||
Entry: 1
|
||||
Data: hasFullSyncReady
|
||||
Data: serializationRequested
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 52|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: hasFullSyncReady
|
||||
Data: serializationRequested
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 25
|
||||
@@ -1009,19 +1009,25 @@ MonoBehaviour:
|
||||
Data:
|
||||
- Name: $k
|
||||
Entry: 1
|
||||
Data: serializationRequested
|
||||
Data: eventsToSend
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 54|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: serializationRequested
|
||||
Data: eventsToSend
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 25
|
||||
Entry: 7
|
||||
Data: 55|System.RuntimeType, mscorlib
|
||||
- Name:
|
||||
Entry: 1
|
||||
Data: Marro.PacManUdon.NetworkEventType[], Assembly-CSharp
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 25
|
||||
Data: 32
|
||||
- Name: <SyncMode>k__BackingField
|
||||
Entry: 7
|
||||
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
|
||||
@@ -1036,7 +1042,7 @@ MonoBehaviour:
|
||||
Data: false
|
||||
- Name: _fieldAttributes
|
||||
Entry: 7
|
||||
Data: 55|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
Data: 56|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
- Name:
|
||||
Entry: 12
|
||||
Data: 0
|
||||
@@ -1057,25 +1063,19 @@ MonoBehaviour:
|
||||
Data:
|
||||
- Name: $k
|
||||
Entry: 1
|
||||
Data: eventsToSend
|
||||
Data: eventsToSendIndex
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 56|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
Data: 57|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: eventsToSend
|
||||
Data: eventsToSendIndex
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 7
|
||||
Data: 57|System.RuntimeType, mscorlib
|
||||
- Name:
|
||||
Entry: 1
|
||||
Data: Marro.PacManUdon.NetworkEventType[], Assembly-CSharp
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
Entry: 9
|
||||
Data: 11
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 32
|
||||
Data: 11
|
||||
- Name: <SyncMode>k__BackingField
|
||||
Entry: 7
|
||||
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
|
||||
@@ -1111,19 +1111,25 @@ MonoBehaviour:
|
||||
Data:
|
||||
- Name: $k
|
||||
Entry: 1
|
||||
Data: eventsToSendIndex
|
||||
Data: eventsQueue
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 59|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: eventsToSendIndex
|
||||
Data: eventsQueue
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 15
|
||||
Entry: 7
|
||||
Data: 60|System.RuntimeType, mscorlib
|
||||
- Name:
|
||||
Entry: 1
|
||||
Data: System.Byte[][], mscorlib
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 15
|
||||
Data: 29
|
||||
- Name: <SyncMode>k__BackingField
|
||||
Entry: 7
|
||||
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
|
||||
@@ -1138,7 +1144,7 @@ MonoBehaviour:
|
||||
Data: false
|
||||
- Name: _fieldAttributes
|
||||
Entry: 7
|
||||
Data: 60|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
Data: 61|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
- Name:
|
||||
Entry: 12
|
||||
Data: 0
|
||||
@@ -1159,25 +1165,19 @@ MonoBehaviour:
|
||||
Data:
|
||||
- Name: $k
|
||||
Entry: 1
|
||||
Data: eventsQueue
|
||||
Data: eventsQueueIndex
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 61|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
Data: 62|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: eventsQueue
|
||||
Data: eventsQueueIndex
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 7
|
||||
Data: 62|System.RuntimeType, mscorlib
|
||||
- Name:
|
||||
Entry: 1
|
||||
Data: System.Byte[][], mscorlib
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
Entry: 9
|
||||
Data: 11
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 29
|
||||
Data: 11
|
||||
- Name: <SyncMode>k__BackingField
|
||||
Entry: 7
|
||||
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
|
||||
@@ -1213,19 +1213,19 @@ MonoBehaviour:
|
||||
Data:
|
||||
- Name: $k
|
||||
Entry: 1
|
||||
Data: eventsQueueIndex
|
||||
Data: eventsQueueIndexAtLastTransmission
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 64|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: eventsQueueIndex
|
||||
Data: eventsQueueIndexAtLastTransmission
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 15
|
||||
Data: 11
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 15
|
||||
Data: 11
|
||||
- Name: <SyncMode>k__BackingField
|
||||
Entry: 7
|
||||
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
|
||||
@@ -1261,19 +1261,19 @@ MonoBehaviour:
|
||||
Data:
|
||||
- Name: $k
|
||||
Entry: 1
|
||||
Data: eventsQueueIndexAtLastTransmission
|
||||
Data: eventTransmissionHistory
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 66|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: eventsQueueIndexAtLastTransmission
|
||||
Data: eventTransmissionHistory
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 15
|
||||
Data: 32
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 15
|
||||
Data: 32
|
||||
- Name: <SyncMode>k__BackingField
|
||||
Entry: 7
|
||||
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
|
||||
@@ -1309,19 +1309,19 @@ MonoBehaviour:
|
||||
Data:
|
||||
- Name: $k
|
||||
Entry: 1
|
||||
Data: eventTransmissionHistory
|
||||
Data: eventTransmissionHistoryIndex
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 68|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: eventTransmissionHistory
|
||||
Data: eventTransmissionHistoryIndex
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 32
|
||||
Data: 11
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 32
|
||||
Data: 11
|
||||
- Name: <SyncMode>k__BackingField
|
||||
Entry: 7
|
||||
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
|
||||
@@ -1357,19 +1357,19 @@ MonoBehaviour:
|
||||
Data:
|
||||
- Name: $k
|
||||
Entry: 1
|
||||
Data: eventTransmissionHistoryIndex
|
||||
Data: lastEventTransmissionTime
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 70|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: eventTransmissionHistoryIndex
|
||||
Data: lastEventTransmissionTime
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 15
|
||||
Data: 11
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 15
|
||||
Data: 11
|
||||
- Name: <SyncMode>k__BackingField
|
||||
Entry: 7
|
||||
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
|
||||
@@ -1405,64 +1405,16 @@ MonoBehaviour:
|
||||
Data:
|
||||
- Name: $k
|
||||
Entry: 1
|
||||
Data: lastEventTransmissionTime
|
||||
Data: lastEventId
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 72|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: lastEventTransmissionTime
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 11
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 11
|
||||
- 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: 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: lastEventId
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 74|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: lastEventId
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 7
|
||||
Data: 75|System.RuntimeType, mscorlib
|
||||
Data: 73|System.RuntimeType, mscorlib
|
||||
- Name:
|
||||
Entry: 1
|
||||
Data: System.Byte, mscorlib
|
||||
@@ -1471,7 +1423,7 @@ MonoBehaviour:
|
||||
Data:
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 75
|
||||
Data: 73
|
||||
- Name: <SyncMode>k__BackingField
|
||||
Entry: 7
|
||||
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
|
||||
@@ -1486,7 +1438,7 @@ MonoBehaviour:
|
||||
Data: false
|
||||
- Name: _fieldAttributes
|
||||
Entry: 7
|
||||
Data: 76|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
Data: 74|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
- Name:
|
||||
Entry: 12
|
||||
Data: 0
|
||||
@@ -1510,13 +1462,13 @@ MonoBehaviour:
|
||||
Data: networkedData
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 77|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
Data: 75|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: networkedData
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 7
|
||||
Data: 78|System.RuntimeType, mscorlib
|
||||
Data: 76|System.RuntimeType, mscorlib
|
||||
- Name:
|
||||
Entry: 1
|
||||
Data: System.Byte[], mscorlib
|
||||
@@ -1525,7 +1477,7 @@ MonoBehaviour:
|
||||
Data:
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 78
|
||||
Data: 76
|
||||
- Name: <SyncMode>k__BackingField
|
||||
Entry: 7
|
||||
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
|
||||
@@ -1540,13 +1492,13 @@ MonoBehaviour:
|
||||
Data: false
|
||||
- Name: _fieldAttributes
|
||||
Entry: 7
|
||||
Data: 79|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
Data: 77|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
- Name:
|
||||
Entry: 12
|
||||
Data: 1
|
||||
- Name:
|
||||
Entry: 7
|
||||
Data: 80|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
|
||||
Data: 78|UdonSharp.UdonSyncedAttribute, UdonSharp.Runtime
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
@@ -1570,7 +1522,7 @@ MonoBehaviour:
|
||||
Data: ready
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 81|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
Data: 79|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: ready
|
||||
@@ -1592,6 +1544,54 @@ MonoBehaviour:
|
||||
- Name: <IsSerialized>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: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: synced
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 25
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 25
|
||||
- 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: 82|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
@@ -1615,19 +1615,19 @@ MonoBehaviour:
|
||||
Data:
|
||||
- Name: $k
|
||||
Entry: 1
|
||||
Data: synced
|
||||
Data: <SyncedTimeTicks>k__BackingField
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 83|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: synced
|
||||
Data: <SyncedTimeTicks>k__BackingField
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 25
|
||||
Data: 11
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 25
|
||||
Data: 11
|
||||
- Name: <SyncMode>k__BackingField
|
||||
Entry: 7
|
||||
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
|
||||
@@ -1672,10 +1672,10 @@ MonoBehaviour:
|
||||
Data: <SyncedTime>k__BackingField
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 11
|
||||
Data: 21
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 11
|
||||
Data: 21
|
||||
- Name: <SyncMode>k__BackingField
|
||||
Entry: 7
|
||||
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
|
||||
@@ -1711,19 +1711,19 @@ MonoBehaviour:
|
||||
Data:
|
||||
- Name: $k
|
||||
Entry: 1
|
||||
Data: <SyncedDeltaTime>k__BackingField
|
||||
Data: <IsEventUpdate>k__BackingField
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 87|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: <SyncedDeltaTime>k__BackingField
|
||||
Data: <IsEventUpdate>k__BackingField
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 11
|
||||
Data: 25
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 11
|
||||
Data: 25
|
||||
- Name: <SyncMode>k__BackingField
|
||||
Entry: 7
|
||||
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
|
||||
@@ -1759,13 +1759,13 @@ MonoBehaviour:
|
||||
Data:
|
||||
- Name: $k
|
||||
Entry: 1
|
||||
Data: <IsEventUpdate>k__BackingField
|
||||
Data: isOwner
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 89|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: <IsEventUpdate>k__BackingField
|
||||
Data: isOwner
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 25
|
||||
@@ -1807,19 +1807,25 @@ MonoBehaviour:
|
||||
Data:
|
||||
- Name: $k
|
||||
Entry: 1
|
||||
Data: isOwner
|
||||
Data: debugOutput
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 91|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: isOwner
|
||||
Data: debugOutput
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 25
|
||||
Entry: 7
|
||||
Data: 92|System.RuntimeType, mscorlib
|
||||
- Name:
|
||||
Entry: 1
|
||||
Data: TMPro.TMP_InputField, Unity.TextMeshPro
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 25
|
||||
Data: 92
|
||||
- Name: <SyncMode>k__BackingField
|
||||
Entry: 7
|
||||
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
|
||||
@@ -1831,13 +1837,19 @@ MonoBehaviour:
|
||||
Data:
|
||||
- Name: <IsSerialized>k__BackingField
|
||||
Entry: 5
|
||||
Data: false
|
||||
Data: true
|
||||
- Name: _fieldAttributes
|
||||
Entry: 7
|
||||
Data: 92|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
Data: 93|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
- Name:
|
||||
Entry: 12
|
||||
Data: 0
|
||||
Data: 1
|
||||
- Name:
|
||||
Entry: 7
|
||||
Data: 94|UnityEngine.SerializeField, UnityEngine.CoreModule
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
- Name:
|
||||
Entry: 13
|
||||
Data:
|
||||
@@ -1858,13 +1870,13 @@ MonoBehaviour:
|
||||
Data: DebugImageToIndicateOwner
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 93|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
Data: 95|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: DebugImageToIndicateOwner
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 7
|
||||
Data: 94|System.RuntimeType, mscorlib
|
||||
Data: 96|System.RuntimeType, mscorlib
|
||||
- Name:
|
||||
Entry: 1
|
||||
Data: UnityEngine.Animator, UnityEngine.AnimationModule
|
||||
@@ -1873,7 +1885,7 @@ MonoBehaviour:
|
||||
Data:
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 94
|
||||
Data: 96
|
||||
- Name: <SyncMode>k__BackingField
|
||||
Entry: 7
|
||||
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
|
||||
@@ -1888,13 +1900,13 @@ MonoBehaviour:
|
||||
Data: true
|
||||
- Name: _fieldAttributes
|
||||
Entry: 7
|
||||
Data: 95|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
Data: 97|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
- Name:
|
||||
Entry: 12
|
||||
Data: 1
|
||||
- Name:
|
||||
Entry: 7
|
||||
Data: 96|UnityEngine.SerializeField, UnityEngine.CoreModule
|
||||
Data: 98|UnityEngine.SerializeField, UnityEngine.CoreModule
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
@@ -1918,16 +1930,16 @@ MonoBehaviour:
|
||||
Data: DebugImageToIndicateSynced
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 97|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
Data: 99|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: DebugImageToIndicateSynced
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 94
|
||||
Data: 96
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 94
|
||||
Data: 96
|
||||
- Name: <SyncMode>k__BackingField
|
||||
Entry: 7
|
||||
Data: System.Nullable`1[[UdonSharp.UdonSyncMode, UdonSharp.Runtime]], mscorlib
|
||||
@@ -1942,68 +1954,69 @@ MonoBehaviour:
|
||||
Data: true
|
||||
- Name: _fieldAttributes
|
||||
Entry: 7
|
||||
Data: 98|System.Collections.Generic.List`1[[System.Attribute, mscorlib]], mscorlib
|
||||
- Name:
|
||||
Entry: 12
|
||||
Data: 1
|
||||
- Name:
|
||||
Entry: 7
|
||||
Data: 99|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: DebugImageToIndicateReady
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 100|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: DebugImageToIndicateReady
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 94
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 94
|
||||
- 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: true
|
||||
- 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
|
||||
Data: 1
|
||||
- Name:
|
||||
Entry: 7
|
||||
Data: 102|UnityEngine.SerializeField, UnityEngine.CoreModule
|
||||
Data: 101|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: DebugImageToIndicateReady
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 102|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: DebugImageToIndicateReady
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 96
|
||||
- Name: <SystemType>k__BackingField
|
||||
Entry: 9
|
||||
Data: 96
|
||||
- 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: true
|
||||
- Name: _fieldAttributes
|
||||
Entry: 7
|
||||
Data: 103|System.Collections.Generic.List`1[[System.Attribute, mscorlib]],
|
||||
mscorlib
|
||||
- Name:
|
||||
Entry: 12
|
||||
Data: 1
|
||||
- Name:
|
||||
Entry: 7
|
||||
Data: 104|UnityEngine.SerializeField, UnityEngine.CoreModule
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
@@ -2027,13 +2040,13 @@ MonoBehaviour:
|
||||
Data: tester
|
||||
- Name: $v
|
||||
Entry: 7
|
||||
Data: 103|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
Data: 105|UdonSharp.Compiler.FieldDefinition, UdonSharp.Editor
|
||||
- Name: <Name>k__BackingField
|
||||
Entry: 1
|
||||
Data: tester
|
||||
- Name: <UserType>k__BackingField
|
||||
Entry: 7
|
||||
Data: 104|System.RuntimeType, mscorlib
|
||||
Data: 106|System.RuntimeType, mscorlib
|
||||
- Name:
|
||||
Entry: 1
|
||||
Data: NetworkManagerTester, Assembly-CSharp
|
||||
@@ -2057,7 +2070,7 @@ MonoBehaviour:
|
||||
Data: false
|
||||
- Name: _fieldAttributes
|
||||
Entry: 7
|
||||
Data: 105|System.Collections.Generic.List`1[[System.Attribute, mscorlib]],
|
||||
Data: 107|System.Collections.Generic.List`1[[System.Attribute, mscorlib]],
|
||||
mscorlib
|
||||
- Name:
|
||||
Entry: 12
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
using System;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using System;
|
||||
using System.Numerics;
|
||||
using System.Text;
|
||||
using TMPro;
|
||||
using UdonSharp;
|
||||
@@ -52,9 +54,9 @@ namespace Marro.PacManUdon
|
||||
/// </summary>
|
||||
[SerializeField] private GameObject root;
|
||||
/// <summary>
|
||||
/// The delay at which the receiving side replays events.
|
||||
/// The delay in ticks at which the receiving side replays events.
|
||||
/// </summary>
|
||||
[SerializeField] private float delay = 1f;
|
||||
[SerializeField] private int delay = 50;
|
||||
/// <summary>
|
||||
/// The maximum amount of times a message is sent.
|
||||
/// </summary>
|
||||
@@ -62,11 +64,11 @@ namespace Marro.PacManUdon
|
||||
/// <summary>
|
||||
/// How long to wait since last message to send next ping.
|
||||
/// </summary>
|
||||
[SerializeField] private float pingDelay = 0.3f;
|
||||
[SerializeField] private int pingDelay = 15;
|
||||
/// <summary>
|
||||
/// The time delta at which updates occur.
|
||||
/// </summary>
|
||||
[SerializeField] private float updateDelta = 0.0166666667f;
|
||||
[SerializeField] private float tickDelta = 0.0166666667f;
|
||||
#endregion
|
||||
|
||||
#region Constants
|
||||
@@ -123,13 +125,14 @@ namespace Marro.PacManUdon
|
||||
private SyncedObject[] syncedUpdateSubscribers;
|
||||
|
||||
/// <summary>
|
||||
/// Offset from system time to network time, including delay.
|
||||
/// The <see cref="Time.fixedTime"/> that corresponds to tick 0.
|
||||
/// </summary>
|
||||
private float offsetTime;
|
||||
private float startTime;
|
||||
|
||||
/// <summary>
|
||||
/// Time since last full sync, captured when this FixedUpdate started, with network delay applied.
|
||||
/// Time in ticks since start of game.
|
||||
/// </summary>
|
||||
private float internalTime;
|
||||
private int targetTicks;
|
||||
|
||||
/// <summary>
|
||||
/// True if time is paused
|
||||
@@ -142,13 +145,9 @@ namespace Marro.PacManUdon
|
||||
private bool stepNext;
|
||||
|
||||
/// <summary>
|
||||
/// Time at which the next update should occur.
|
||||
/// Time at which next received event occured, in ticks.
|
||||
/// </summary>
|
||||
private float nextUpdateTime;
|
||||
/// <summary>
|
||||
/// Time at which next received event occured.
|
||||
/// </summary>
|
||||
private float nextEventTime;
|
||||
private int nextEventTime;
|
||||
|
||||
/// <summary>
|
||||
/// Amounot of retries in a row without a successful sync.
|
||||
@@ -196,9 +195,9 @@ namespace Marro.PacManUdon
|
||||
/// </summary>
|
||||
private int eventTransmissionHistoryIndex;
|
||||
/// <summary>
|
||||
/// Time of last event transmission.
|
||||
/// Time of last event transmission, in ticks.
|
||||
/// </summary>
|
||||
private float lastEventTransmissionTime;
|
||||
private int lastEventTransmissionTime;
|
||||
|
||||
|
||||
/// <summary>
|
||||
@@ -251,14 +250,18 @@ namespace Marro.PacManUdon
|
||||
private bool synced = false;
|
||||
|
||||
/// <summary>
|
||||
/// The time since last full sync which is currently being simulated.
|
||||
/// The time since start of game, in ticks.
|
||||
/// </summary>
|
||||
public int SyncedTimeTicks { get; private set; }
|
||||
/// <summary>
|
||||
/// The time since start of game which is currently being simulated.
|
||||
/// </summary>
|
||||
public float SyncedTime { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// Time since the last simulation, in seconds.
|
||||
/// </summary>
|
||||
public float SyncedDeltaTime { get; private set; }
|
||||
public float SyncedDeltaTime => tickDelta;
|
||||
|
||||
/// <summary>
|
||||
/// Is the current simulation to prepare for applying a network event?
|
||||
@@ -355,11 +358,10 @@ namespace Marro.PacManUdon
|
||||
retriesWithoutSuccess = 0;
|
||||
hasFullSyncReady = false;
|
||||
|
||||
offsetTime = Time.fixedTime;
|
||||
internalTime = 0;
|
||||
targetTicks = 0;
|
||||
startTime = Time.fixedTime;
|
||||
SyncedTime = 0;
|
||||
SyncedDeltaTime = Time.fixedDeltaTime;
|
||||
nextUpdateTime = SyncedTime;
|
||||
SyncedTimeTicks = 0;
|
||||
|
||||
Ready = true;
|
||||
|
||||
@@ -373,11 +375,16 @@ namespace Marro.PacManUdon
|
||||
RequestEvent(NetworkEventType.FullSync);
|
||||
}
|
||||
|
||||
Debug.Log($"({nameof(PacManUdon)} {nameof(NetworkManager)}) Initialized, time offset: {offsetTime}");
|
||||
Debug.Log($"({nameof(PacManUdon)} {nameof(NetworkManager)}) Initialized");
|
||||
}
|
||||
|
||||
public void Update()
|
||||
{
|
||||
if (debugOutput != null)
|
||||
{
|
||||
WriteDebugOutput(debugOutput);
|
||||
}
|
||||
|
||||
if (!initialized)
|
||||
{
|
||||
return;
|
||||
@@ -387,35 +394,12 @@ namespace Marro.PacManUdon
|
||||
UpdateInternalTime();
|
||||
|
||||
// Forwards simulated time by updateDelta until we're caught up
|
||||
while (nextUpdateTime <= internalTime)
|
||||
while (SyncedTimeTicks <= targetTicks)
|
||||
{
|
||||
PerformFixedSyncedUpdate();
|
||||
}
|
||||
}
|
||||
|
||||
private void UpdateInternalTime()
|
||||
{
|
||||
var delta = Time.fixedTime - offsetTime - internalTime;
|
||||
|
||||
if (!paused)
|
||||
{
|
||||
// Continue time like normal
|
||||
internalTime += delta;
|
||||
}
|
||||
else if (paused && !stepNext)
|
||||
{
|
||||
// Since we're paused, increase our offset from Unity's time
|
||||
offsetTime += delta;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Step forward by exactly updateDelta, apply the remainder to our offset
|
||||
offsetTime += delta - updateDelta;
|
||||
internalTime += updateDelta;
|
||||
stepNext = false;
|
||||
}
|
||||
}
|
||||
|
||||
private void PerformFixedSyncedUpdate()
|
||||
{
|
||||
if (Ready)
|
||||
@@ -431,9 +415,8 @@ namespace Marro.PacManUdon
|
||||
}
|
||||
}
|
||||
|
||||
ProgressSyncedTime(nextUpdateTime);
|
||||
ProgressSyncedTime();
|
||||
CallSyncedUpdate();
|
||||
nextUpdateTime = SyncedTime + updateDelta;
|
||||
}
|
||||
|
||||
private void CallSyncedUpdate()
|
||||
@@ -555,7 +538,7 @@ namespace Marro.PacManUdon
|
||||
return;
|
||||
}
|
||||
|
||||
var timestamp = SyncedTime;
|
||||
var timestamp = SyncedTimeTicks;
|
||||
|
||||
var eventId = GetNextEventId(lastEventId);
|
||||
|
||||
@@ -593,7 +576,7 @@ namespace Marro.PacManUdon
|
||||
retriesWithoutSuccess = 0; // We had success!
|
||||
}
|
||||
|
||||
private static void InitializeEvent(NetworkEventType eventType, float timestamp, byte eventId, out byte[] data, out int index)
|
||||
private static void InitializeEvent(NetworkEventType eventType, int timestamp, byte eventId, out byte[] data, out int index)
|
||||
{
|
||||
data = new byte[MaxEventSize];
|
||||
|
||||
@@ -640,7 +623,7 @@ namespace Marro.PacManUdon
|
||||
private void ProgressPingTime()
|
||||
{
|
||||
if (eventsQueueIndex > 0 && !serializationRequested
|
||||
&& internalTime - lastEventTransmissionTime >= pingDelay)
|
||||
&& targetTicks - lastEventTransmissionTime >= pingDelay)
|
||||
{
|
||||
RequestSerializationForEvents();
|
||||
}
|
||||
@@ -695,7 +678,7 @@ namespace Marro.PacManUdon
|
||||
// If there was a full sync in the queue, it has now been transmitted at least once
|
||||
hasFullSyncReady = false;
|
||||
|
||||
lastEventTransmissionTime = internalTime;
|
||||
lastEventTransmissionTime = targetTicks;
|
||||
}
|
||||
#endregion
|
||||
|
||||
@@ -811,7 +794,7 @@ namespace Marro.PacManUdon
|
||||
QueueEventInBuffer(@event);
|
||||
|
||||
// Set this event to play after the default delay
|
||||
nextEventTime = internalTime + delay;
|
||||
nextEventTime = targetTicks + delay;
|
||||
|
||||
hasFullSyncReady = true;
|
||||
|
||||
@@ -822,7 +805,7 @@ namespace Marro.PacManUdon
|
||||
{
|
||||
IsEventUpdate = true;
|
||||
|
||||
while (eventsQueueIndex > 0 && nextEventTime <= SyncedTime)
|
||||
while (eventsQueueIndex > 0 && nextEventTime <= SyncedTimeTicks)
|
||||
{
|
||||
var success = ApplyEvent(eventsQueue[0]);
|
||||
|
||||
@@ -847,11 +830,16 @@ namespace Marro.PacManUdon
|
||||
{
|
||||
SyncToTimestamp(timestamp);
|
||||
}
|
||||
else if (timestamp < SyncedTimeTicks)
|
||||
{
|
||||
Debug.LogWarning($"({nameof(PacManUdon)} {nameof(NetworkManager)}) Next received event is in the past! " +
|
||||
$"{nameof(nextEventTime)}: {nextEventTime} < {nameof(SyncedTimeTicks)}: {SyncedTimeTicks}.");
|
||||
HandleError(true);
|
||||
return false;
|
||||
}
|
||||
|
||||
var index = (int)HeaderLength; // Skip header
|
||||
|
||||
ProgressSyncedTime(timestamp);
|
||||
|
||||
var subscribers = GetEventSubscribers(eventType);
|
||||
|
||||
Debug.Log($"({nameof(PacManUdon)} {nameof(NetworkManager)}) ApplyEvent with dt {SyncedDeltaTime}");
|
||||
@@ -890,7 +878,7 @@ namespace Marro.PacManUdon
|
||||
Synced = true;
|
||||
}
|
||||
|
||||
Debug.Log($"({nameof(PacManUdon)} {nameof(NetworkManager)}) Performed incoming eventof type {eventType}! Total {index} bytes.");
|
||||
Debug.Log($"({nameof(PacManUdon)} {nameof(NetworkManager)}) Performed incoming event of type {eventType}! Total {index} bytes.");
|
||||
|
||||
retriesWithoutSuccess = 0; // We had success!
|
||||
|
||||
@@ -951,30 +939,38 @@ namespace Marro.PacManUdon
|
||||
#endregion
|
||||
|
||||
#region Time
|
||||
private void ProgressSyncedTime(float newTime)
|
||||
private void UpdateInternalTime()
|
||||
{
|
||||
//Debug.Log($"({nameof(PacManUdon)} {nameof(NetworkManager)}) updating SyncedTime from {SyncedTime} to {newTime}");
|
||||
SyncedDeltaTime = newTime - SyncedTime;
|
||||
|
||||
if (SyncedDeltaTime < 0)
|
||||
if (paused && !stepNext)
|
||||
{
|
||||
Debug.LogWarning($"({nameof(PacManUdon)} {nameof(NetworkManager)}) Negative Dt: {SyncedDeltaTime}! Going from {SyncedTime} to {newTime}, IsEventUpdate: {IsEventUpdate}");
|
||||
return;
|
||||
}
|
||||
|
||||
SyncedTime = newTime;
|
||||
if (paused && stepNext)
|
||||
{
|
||||
targetTicks++;
|
||||
stepNext = false;
|
||||
return;
|
||||
}
|
||||
|
||||
targetTicks = (int)((Time.fixedTime - startTime) / tickDelta);
|
||||
}
|
||||
|
||||
private void SyncToTimestamp(float timestamp)
|
||||
private void ProgressSyncedTime()
|
||||
{
|
||||
var oldOffset = offsetTime;
|
||||
offsetTime = Time.fixedTime - timestamp;
|
||||
SyncedTimeTicks++;
|
||||
SyncedTime = SyncedTimeTicks * tickDelta;
|
||||
}
|
||||
|
||||
var delta = offsetTime - oldOffset;
|
||||
internalTime -= delta;
|
||||
SyncedTime -= delta;
|
||||
nextEventTime -= delta;
|
||||
private void SyncToTimestamp(int timestamp)
|
||||
{
|
||||
startTime = Time.fixedTime - timestamp * tickDelta;
|
||||
targetTicks = timestamp;
|
||||
SyncedTimeTicks = timestamp;
|
||||
SyncedTime = SyncedTimeTicks * tickDelta;
|
||||
nextEventTime = timestamp;
|
||||
|
||||
Debug.Log($"({nameof(PacManUdon)} {nameof(NetworkManager)}) Synced to timestamp {timestamp}, current time is {Time.fixedTime}, offsetTime is now {offsetTime}, internalTime is now {internalTime}, SyncedTime is now {SyncedTime}, nextEventTime is now {nextEventTime}");
|
||||
Debug.Log($"({nameof(PacManUdon)} {nameof(NetworkManager)}) Synced to timestamp {timestamp}, internalTime is now {targetTicks}, SyncedTime is now {SyncedTime}, nextEventTime is now {nextEventTime}");
|
||||
}
|
||||
|
||||
private void UpdateNextEventTime()
|
||||
@@ -993,9 +989,9 @@ namespace Marro.PacManUdon
|
||||
return;
|
||||
}
|
||||
|
||||
if (nextEventTime < SyncedTime)
|
||||
if (nextEventTime < SyncedTimeTicks)
|
||||
{
|
||||
Debug.LogWarning($"({nameof(PacManUdon)} {nameof(NetworkManager)}) New event timestamp is earlier than our current synced time by {SyncedTime - nextEventTime} seconds! nextEventTime: {nextEventTime} SyncedTime: {SyncedTime}, internalTime: {internalTime}");
|
||||
Debug.LogWarning($"({nameof(PacManUdon)} {nameof(NetworkManager)}) New event timestamp is earlier than our current synced time by {SyncedTime - nextEventTime} seconds! nextEventTime: {nextEventTime} SyncedTime: {SyncedTime}, internalTime: {targetTicks}");
|
||||
HandleError(true);
|
||||
return;
|
||||
}
|
||||
@@ -1026,8 +1022,8 @@ namespace Marro.PacManUdon
|
||||
private static NetworkEventType GetEventTypeFromHeader(byte[] @event, int eventIndex = 0) =>
|
||||
(NetworkEventType)@event[eventIndex + HeaderEventTypeIndex];
|
||||
|
||||
private static float GetTimestampFromHeader(byte[] @event, int eventIndex = 0) =>
|
||||
BitConverter.ToSingle(@event, eventIndex + HeaderTimestampIndex);
|
||||
private static int GetTimestampFromHeader(byte[] @event, int eventIndex = 0) =>
|
||||
BitConverter.ToInt32(@event, eventIndex + HeaderTimestampIndex);
|
||||
|
||||
private static byte GetEventIdFromHeader(byte[] @event, int eventIndex = 0) =>
|
||||
@event[eventIndex + HeaderEventIdIndex];
|
||||
@@ -1107,6 +1103,11 @@ namespace Marro.PacManUdon
|
||||
Array.Copy(data, start, result, 0, length);
|
||||
return result;
|
||||
}
|
||||
|
||||
private static float RoundDown(float value, float precision)
|
||||
{
|
||||
return (float)(Math.Floor(value / precision) * precision);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region SyncedData
|
||||
@@ -1137,20 +1138,20 @@ namespace Marro.PacManUdon
|
||||
#region Debug
|
||||
public void SimulateSyncToTimestamp(float timestamp)
|
||||
{
|
||||
SyncToTimestamp(timestamp);
|
||||
//SyncToTimestamp(timestamp);
|
||||
}
|
||||
|
||||
public void WriteDebugOutput(TMP_InputField debugOutput)
|
||||
{
|
||||
debugOutput.text += $"{nameof(NetworkManager)}:\n" +
|
||||
debugOutput.text = $"{nameof(NetworkManager)}:\n" +
|
||||
$"IsOwner: {IsOwner}\n" +
|
||||
$"Ready: {Ready}\n" +
|
||||
$"Synced: {Synced}\n" +
|
||||
$"hasFullSyncReady: {hasFullSyncReady}\n" +
|
||||
$"lastEventId: {lastEventId}" +
|
||||
$"lastEventId: {lastEventId}\n" +
|
||||
$"Time.fixedTime: {Time.fixedTime}\n" +
|
||||
$"offsetTime: {offsetTime}\n" +
|
||||
$"internalTime: {internalTime}\n" +
|
||||
$"startTime: {startTime}\n" +
|
||||
$"targetTicks: {targetTicks}\n" +
|
||||
$"SyncedTime: {SyncedTime}\n" +
|
||||
$"Dt: {SyncedDeltaTime}\n" +
|
||||
$"BufferIndex: {eventsQueueIndex}\n" +
|
||||
@@ -1158,6 +1159,11 @@ namespace Marro.PacManUdon
|
||||
$"\n";
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Text field to display debug info in.
|
||||
/// </summary>
|
||||
[SerializeField] private TMP_InputField debugOutput;
|
||||
|
||||
/// <summary>
|
||||
/// An animator which visualizes whether the current perspective is the owner.
|
||||
/// </summary>
|
||||
|
||||
Reference in New Issue
Block a user