diff --git a/Experimental/DistributedAuthoritySample/Assets/Prefabs/Characters/Avatar.prefab b/Experimental/DistributedAuthoritySample/Assets/Prefabs/Characters/Avatar.prefab
index e5360b40c..f7cdaa137 100644
--- a/Experimental/DistributedAuthoritySample/Assets/Prefabs/Characters/Avatar.prefab
+++ b/Experimental/DistributedAuthoritySample/Assets/Prefabs/Characters/Avatar.prefab
@@ -54,7 +54,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3}
m_Name:
m_EditorClassIdentifier:
- GlobalObjectIdHash: 3001504883
+ GlobalObjectIdHash: 2473698027
InScenePlacedSourceGlobalObjectIdHash: 0
DeferredDespawnTick: 0
Ownership: 0
@@ -65,6 +65,8 @@ MonoBehaviour:
SpawnWithObservers: 1
DontDestroyWithOwner: 0
AutoObjectParentSync: 1
+ SyncOwnerTransformWhenParented: 1
+ AllowOwnerToParent: 0
--- !u!114 &5446307037829169848
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -77,7 +79,10 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 5e253f865ab604b12a7f84e3d97704d8, type: 3}
m_Name:
m_EditorClassIdentifier:
+ ShowTopMostFoldoutHeaderGroup: 1
+ NetworkTransformExpanded: 0
AuthorityMode: 1
+ TickSyncChildren: 0
UseUnreliableDeltas: 0
SyncPositionX: 1
SyncPositionY: 1
@@ -95,20 +100,35 @@ MonoBehaviour:
UseQuaternionCompression: 0
UseHalfFloatPrecision: 0
InLocalSpace: 0
+ SwitchTransformSpaceWhenParented: 0
Interpolate: 1
SlerpPosition: 0
- m_CollisionType: 1
- m_CollisionDamage: 0
- m_DebugCollisions: 0
- m_DebugDamage: 0
- m_Colliders:
+ BaseObjectMotionHandlerPropertiesVisible: 1
+ IsPooled: 1
+ CollisionType: 1
+ CollisionDamage: 0
+ DebugCollisions: 0
+ DebugDamage: 0
+ Colliders:
- {fileID: 36137897785899347}
- m_MaxAngularVelocity: 10
- m_MaxVelocity: 10
- m_PlayerInput: {fileID: 4903152183366241606}
- m_AvatarInputs: {fileID: 8197190117666738524}
- m_AvatarInteractions: {fileID: 539700041658036575}
- m_PhysicsPlayerController: {fileID: 4655812346339390596}
+ PhysicsObjectMotionPropertiesVisible: 1
+ MaxAngularVelocity: 10
+ MaxVelocity: 10
+ m_Mass:
+ m_InternalValue: 1
+ m_AngularVelocity:
+ m_InternalValue: {x: 0, y: 0, z: 0}
+ m_Velocity:
+ m_InternalValue: {x: 0, y: 0, z: 0}
+ m_Torque:
+ m_InternalValue: {x: 0, y: 0, z: 0}
+ m_Force:
+ m_InternalValue: {x: 0, y: 0, z: 0}
+ AvatarTransformPropertiesVisible: 1
+ PlayerInput: {fileID: 4903152183366241606}
+ AvatarInputs: {fileID: 8197190117666738524}
+ AvatarInteractions: {fileID: 539700041658036575}
+ PhysicsPlayerController: {fileID: 4655812346339390596}
--- !u!54 &4745766379562620470
Rigidbody:
m_ObjectHideFlags: 0
@@ -148,6 +168,8 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: f6c0be61502bb534f922ebb746851216, type: 3}
m_Name:
m_EditorClassIdentifier:
+ ShowTopMostFoldoutHeaderGroup: 1
+ NetworkRigidbodyBaseExpanded: 0
UseRigidBodyForMotion: 1
AutoUpdateKinematicState: 1
AutoSetKinematicOnDespawn: 1
@@ -212,6 +234,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: b47efef44cef74d9ca00f4913607f988, type: 3}
m_Name:
m_EditorClassIdentifier:
+ ShowTopMostFoldoutHeaderGroup: 1
m_AvatarNetworkAnimator: {fileID: 7543523986693376117}
m_AnimationEventRelayer: {fileID: 3050276823525430539}
m_MainCollider: {fileID: 36137897785899347}
@@ -249,6 +272,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: df477f8da5cc5436fb68de2bde7515aa, type: 3}
m_Name:
m_EditorClassIdentifier:
+ ShowTopMostFoldoutHeaderGroup: 1
TransitionStateInfoList:
- IsCrossFadeExit: 0
Layer: 0
diff --git a/Experimental/DistributedAuthoritySample/Assets/Prefabs/Props/CarryableObjectTemplate.prefab b/Experimental/DistributedAuthoritySample/Assets/Prefabs/Props/CarryableObjectTemplate.prefab
index 5f008d5e2..33f40e5c5 100644
--- a/Experimental/DistributedAuthoritySample/Assets/Prefabs/Props/CarryableObjectTemplate.prefab
+++ b/Experimental/DistributedAuthoritySample/Assets/Prefabs/Props/CarryableObjectTemplate.prefab
@@ -193,18 +193,33 @@ MonoBehaviour:
SwitchTransformSpaceWhenParented: 0
Interpolate: 1
SlerpPosition: 0
- m_CollisionType: 2
- m_CollisionDamage: 5
- m_DebugCollisions: 0
- m_DebugDamage: 0
- m_Colliders:
+ BaseObjectMotionHandlerPropertiesVisible: 1
+ IsPooled: 1
+ CollisionType: 2
+ CollisionDamage: 5
+ DebugCollisions: 0
+ DebugDamage: 0
+ Colliders:
- {fileID: 1070061854055180021}
- m_MaxAngularVelocity: 10
- m_MaxVelocity: 10
- m_StartingHealth: 25
- m_IntangibleDurationAfterDamage: 2
- m_SecondsUntilRespawn: 0
- m_TransferableObject: {fileID: 0}
+ PhysicsObjectMotionPropertiesVisible: 1
+ MaxAngularVelocity: 10
+ MaxVelocity: 10
+ m_Mass:
+ m_InternalValue: 1
+ m_AngularVelocity:
+ m_InternalValue: {x: 0, y: 0, z: 0}
+ m_Velocity:
+ m_InternalValue: {x: 0, y: 0, z: 0}
+ m_Torque:
+ m_InternalValue: {x: 0, y: 0, z: 0}
+ m_Force:
+ m_InternalValue: {x: 0, y: 0, z: 0}
+ DestructibleObjectPropertiesVisible: 1
+ StartingHealth: 25
+ IntangibleDurationAfterDamage: 2
+ SecondsUntilRespawn: 5
+ DeferredDespawnTicks: 4
+ TransferableObject: {fileID: 0}
m_DestructionFX: {fileID: 4911318353974513769, guid: 56f26e64c02337a47907a313b4d6399c, type: 3}
m_RubblePrefab: {fileID: 0}
destructionVFXType:
diff --git a/Experimental/DistributedAuthoritySample/Assets/Prefabs/Props/Chest_CarryableObject.prefab b/Experimental/DistributedAuthoritySample/Assets/Prefabs/Props/Chest_CarryableObject.prefab
index f3a58af6c..2ef3b2ca8 100644
--- a/Experimental/DistributedAuthoritySample/Assets/Prefabs/Props/Chest_CarryableObject.prefab
+++ b/Experimental/DistributedAuthoritySample/Assets/Prefabs/Props/Chest_CarryableObject.prefab
@@ -84,14 +84,26 @@ PrefabInstance:
propertyPath: m_ProvidesContacts
value: 1
objectReference: {fileID: 0}
+ - target: {fileID: 2004954010814667909, guid: b35b44635b9b3ec43b189ea3a1400750, type: 3}
+ propertyPath: RubblePrefab
+ value:
+ objectReference: {fileID: 8387396247047937556, guid: 7edc42645c2fba04892f066a0f38e825, type: 3}
- target: {fileID: 2004954010814667909, guid: b35b44635b9b3ec43b189ea3a1400750, type: 3}
propertyPath: rubblePrefab
value:
objectReference: {fileID: 4548375771530481534, guid: 7edc42645c2fba04892f066a0f38e825, type: 3}
+ - target: {fileID: 2004954010814667909, guid: b35b44635b9b3ec43b189ea3a1400750, type: 3}
+ propertyPath: DestructionFX
+ value:
+ objectReference: {fileID: 4911318353974513769, guid: 56f26e64c02337a47907a313b4d6399c, type: 3}
- target: {fileID: 2004954010814667909, guid: b35b44635b9b3ec43b189ea3a1400750, type: 3}
propertyPath: m_DebugDamage
value: 0
objectReference: {fileID: 0}
+ - target: {fileID: 2004954010814667909, guid: b35b44635b9b3ec43b189ea3a1400750, type: 3}
+ propertyPath: StartingHealth
+ value: 10
+ objectReference: {fileID: 0}
- target: {fileID: 2004954010814667909, guid: b35b44635b9b3ec43b189ea3a1400750, type: 3}
propertyPath: m_RubblePrefab
value:
@@ -100,18 +112,38 @@ PrefabInstance:
propertyPath: m_StartingHealth
value: 10
objectReference: {fileID: 0}
+ - target: {fileID: 2004954010814667909, guid: b35b44635b9b3ec43b189ea3a1400750, type: 3}
+ propertyPath: DestructionVFXType
+ value: Crate
+ objectReference: {fileID: 0}
+ - target: {fileID: 2004954010814667909, guid: b35b44635b9b3ec43b189ea3a1400750, type: 3}
+ propertyPath: TransferableObject
+ value:
+ objectReference: {fileID: 4975332333728566176}
- target: {fileID: 2004954010814667909, guid: b35b44635b9b3ec43b189ea3a1400750, type: 3}
propertyPath: destructionVFXType
value: Crate
objectReference: {fileID: 0}
+ - target: {fileID: 2004954010814667909, guid: b35b44635b9b3ec43b189ea3a1400750, type: 3}
+ propertyPath: SecondsUntilRespawn
+ value: 5
+ objectReference: {fileID: 0}
- target: {fileID: 2004954010814667909, guid: b35b44635b9b3ec43b189ea3a1400750, type: 3}
propertyPath: m_TransferableObject
value:
- objectReference: {fileID: 4975332333728566176}
+ objectReference: {fileID: 0}
- target: {fileID: 2004954010814667909, guid: b35b44635b9b3ec43b189ea3a1400750, type: 3}
propertyPath: m_SecondsUntilRespawn
value: 5
objectReference: {fileID: 0}
+ - target: {fileID: 2004954010814667909, guid: b35b44635b9b3ec43b189ea3a1400750, type: 3}
+ propertyPath: DestructibleObjectPropertiesVisible
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2093548513578380327, guid: b35b44635b9b3ec43b189ea3a1400750, type: 3}
+ propertyPath: GlobalObjectIdHash
+ value: 1523686939
+ objectReference: {fileID: 0}
- target: {fileID: 5622352566631732085, guid: b35b44635b9b3ec43b189ea3a1400750, type: 3}
propertyPath: m_Name
value: Chest_CarryableObject
@@ -200,73 +232,20 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z
value: -4.520996
objectReference: {fileID: 0}
- - target: {fileID: 8778270557094879703, guid: b35b44635b9b3ec43b189ea3a1400750, type: 3}
- propertyPath: m_Mass
- value: 5
- objectReference: {fileID: 0}
- - target: {fileID: 8778270557094879703, guid: b35b44635b9b3ec43b189ea3a1400750, type: 3}
- propertyPath: m_IsKinematic
- value: 1
- objectReference: {fileID: 0}
- - target: {fileID: 8860140056957201948, guid: b35b44635b9b3ec43b189ea3a1400750, type: 3}
- propertyPath: rubblePrefab
- value:
- objectReference: {fileID: 4548375771530481534, guid: 7edc42645c2fba04892f066a0f38e825, type: 3}
- - target: {fileID: 8860140056957201948, guid: b35b44635b9b3ec43b189ea3a1400750, type: 3}
- propertyPath: destructionVFX
- value:
- objectReference: {fileID: 4911318353974513769, guid: 56f26e64c02337a47907a313b4d6399c, type: 3}
- - target: {fileID: 8860140056957201948, guid: b35b44635b9b3ec43b189ea3a1400750, type: 3}
- propertyPath: destructionVFXType
- value: Crate
- objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects:
- targetCorrespondingSourceObject: {fileID: 79685342591573548, guid: b35b44635b9b3ec43b189ea3a1400750, type: 3}
insertIndex: -1
addedObject: {fileID: 3877267113667028722}
- m_AddedComponents:
- - targetCorrespondingSourceObject: {fileID: 5622352566631732085, guid: b35b44635b9b3ec43b189ea3a1400750, type: 3}
- insertIndex: 1
- addedObject: {fileID: 5832966791020054508}
+ m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: b35b44635b9b3ec43b189ea3a1400750, type: 3}
---- !u!1 &291901203331741842 stripped
-GameObject:
- m_CorrespondingSourceObject: {fileID: 5622352566631732085, guid: b35b44635b9b3ec43b189ea3a1400750, type: 3}
- m_PrefabInstance: {fileID: 5335517921941646311}
- m_PrefabAsset: {fileID: 0}
---- !u!114 &5832966791020054508
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 291901203331741842}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- GlobalObjectIdHash: 3630027201
- InScenePlacedSourceGlobalObjectIdHash: 3034623722
- DeferredDespawnTick: 0
- Ownership: 3
- AlwaysReplicateAsRoot: 0
- SynchronizeTransform: 1
- ActiveSceneSynchronization: 0
- SceneMigrationSynchronization: 1
- SpawnWithObservers: 1
- DontDestroyWithOwner: 1
- AutoObjectParentSync: 1
- SyncOwnerTransformWhenParented: 1
- AllowOwnerToParent: 0
--- !u!114 &4975332333728566176 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 1081003696074514503, guid: b35b44635b9b3ec43b189ea3a1400750, type: 3}
m_PrefabInstance: {fileID: 5335517921941646311}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 291901203331741842}
+ m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 54937e94f00ab46c8ae43b81027f342c, type: 3}
diff --git a/Experimental/DistributedAuthoritySample/Assets/Prefabs/Props/Pottery_CarryableObject.prefab b/Experimental/DistributedAuthoritySample/Assets/Prefabs/Props/Pottery_CarryableObject.prefab
index f8d6cdfc5..f97a58e91 100644
--- a/Experimental/DistributedAuthoritySample/Assets/Prefabs/Props/Pottery_CarryableObject.prefab
+++ b/Experimental/DistributedAuthoritySample/Assets/Prefabs/Props/Pottery_CarryableObject.prefab
@@ -151,14 +151,30 @@ PrefabInstance:
propertyPath: m_ProvidesContacts
value: 1
objectReference: {fileID: 0}
+ - target: {fileID: 2004954010814667909, guid: b35b44635b9b3ec43b189ea3a1400750, type: 3}
+ propertyPath: RubblePrefab
+ value:
+ objectReference: {fileID: -3113171657165918681, guid: 403fa0c0f66425a4cb7b0f50869d1dc2, type: 3}
- target: {fileID: 2004954010814667909, guid: b35b44635b9b3ec43b189ea3a1400750, type: 3}
propertyPath: rubblePrefab
value:
objectReference: {fileID: 2426574549031202649, guid: 403fa0c0f66425a4cb7b0f50869d1dc2, type: 3}
+ - target: {fileID: 2004954010814667909, guid: b35b44635b9b3ec43b189ea3a1400750, type: 3}
+ propertyPath: CollisionType
+ value: 2
+ objectReference: {fileID: 0}
+ - target: {fileID: 2004954010814667909, guid: b35b44635b9b3ec43b189ea3a1400750, type: 3}
+ propertyPath: DestructionFX
+ value:
+ objectReference: {fileID: 787550606690037956, guid: 9b46f8e0c3f5c3440892c2663f9ef3ff, type: 3}
- target: {fileID: 2004954010814667909, guid: b35b44635b9b3ec43b189ea3a1400750, type: 3}
propertyPath: m_DebugDamage
value: 0
objectReference: {fileID: 0}
+ - target: {fileID: 2004954010814667909, guid: b35b44635b9b3ec43b189ea3a1400750, type: 3}
+ propertyPath: StartingHealth
+ value: 10
+ objectReference: {fileID: 0}
- target: {fileID: 2004954010814667909, guid: b35b44635b9b3ec43b189ea3a1400750, type: 3}
propertyPath: m_RubblePrefab
value:
@@ -171,18 +187,42 @@ PrefabInstance:
propertyPath: m_StartingHealth
value: 10
objectReference: {fileID: 0}
+ - target: {fileID: 2004954010814667909, guid: b35b44635b9b3ec43b189ea3a1400750, type: 3}
+ propertyPath: DestructionVFXType
+ value: Pot
+ objectReference: {fileID: 0}
+ - target: {fileID: 2004954010814667909, guid: b35b44635b9b3ec43b189ea3a1400750, type: 3}
+ propertyPath: TransferableObject
+ value:
+ objectReference: {fileID: 4795437905408949846}
- target: {fileID: 2004954010814667909, guid: b35b44635b9b3ec43b189ea3a1400750, type: 3}
propertyPath: destructionVFXType
value: Pot
objectReference: {fileID: 0}
+ - target: {fileID: 2004954010814667909, guid: b35b44635b9b3ec43b189ea3a1400750, type: 3}
+ propertyPath: SecondsUntilRespawn
+ value: 5
+ objectReference: {fileID: 0}
- target: {fileID: 2004954010814667909, guid: b35b44635b9b3ec43b189ea3a1400750, type: 3}
propertyPath: m_TransferableObject
value:
- objectReference: {fileID: 4795437905408949846}
+ objectReference: {fileID: 0}
- target: {fileID: 2004954010814667909, guid: b35b44635b9b3ec43b189ea3a1400750, type: 3}
propertyPath: m_SecondsUntilRespawn
value: 5
objectReference: {fileID: 0}
+ - target: {fileID: 2004954010814667909, guid: b35b44635b9b3ec43b189ea3a1400750, type: 3}
+ propertyPath: DestructibleObjectPropertiesVisible
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2004954010814667909, guid: b35b44635b9b3ec43b189ea3a1400750, type: 3}
+ propertyPath: PhysicsObjectMotionPropertiesVisible
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2004954010814667909, guid: b35b44635b9b3ec43b189ea3a1400750, type: 3}
+ propertyPath: BaseObjectMotionHandlerPropertiesVisible
+ value: 1
+ objectReference: {fileID: 0}
- target: {fileID: 2093548513578380327, guid: b35b44635b9b3ec43b189ea3a1400750, type: 3}
propertyPath: GlobalObjectIdHash
value: 1926722854
@@ -275,10 +315,6 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z
value: -48.802002
objectReference: {fileID: 0}
- - target: {fileID: 8778270557094879703, guid: b35b44635b9b3ec43b189ea3a1400750, type: 3}
- propertyPath: m_Mass
- value: 5
- objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects:
diff --git a/Experimental/DistributedAuthoritySample/Assets/Scenes/HubScene_TownMarket.unity b/Experimental/DistributedAuthoritySample/Assets/Scenes/HubScene_TownMarket.unity
index 8c2ec832f..d461d73de 100644
--- a/Experimental/DistributedAuthoritySample/Assets/Scenes/HubScene_TownMarket.unity
+++ b/Experimental/DistributedAuthoritySample/Assets/Scenes/HubScene_TownMarket.unity
@@ -1640,7 +1640,7 @@ PrefabInstance:
- target: {fileID: 8817259292813230997, guid: e54d55fa193a2495ea1270535da81837, type: 3}
propertyPath: m_NetworkObjectToSpawn
value:
- objectReference: {fileID: 5832966791020054508, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
+ objectReference: {fileID: 6270794089460729792, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
@@ -1844,7 +1844,7 @@ PrefabInstance:
- target: {fileID: 8817259292813230997, guid: e54d55fa193a2495ea1270535da81837, type: 3}
propertyPath: m_NetworkObjectToSpawn
value:
- objectReference: {fileID: 5832966791020054508, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
+ objectReference: {fileID: 6270794089460729792, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
@@ -5841,7 +5841,7 @@ PrefabInstance:
- target: {fileID: 8817259292813230997, guid: e54d55fa193a2495ea1270535da81837, type: 3}
propertyPath: m_NetworkObjectToSpawn
value:
- objectReference: {fileID: 5832966791020054508, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
+ objectReference: {fileID: 6270794089460729792, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
@@ -6109,7 +6109,7 @@ PrefabInstance:
- target: {fileID: 8817259292813230997, guid: e54d55fa193a2495ea1270535da81837, type: 3}
propertyPath: m_NetworkObjectToSpawn
value:
- objectReference: {fileID: 5832966791020054508, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
+ objectReference: {fileID: 6270794089460729792, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
@@ -6178,7 +6178,7 @@ PrefabInstance:
- target: {fileID: 8817259292813230997, guid: e54d55fa193a2495ea1270535da81837, type: 3}
propertyPath: m_NetworkObjectToSpawn
value:
- objectReference: {fileID: 5832966791020054508, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
+ objectReference: {fileID: 6270794089460729792, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
@@ -6247,7 +6247,7 @@ PrefabInstance:
- target: {fileID: 8817259292813230997, guid: e54d55fa193a2495ea1270535da81837, type: 3}
propertyPath: m_NetworkObjectToSpawn
value:
- objectReference: {fileID: 5832966791020054508, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
+ objectReference: {fileID: 6270794089460729792, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
@@ -7014,7 +7014,7 @@ PrefabInstance:
- target: {fileID: 8817259292813230997, guid: e54d55fa193a2495ea1270535da81837, type: 3}
propertyPath: m_NetworkObjectToSpawn
value:
- objectReference: {fileID: 5832966791020054508, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
+ objectReference: {fileID: 6270794089460729792, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
@@ -77176,7 +77176,7 @@ PrefabInstance:
- target: {fileID: 8817259292813230997, guid: e54d55fa193a2495ea1270535da81837, type: 3}
propertyPath: m_NetworkObjectToSpawn
value:
- objectReference: {fileID: 5832966791020054508, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
+ objectReference: {fileID: 6270794089460729792, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
@@ -77541,7 +77541,7 @@ PrefabInstance:
- target: {fileID: 8817259292813230997, guid: e54d55fa193a2495ea1270535da81837, type: 3}
propertyPath: m_NetworkObjectToSpawn
value:
- objectReference: {fileID: 5832966791020054508, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
+ objectReference: {fileID: 6270794089460729792, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
@@ -110776,7 +110776,7 @@ PrefabInstance:
- target: {fileID: 8817259292813230997, guid: e54d55fa193a2495ea1270535da81837, type: 3}
propertyPath: m_NetworkObjectToSpawn
value:
- objectReference: {fileID: 5832966791020054508, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
+ objectReference: {fileID: 6270794089460729792, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
@@ -110946,7 +110946,7 @@ PrefabInstance:
- target: {fileID: 8817259292813230997, guid: e54d55fa193a2495ea1270535da81837, type: 3}
propertyPath: m_NetworkObjectToSpawn
value:
- objectReference: {fileID: 5832966791020054508, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
+ objectReference: {fileID: 6270794089460729792, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
@@ -113565,7 +113565,7 @@ PrefabInstance:
- target: {fileID: 8817259292813230997, guid: e54d55fa193a2495ea1270535da81837, type: 3}
propertyPath: m_NetworkObjectToSpawn
value:
- objectReference: {fileID: 5832966791020054508, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
+ objectReference: {fileID: 6270794089460729792, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
@@ -114000,7 +114000,7 @@ PrefabInstance:
- target: {fileID: 8817259292813230997, guid: e54d55fa193a2495ea1270535da81837, type: 3}
propertyPath: m_NetworkObjectToSpawn
value:
- objectReference: {fileID: 5832966791020054508, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
+ objectReference: {fileID: 6270794089460729792, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
@@ -114204,7 +114204,7 @@ PrefabInstance:
- target: {fileID: 8817259292813230997, guid: e54d55fa193a2495ea1270535da81837, type: 3}
propertyPath: m_NetworkObjectToSpawn
value:
- objectReference: {fileID: 5832966791020054508, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
+ objectReference: {fileID: 6270794089460729792, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
@@ -117860,7 +117860,7 @@ PrefabInstance:
- target: {fileID: 8817259292813230997, guid: e54d55fa193a2495ea1270535da81837, type: 3}
propertyPath: m_NetworkObjectToSpawn
value:
- objectReference: {fileID: 5832966791020054508, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
+ objectReference: {fileID: 6270794089460729792, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
@@ -120869,7 +120869,7 @@ PrefabInstance:
- target: {fileID: 8817259292813230997, guid: e54d55fa193a2495ea1270535da81837, type: 3}
propertyPath: m_NetworkObjectToSpawn
value:
- objectReference: {fileID: 5832966791020054508, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
+ objectReference: {fileID: 6270794089460729792, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
@@ -123440,7 +123440,7 @@ PrefabInstance:
- target: {fileID: 8817259292813230997, guid: e54d55fa193a2495ea1270535da81837, type: 3}
propertyPath: m_NetworkObjectToSpawn
value:
- objectReference: {fileID: 5832966791020054508, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
+ objectReference: {fileID: 6270794089460729792, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
@@ -123678,7 +123678,7 @@ PrefabInstance:
- target: {fileID: 8817259292813230997, guid: e54d55fa193a2495ea1270535da81837, type: 3}
propertyPath: m_NetworkObjectToSpawn
value:
- objectReference: {fileID: 5832966791020054508, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
+ objectReference: {fileID: 6270794089460729792, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
@@ -123968,7 +123968,7 @@ PrefabInstance:
- target: {fileID: 8817259292813230997, guid: e54d55fa193a2495ea1270535da81837, type: 3}
propertyPath: m_NetworkObjectToSpawn
value:
- objectReference: {fileID: 5832966791020054508, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
+ objectReference: {fileID: 6270794089460729792, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
@@ -124139,7 +124139,7 @@ PrefabInstance:
- target: {fileID: 8817259292813230997, guid: e54d55fa193a2495ea1270535da81837, type: 3}
propertyPath: m_NetworkObjectToSpawn
value:
- objectReference: {fileID: 5832966791020054508, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
+ objectReference: {fileID: 6270794089460729792, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
@@ -139752,7 +139752,7 @@ PrefabInstance:
- target: {fileID: 8817259292813230997, guid: e54d55fa193a2495ea1270535da81837, type: 3}
propertyPath: m_NetworkObjectToSpawn
value:
- objectReference: {fileID: 5832966791020054508, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
+ objectReference: {fileID: 6270794089460729792, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
@@ -140067,7 +140067,7 @@ PrefabInstance:
- target: {fileID: 8817259292813230997, guid: e54d55fa193a2495ea1270535da81837, type: 3}
propertyPath: m_NetworkObjectToSpawn
value:
- objectReference: {fileID: 5832966791020054508, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
+ objectReference: {fileID: 6270794089460729792, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
@@ -140993,7 +140993,7 @@ PrefabInstance:
- target: {fileID: 8817259292813230997, guid: e54d55fa193a2495ea1270535da81837, type: 3}
propertyPath: m_NetworkObjectToSpawn
value:
- objectReference: {fileID: 5832966791020054508, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
+ objectReference: {fileID: 6270794089460729792, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
@@ -141100,7 +141100,7 @@ PrefabInstance:
- target: {fileID: 8817259292813230997, guid: e54d55fa193a2495ea1270535da81837, type: 3}
propertyPath: m_NetworkObjectToSpawn
value:
- objectReference: {fileID: 5832966791020054508, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
+ objectReference: {fileID: 6270794089460729792, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
@@ -141169,7 +141169,7 @@ PrefabInstance:
- target: {fileID: 8817259292813230997, guid: e54d55fa193a2495ea1270535da81837, type: 3}
propertyPath: m_NetworkObjectToSpawn
value:
- objectReference: {fileID: 5832966791020054508, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
+ objectReference: {fileID: 6270794089460729792, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
@@ -141495,7 +141495,7 @@ PrefabInstance:
- target: {fileID: 8817259292813230997, guid: e54d55fa193a2495ea1270535da81837, type: 3}
propertyPath: m_NetworkObjectToSpawn
value:
- objectReference: {fileID: 5832966791020054508, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
+ objectReference: {fileID: 6270794089460729792, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
@@ -141642,7 +141642,7 @@ PrefabInstance:
- target: {fileID: 8817259292813230997, guid: e54d55fa193a2495ea1270535da81837, type: 3}
propertyPath: m_NetworkObjectToSpawn
value:
- objectReference: {fileID: 5832966791020054508, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
+ objectReference: {fileID: 6270794089460729792, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
@@ -166535,7 +166535,7 @@ PrefabInstance:
- target: {fileID: 8817259292813230997, guid: e54d55fa193a2495ea1270535da81837, type: 3}
propertyPath: m_NetworkObjectToSpawn
value:
- objectReference: {fileID: 5832966791020054508, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
+ objectReference: {fileID: 6270794089460729792, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
@@ -166972,7 +166972,7 @@ PrefabInstance:
- target: {fileID: 8817259292813230997, guid: e54d55fa193a2495ea1270535da81837, type: 3}
propertyPath: m_NetworkObjectToSpawn
value:
- objectReference: {fileID: 5832966791020054508, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
+ objectReference: {fileID: 6270794089460729792, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
@@ -167107,7 +167107,7 @@ PrefabInstance:
- target: {fileID: 8817259292813230997, guid: e54d55fa193a2495ea1270535da81837, type: 3}
propertyPath: m_NetworkObjectToSpawn
value:
- objectReference: {fileID: 5832966791020054508, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
+ objectReference: {fileID: 6270794089460729792, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
@@ -278034,7 +278034,7 @@ PrefabInstance:
- target: {fileID: 8817259292813230997, guid: e54d55fa193a2495ea1270535da81837, type: 3}
propertyPath: m_NetworkObjectToSpawn
value:
- objectReference: {fileID: 5832966791020054508, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
+ objectReference: {fileID: 6270794089460729792, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
@@ -278247,7 +278247,7 @@ PrefabInstance:
- target: {fileID: 8817259292813230997, guid: e54d55fa193a2495ea1270535da81837, type: 3}
propertyPath: m_NetworkObjectToSpawn
value:
- objectReference: {fileID: 5832966791020054508, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
+ objectReference: {fileID: 6270794089460729792, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
@@ -279100,7 +279100,7 @@ PrefabInstance:
- target: {fileID: 8817259292813230997, guid: e54d55fa193a2495ea1270535da81837, type: 3}
propertyPath: m_NetworkObjectToSpawn
value:
- objectReference: {fileID: 5832966791020054508, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
+ objectReference: {fileID: 6270794089460729792, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
@@ -279169,7 +279169,7 @@ PrefabInstance:
- target: {fileID: 8817259292813230997, guid: e54d55fa193a2495ea1270535da81837, type: 3}
propertyPath: m_NetworkObjectToSpawn
value:
- objectReference: {fileID: 5832966791020054508, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
+ objectReference: {fileID: 6270794089460729792, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
@@ -279545,7 +279545,7 @@ PrefabInstance:
- target: {fileID: 8817259292813230997, guid: e54d55fa193a2495ea1270535da81837, type: 3}
propertyPath: m_NetworkObjectToSpawn
value:
- objectReference: {fileID: 5832966791020054508, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
+ objectReference: {fileID: 6270794089460729792, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
@@ -280004,7 +280004,7 @@ PrefabInstance:
- target: {fileID: 8817259292813230997, guid: e54d55fa193a2495ea1270535da81837, type: 3}
propertyPath: m_NetworkObjectToSpawn
value:
- objectReference: {fileID: 5832966791020054508, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
+ objectReference: {fileID: 6270794089460729792, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
@@ -305363,7 +305363,7 @@ PrefabInstance:
- target: {fileID: 8817259292813230997, guid: e54d55fa193a2495ea1270535da81837, type: 3}
propertyPath: m_NetworkObjectToSpawn
value:
- objectReference: {fileID: 5832966791020054508, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
+ objectReference: {fileID: 6270794089460729792, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
@@ -305584,7 +305584,7 @@ PrefabInstance:
- target: {fileID: 8817259292813230997, guid: e54d55fa193a2495ea1270535da81837, type: 3}
propertyPath: m_NetworkObjectToSpawn
value:
- objectReference: {fileID: 5832966791020054508, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
+ objectReference: {fileID: 6270794089460729792, guid: 1f03a9a384a87cf4d84905ac5d10712c, type: 3}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
diff --git a/Experimental/DistributedAuthoritySample/Assets/Scripts/Editor/AvatarTransformEditor.cs b/Experimental/DistributedAuthoritySample/Assets/Scripts/Editor/AvatarTransformEditor.cs
index 05c8f487a..0c436b776 100644
--- a/Experimental/DistributedAuthoritySample/Assets/Scripts/Editor/AvatarTransformEditor.cs
+++ b/Experimental/DistributedAuthoritySample/Assets/Scripts/Editor/AvatarTransformEditor.cs
@@ -1,32 +1,46 @@
using Unity.Multiplayer.Samples.SocialHub.Player;
+using Unity.Multiplayer.Samples.SocialHub.Physics;
using UnityEditor;
-using UnityEditor.UIElements;
-using UnityEngine;
-using UnityEngine.UIElements;
namespace Unity.Multiplayer.Samples.SocialHub.Editor
{
- [CustomEditor(typeof(AvatarTransform))]
- class AvatarTransformEditor : UnityEditor.Editor
+ ///
+ /// The custom editor for the component.
+ ///
+ [CustomEditor(typeof(PhysicsObjectMotion), true)]
+ public class AvatarTransformEditor : PhysicsObjectMotionEditor
{
- public override VisualElement CreateInspectorGUI()
- {
- // Create a new VisualElement to be the root of the inspector UI
- var root = new VisualElement();
+ public SerializedProperty m_PlayerInput;
+
+ public SerializedProperty m_AvatarInputs;
+
+ public SerializedProperty m_AvatarInteractions;
- // Generate default inspector for AvatarTransform
- serializedObject.Update();
- SerializedProperty property = serializedObject.GetIterator();
- property.NextVisible(true); // Skip the script field
- while (property.NextVisible(false))
- {
- var propertyField = new PropertyField(property);
- root.Add(propertyField);
- }
+ public SerializedProperty m_PhysicsPlayerController;
- serializedObject.ApplyModifiedProperties();
+ public override void OnEnable()
+ {
+ m_PlayerInput = serializedObject.FindProperty(nameof(AvatarTransform.PlayerInput));
+ m_AvatarInputs = serializedObject.FindProperty(nameof(AvatarTransform.AvatarInputs));
+ m_AvatarInteractions = serializedObject.FindProperty(nameof(AvatarTransform.AvatarInteractions));
+ m_PhysicsPlayerController = serializedObject.FindProperty(nameof(AvatarTransform.PhysicsPlayerController));
+ base.OnEnable();
+ }
- return root;
+ private void DisplayAvatarTransformProperties()
+ {
+ EditorGUILayout.PropertyField(m_PlayerInput);
+ EditorGUILayout.PropertyField(m_AvatarInputs);
+ EditorGUILayout.PropertyField(m_AvatarInteractions);
+ EditorGUILayout.PropertyField(m_PhysicsPlayerController);
+ }
+
+ public override void OnInspectorGUI()
+ {
+ var avatarObject = target as AvatarTransform;
+ void SetExpanded(bool expanded) { avatarObject.AvatarTransformPropertiesVisible = expanded; };
+ DrawFoldOutGroup(avatarObject.GetType(), DisplayAvatarTransformProperties, avatarObject.AvatarTransformPropertiesVisible, SetExpanded);
+ base.OnInspectorGUI();
}
}
}
diff --git a/Experimental/DistributedAuthoritySample/Assets/Scripts/Editor/BaseObjectMotionHandlerEditor.cs b/Experimental/DistributedAuthoritySample/Assets/Scripts/Editor/BaseObjectMotionHandlerEditor.cs
new file mode 100644
index 000000000..11ab517db
--- /dev/null
+++ b/Experimental/DistributedAuthoritySample/Assets/Scripts/Editor/BaseObjectMotionHandlerEditor.cs
@@ -0,0 +1,51 @@
+using Unity.Multiplayer.Samples.SocialHub.Physics;
+using Unity.Netcode.Editor;
+using UnityEditor;
+
+namespace Unity.Multiplayer.Samples.SocialHub.Editor
+{
+
+ ///
+ /// The custom editor for the component.
+ ///
+ [CustomEditor(typeof(BaseObjectMotionHandler), true)]
+ public class BaseObjectMotionHandlerEditor : NetworkTransformEditor
+ {
+ private SerializedProperty m_IsPooled;
+ private SerializedProperty m_CollisionType;
+ private SerializedProperty m_CollisionDamage;
+ private SerializedProperty m_DebugCollisions;
+ private SerializedProperty m_DebugDamage;
+ private SerializedProperty m_Colliders;
+
+ public override void OnEnable()
+ {
+ m_IsPooled = serializedObject.FindProperty(nameof(BaseObjectMotionHandler.IsPooled));
+ m_Colliders = serializedObject.FindProperty(nameof(BaseObjectMotionHandler.Colliders));
+ m_CollisionType = serializedObject.FindProperty(nameof(BaseObjectMotionHandler.CollisionType));
+ m_CollisionDamage = serializedObject.FindProperty(nameof(BaseObjectMotionHandler.CollisionDamage));
+ m_DebugCollisions = serializedObject.FindProperty(nameof(BaseObjectMotionHandler.DebugCollisions));
+ m_DebugDamage = serializedObject.FindProperty(nameof(BaseObjectMotionHandler.DebugDamage));
+
+ base.OnEnable();
+ }
+
+ private void DisplayBaseObjectMotionHandlerProperties()
+ {
+ EditorGUILayout.PropertyField(m_IsPooled);
+ EditorGUILayout.PropertyField(m_Colliders);
+ EditorGUILayout.PropertyField(m_CollisionType);
+ EditorGUILayout.PropertyField(m_CollisionDamage);
+ EditorGUILayout.PropertyField(m_DebugCollisions);
+ EditorGUILayout.PropertyField(m_DebugDamage);
+ }
+
+ public override void OnInspectorGUI()
+ {
+ var baseObjectMotionHandler = target as BaseObjectMotionHandler;
+ void SetExpanded(bool expanded) { baseObjectMotionHandler.BaseObjectMotionHandlerPropertiesVisible = expanded; };
+ DrawFoldOutGroup(baseObjectMotionHandler.GetType(), DisplayBaseObjectMotionHandlerProperties, baseObjectMotionHandler.BaseObjectMotionHandlerPropertiesVisible, SetExpanded);
+ base.OnInspectorGUI();
+ }
+ }
+}
diff --git a/Experimental/DistributedAuthoritySample/Assets/Scripts/Editor/BaseObjectMotionHandlerEditor.cs.meta b/Experimental/DistributedAuthoritySample/Assets/Scripts/Editor/BaseObjectMotionHandlerEditor.cs.meta
new file mode 100644
index 000000000..93bdd5531
--- /dev/null
+++ b/Experimental/DistributedAuthoritySample/Assets/Scripts/Editor/BaseObjectMotionHandlerEditor.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: a8f1837f63c222c47a89eef141999877
\ No newline at end of file
diff --git a/Experimental/DistributedAuthoritySample/Assets/Scripts/Editor/DestructibleObjectEditor.cs b/Experimental/DistributedAuthoritySample/Assets/Scripts/Editor/DestructibleObjectEditor.cs
index 0070c2487..df40b2e13 100644
--- a/Experimental/DistributedAuthoritySample/Assets/Scripts/Editor/DestructibleObjectEditor.cs
+++ b/Experimental/DistributedAuthoritySample/Assets/Scripts/Editor/DestructibleObjectEditor.cs
@@ -6,27 +6,55 @@
namespace Unity.Multiplayer.Samples.SocialHub.Editor
{
- [CustomEditor(typeof(DestructibleObject))]
- class DestructibleObjectEditor : UnityEditor.Editor
+ ///
+ /// The custom editor for the component.
+ ///
+ [CustomEditor(typeof(DestructibleObject), true)]
+ public class DesctructableObjectEditor : PhysicsObjectMotionEditor
{
- public override VisualElement CreateInspectorGUI()
+ public SerializedProperty m_StartingHealth;
+ public SerializedProperty m_IntangibleDurationAfterDamage;
+ public SerializedProperty m_SecondsUntilRespawn;
+ public SerializedProperty m_DeferredDespawnTicks;
+ public SerializedProperty m_TransferableObject;
+ public SerializedProperty m_DestructionFX;
+ public SerializedProperty m_RubblePrefab;
+ public SerializedProperty m_DestructionVFXType;
+
+ public override void OnEnable()
{
- // Create a new VisualElement to be the root of the inspector UI
- var root = new VisualElement();
+ m_StartingHealth = serializedObject.FindProperty(nameof(DestructibleObject.StartingHealth));
+ m_IntangibleDurationAfterDamage = serializedObject.FindProperty(nameof(DestructibleObject.IntangibleDurationAfterDamage));
+ m_SecondsUntilRespawn = serializedObject.FindProperty(nameof(DestructibleObject.SecondsUntilRespawn));
+ m_DeferredDespawnTicks = serializedObject.FindProperty(nameof(DestructibleObject.DeferredDespawnTicks));
+ m_TransferableObject = serializedObject.FindProperty(nameof(DestructibleObject.TransferableObject));
- // Generate default inspector for AvatarTransform
- serializedObject.Update();
- SerializedProperty property = serializedObject.GetIterator();
- property.NextVisible(true); // Skip the script field
- while (property.NextVisible(false))
- {
- var propertyField = new PropertyField(property);
- root.Add(propertyField);
- }
+ m_DestructionFX = serializedObject.FindProperty(nameof(DestructibleObject.DestructionFX));
+ m_RubblePrefab = serializedObject.FindProperty(nameof(DestructibleObject.RubblePrefab));
+ m_DestructionVFXType = serializedObject.FindProperty(nameof(DestructibleObject.DestructionVFXType));
- serializedObject.ApplyModifiedProperties();
+ base.OnEnable();
+ }
- return root;
+ private void DisplayDestructibleObjectProperties()
+ {
+ EditorGUILayout.PropertyField(m_StartingHealth);
+ EditorGUILayout.PropertyField(m_IntangibleDurationAfterDamage);
+ EditorGUILayout.PropertyField(m_SecondsUntilRespawn);
+ EditorGUILayout.PropertyField(m_DeferredDespawnTicks);
+ EditorGUILayout.PropertyField(m_TransferableObject);
+ EditorGUILayout.PropertyField(m_DestructionFX);
+ EditorGUILayout.PropertyField(m_RubblePrefab);
+ EditorGUILayout.PropertyField(m_DestructionVFXType);
+ }
+
+ public override void OnInspectorGUI()
+ {
+ var destructibleObject = target as DestructibleObject;
+ void SetExpanded(bool expanded) { destructibleObject.DestructibleObjectPropertiesVisible = expanded; };
+ DrawFoldOutGroup(destructibleObject.GetType(), DisplayDestructibleObjectProperties, destructibleObject.DestructibleObjectPropertiesVisible, SetExpanded);
+ base.OnInspectorGUI();
}
}
}
+
diff --git a/Experimental/DistributedAuthoritySample/Assets/Scripts/Editor/PhysicsObjectMotionEditor.cs b/Experimental/DistributedAuthoritySample/Assets/Scripts/Editor/PhysicsObjectMotionEditor.cs
index 2393faeec..0ba95d352 100644
--- a/Experimental/DistributedAuthoritySample/Assets/Scripts/Editor/PhysicsObjectMotionEditor.cs
+++ b/Experimental/DistributedAuthoritySample/Assets/Scripts/Editor/PhysicsObjectMotionEditor.cs
@@ -1,32 +1,36 @@
using Unity.Multiplayer.Samples.SocialHub.Physics;
-using UnityEngine;
using UnityEditor;
-using UnityEditor.UIElements;
-using UnityEngine.UIElements;
namespace Unity.Multiplayer.Samples.SocialHub.Editor
{
- [CustomEditor(typeof(PhysicsObjectMotion))]
- class PhysicsObjectMotionEditor : UnityEditor.Editor
+ ///
+ /// The custom editor for the component.
+ ///
+ [CustomEditor(typeof(PhysicsObjectMotion), true)]
+ public class PhysicsObjectMotionEditor : BaseObjectMotionHandlerEditor
{
- public override VisualElement CreateInspectorGUI()
- {
- // Create a new VisualElement to be the root of the inspector UI
- var root = new VisualElement();
+ private SerializedProperty m_MaxAngularVelocity;
+ private SerializedProperty m_MaxVelocity;
- // Generate default inspector for AvatarTransform
- serializedObject.Update();
- SerializedProperty property = serializedObject.GetIterator();
- property.NextVisible(true); // Skip the script field
- while (property.NextVisible(false))
- {
- var propertyField = new PropertyField(property);
- root.Add(propertyField);
- }
+ public override void OnEnable()
+ {
+ m_MaxAngularVelocity = serializedObject.FindProperty(nameof(PhysicsObjectMotion.MaxAngularVelocity));
+ m_MaxVelocity = serializedObject.FindProperty(nameof(PhysicsObjectMotion.MaxVelocity));
+ base.OnEnable();
+ }
- serializedObject.ApplyModifiedProperties();
+ private void DisplayPhysicsObjectMotionProperties()
+ {
+ EditorGUILayout.PropertyField(m_MaxAngularVelocity);
+ EditorGUILayout.PropertyField(m_MaxVelocity);
+ }
- return root;
+ public override void OnInspectorGUI()
+ {
+ var physicsObject = target as PhysicsObjectMotion;
+ void SetExpanded(bool expanded) { physicsObject.PhysicsObjectMotionPropertiesVisible = expanded; };
+ DrawFoldOutGroup(physicsObject.GetType(), DisplayPhysicsObjectMotionProperties, physicsObject.PhysicsObjectMotionPropertiesVisible, SetExpanded);
+ base.OnInspectorGUI();
}
}
}
diff --git a/Experimental/DistributedAuthoritySample/Assets/Scripts/Editor/Unity.Multiplayer.Samples.SocialHub.Editor.asmdef b/Experimental/DistributedAuthoritySample/Assets/Scripts/Editor/Unity.Multiplayer.Samples.SocialHub.Editor.asmdef
index d8015d3b5..680fcbc69 100644
--- a/Experimental/DistributedAuthoritySample/Assets/Scripts/Editor/Unity.Multiplayer.Samples.SocialHub.Editor.asmdef
+++ b/Experimental/DistributedAuthoritySample/Assets/Scripts/Editor/Unity.Multiplayer.Samples.SocialHub.Editor.asmdef
@@ -4,7 +4,11 @@
"references": [
"GUID:8314b31eee3cc495ca4a4f078575802d",
"GUID:ae1323dabfa6440b3956d4cc5239e361",
- "GUID:9ff2150ce7d7c415a8af1fbff3dc3e6c"
+ "GUID:9ff2150ce7d7c415a8af1fbff3dc3e6c",
+ "GUID:1491147abca9d7d4bb7105af628b223e",
+ "GUID:9f4f5bf029cebb64f983b7bdc29f62a1",
+ "GUID:75469ad4d38634e559750d17036d5f7c",
+ "GUID:c15e7f658578345fcb824b0a64d4dbe8"
],
"includePlatforms": [
"Editor"
diff --git a/Experimental/DistributedAuthoritySample/Assets/Scripts/Gameplay/DestructibleObject.cs b/Experimental/DistributedAuthoritySample/Assets/Scripts/Gameplay/DestructibleObject.cs
index 9743945a2..e99356f3c 100644
--- a/Experimental/DistributedAuthoritySample/Assets/Scripts/Gameplay/DestructibleObject.cs
+++ b/Experimental/DistributedAuthoritySample/Assets/Scripts/Gameplay/DestructibleObject.cs
@@ -9,33 +9,22 @@ namespace Unity.Multiplayer.Samples.SocialHub.Gameplay
{
class DestructibleObject : PhysicsObjectMotion, ISpawnable
{
- [SerializeField]
- float m_StartingHealth = 100f;
-
- [SerializeField]
- float m_IntangibleDurationAfterDamage;
-
- [SerializeField]
- float m_SecondsUntilRespawn;
-
- [SerializeField]
- int m_DeferredDespawnTicks = 4;
-
- [SerializeField]
- TransferableObject m_TransferableObject;
+#if UNITY_EDITOR
+ [HideInInspector]
+ public bool DestructibleObjectPropertiesVisible;
+#endif
+ public float StartingHealth = 100f;
+ public float IntangibleDurationAfterDamage;
+ public float SecondsUntilRespawn;
+ public int DeferredDespawnTicks = 4;
+ public TransferableObject TransferableObject;
NetworkVariable m_SessionOwnerNetworkObjectSpawner = new NetworkVariable(writePerm: NetworkVariableWritePermission.Owner);
int m_LastDamageTick;
-
- [SerializeField]
- GameObject m_DestructionFX;
-
- [SerializeField]
- NetworkObject m_RubblePrefab;
-
- [SerializeField]
- string destructionVFXType;
+ public GameObject DestructionFX;
+ public NetworkObject RubblePrefab;
+ public string DestructionVFXType;
FXPrefabPool m_DestructionFXPoolSystem;
@@ -52,7 +41,7 @@ public override void OnNetworkSpawn()
gameObject.name = $"[NetworkObjectId-{NetworkObjectId}]{name}";
m_OriginalPosition = transform.position;
m_OriginalRotation = transform.rotation;
- m_DestructionFXPoolSystem = FXPrefabPool.GetFxPool(m_DestructionFX);
+ m_DestructionFXPoolSystem = FXPrefabPool.GetFxPool(DestructionFX);
}
public override void OnNetworkDespawn()
@@ -75,14 +64,14 @@ public void Init(SessionOwnerNetworkObjectSpawner spawner)
protected override bool ProvideNonRigidbodyContactEvents()
{
- return m_TransferableObject && m_TransferableObject.CurrentObjectState == TransferableObject.ObjectState.Thrown && HasAuthority;
+ return TransferableObject && TransferableObject.CurrentObjectState == TransferableObject.ObjectState.Thrown && HasAuthority;
}
protected override void OnContactEvent(ulong eventId, Vector3 averagedCollisionNormal, Rigidbody collidingBody, Vector3 contactPoint, bool hasCollisionStay = false, Vector3 averagedCollisionStayNormal = default)
{
if (!collidingBody)
{
- if (m_DebugCollisions)
+ if (DebugCollisions)
{
Debug.Log($"{name}-{NetworkObjectId} collision with non-rigidbody.");
}
@@ -97,7 +86,7 @@ protected override void OnContactEvent(ulong eventId, Vector3 averagedCollisionN
};
collisionMessageInfo.SetFlag(true, (uint)CollisionType);
OnHandleCollision(collisionMessageInfo);
- m_TransferableObject.SetObjectState(TransferableObject.ObjectState.AtRest);
+ TransferableObject.SetObjectState(TransferableObject.ObjectState.AtRest);
}
else
{
@@ -113,14 +102,14 @@ protected override void OnHandleCollision(CollisionMessageInfo collisionMessage,
return;
}
- var intangibilityTicks = Mathf.RoundToInt(NetworkManager.ServerTime.TickRate * m_IntangibleDurationAfterDamage);
+ var intangibilityTicks = Mathf.RoundToInt(NetworkManager.ServerTime.TickRate * IntangibleDurationAfterDamage);
if (NetworkManager.NetworkTickSystem.ServerTime.Tick - m_LastDamageTick < intangibilityTicks)
{
base.OnHandleCollision(collisionMessage, isLocal, applyImmediately);
return;
}
- if (m_DebugCollisions || m_DebugDamage)
+ if (DebugCollisions || DebugDamage)
{
if (NetworkManager.SpawnManager.SpawnedObjects.ContainsKey(collisionMessage.Source))
{
@@ -148,7 +137,7 @@ void ApplyCollisionDamage(float damage)
EnableColliders(false);
m_Health.Value = currentHealth;
// TODO: add NetworkObject pool here
- NetworkObject.DeferDespawn(m_DeferredDespawnTicks, destroy: true);
+ NetworkObject.DeferDespawn(DeferredDespawnTicks, destroy: true);
}
else
{
@@ -165,7 +154,7 @@ public override void OnDeferringDespawn(int despawnTick)
ChangeObjectVisuals(false);
SpawnRubble(transform.position);
m_SessionOwnerNetworkObjectSpawner.Value.TryGet(out SessionOwnerNetworkObjectSpawner spawner, NetworkManager);
- var tickToRespawn = NetworkManager.NetworkTickSystem.ServerTime.Tick + Mathf.RoundToInt(m_SecondsUntilRespawn * NetworkManager.NetworkTickSystem.ServerTime.TickRate);
+ var tickToRespawn = NetworkManager.NetworkTickSystem.ServerTime.Tick + Mathf.RoundToInt(SecondsUntilRespawn * NetworkManager.NetworkTickSystem.ServerTime.TickRate);
spawner.RespawnRpc(tickToRespawn);
base.OnDeferringDespawn(despawnTick);
}
@@ -196,9 +185,9 @@ void ChangeObjectVisuals(bool enable)
void SpawnRubble(Vector3 position)
{
- if (m_RubblePrefab != null)
+ if (RubblePrefab != null)
{
- m_RubblePrefab.InstantiateAndSpawn(NetworkManager, destroyWithScene: true, position: position, rotation: Quaternion.identity);
+ RubblePrefab.InstantiateAndSpawn(NetworkManager, destroyWithScene: true, position: position, rotation: Quaternion.identity);
}
}
@@ -208,7 +197,7 @@ void InitializeDestructible()
{
if (IsSpawned)
{
- m_Health.Value = m_StartingHealth;
+ m_Health.Value = StartingHealth;
m_LastDamageTick = NetworkManager.NetworkTickSystem.ServerTime.Tick;
}
m_Initialized.Value = true;
diff --git a/Experimental/DistributedAuthoritySample/Assets/Scripts/Physics/BaseObjectMotionHandler.cs b/Experimental/DistributedAuthoritySample/Assets/Scripts/Physics/BaseObjectMotionHandler.cs
index 0aa5ec66d..8b32427e5 100644
--- a/Experimental/DistributedAuthoritySample/Assets/Scripts/Physics/BaseObjectMotionHandler.cs
+++ b/Experimental/DistributedAuthoritySample/Assets/Scripts/Physics/BaseObjectMotionHandler.cs
@@ -9,17 +9,17 @@ namespace Unity.Multiplayer.Samples.SocialHub.Physics
{
class BaseObjectMotionHandler : NetworkTransform, ICollisionHandler, IContactEventHandlerWithInfo
{
- protected bool m_IsPooled = true;
-
- [SerializeField]
- CollisionType m_CollisionType;
+#if UNITY_EDITOR
+ [HideInInspector]
+ public bool BaseObjectMotionHandlerPropertiesVisible;
+#endif
- internal CollisionType CollisionType => m_CollisionType;
+ public bool IsPooled = true;
+
+ public CollisionType CollisionType;
[SerializeField]
- ushort m_CollisionDamage;
-
- internal ushort CollisionDamage => m_CollisionDamage;
+ public ushort CollisionDamage;
protected CollisionMessageInfo m_CollisionMessage = new CollisionMessageInfo();
@@ -29,15 +29,15 @@ class BaseObjectMotionHandler : NetworkTransform, ICollisionHandler, IContactEve
[Tooltip("Enables/Disables collision logging (based on per derived type)")]
[SerializeField]
- protected bool m_DebugCollisions;
+ public bool DebugCollisions;
[Tooltip("Enables/Disables damage logging (based on per derived type)")]
[SerializeField]
- protected bool m_DebugDamage;
+ public bool DebugDamage;
[Tooltip("Add all colliders to this list that will be used to detect collisions (exclude triggers).")]
[SerializeField]
- List m_Colliders;
+ public List Colliders;
static int s_CollisionId = 0;
@@ -45,7 +45,7 @@ class BaseObjectMotionHandler : NetworkTransform, ICollisionHandler, IContactEve
protected void EnableColliders(bool enable)
{
- foreach (var collider in m_Colliders)
+ foreach (var collider in Colliders)
{
collider.enabled = enable;
}
@@ -137,8 +137,8 @@ protected override void Awake()
protected virtual void Start()
{
- m_CollisionMessage.Damage = m_CollisionDamage;
- m_CollisionMessage.SetFlag(true, (uint)m_CollisionType);
+ m_CollisionMessage.Damage = CollisionDamage;
+ m_CollisionMessage.SetFlag(true, (uint)CollisionType);
}
///
@@ -176,7 +176,7 @@ void HandleCollision(CollisionMessageInfo collisionMessage, bool isLocal = false
OnHandleCollision(collisionMessage, isLocal, applyImmediately);
// Handling is invoked before logging so logging can determine the end result.
- if (m_DebugCollisions)
+ if (DebugCollisions)
{
LogHandleCollision(collisionMessage);
}
@@ -277,7 +277,7 @@ public ContactEventHandlerInfo GetContactEventHandlerInfo()
protected void EventCollision(Vector3 averagedCollisionNormal, BaseObjectMotionHandler collidingBodyBaseObject)
{
#if DEBUG || UNITY_EDITOR
- if (m_DebugCollisions)
+ if (DebugCollisions)
{
LogCollision(ref collidingBodyBaseObject);
}
@@ -313,7 +313,7 @@ protected virtual string OnLogCollision(ref BaseObjectMotionHandler objectHit)
void LogCollision(ref BaseObjectMotionHandler objectHit)
{
- if (!m_DebugCollisions)
+ if (!DebugCollisions)
{
return;
}
@@ -330,7 +330,7 @@ protected virtual string OnLogCollision(CollisionMessageInfo collisionMessage)
protected void LogCollision(CollisionMessageInfo collisionMessage)
{
- if (!m_DebugDamage || collisionMessage.Damage == 0)
+ if (!DebugDamage || collisionMessage.Damage == 0)
{
return;
}
diff --git a/Experimental/DistributedAuthoritySample/Assets/Scripts/Physics/PhysicsObjectMotion.cs b/Experimental/DistributedAuthoritySample/Assets/Scripts/Physics/PhysicsObjectMotion.cs
index c40415318..f2ef2c45c 100644
--- a/Experimental/DistributedAuthoritySample/Assets/Scripts/Physics/PhysicsObjectMotion.cs
+++ b/Experimental/DistributedAuthoritySample/Assets/Scripts/Physics/PhysicsObjectMotion.cs
@@ -8,10 +8,15 @@ namespace Unity.Multiplayer.Samples.SocialHub.Physics
{
class PhysicsObjectMotion : BaseObjectMotionHandler
{
+#if UNITY_EDITOR
+ [HideInInspector]
+ public bool PhysicsObjectMotionPropertiesVisible;
+#endif
+
[SerializeField]
- float m_MaxAngularVelocity = 30;
+ public float MaxAngularVelocity = 30;
[SerializeField]
- float m_MaxVelocity = 30;
+ public float MaxVelocity = 30;
List m_RemoteAppliedForce = new List();
@@ -20,11 +25,11 @@ class PhysicsObjectMotion : BaseObjectMotionHandler
/// All of the below values keep the physics objects synchronized between clients so when ownership changes the local Rigidbody can be configured to mirror
/// the last known physics related states.
///
- protected NetworkVariable m_Mass = new NetworkVariable(1.0f, NetworkVariableReadPermission.Everyone, NetworkVariableWritePermission.Owner);
- protected NetworkVariable m_AngularVelocity = new NetworkVariable(default, NetworkVariableReadPermission.Everyone, NetworkVariableWritePermission.Owner);
- protected NetworkVariable m_Velocity = new NetworkVariable(default, NetworkVariableReadPermission.Everyone, NetworkVariableWritePermission.Owner);
- protected NetworkVariable m_Torque = new NetworkVariable(default, NetworkVariableReadPermission.Everyone, NetworkVariableWritePermission.Owner);
- protected NetworkVariable m_Force = new NetworkVariable(default, NetworkVariableReadPermission.Everyone, NetworkVariableWritePermission.Owner);
+ public NetworkVariable m_Mass = new NetworkVariable(1.0f, NetworkVariableReadPermission.Everyone, NetworkVariableWritePermission.Owner);
+ public NetworkVariable m_AngularVelocity = new NetworkVariable(default, NetworkVariableReadPermission.Everyone, NetworkVariableWritePermission.Owner);
+ public NetworkVariable m_Velocity = new NetworkVariable(default, NetworkVariableReadPermission.Everyone, NetworkVariableWritePermission.Owner);
+ public NetworkVariable m_Torque = new NetworkVariable(default, NetworkVariableReadPermission.Everyone, NetworkVariableWritePermission.Owner);
+ public NetworkVariable m_Force = new NetworkVariable(default, NetworkVariableReadPermission.Everyone, NetworkVariableWritePermission.Owner);
protected override Vector3 OnGetObjectVelocity(bool getReference = false)
{
@@ -132,8 +137,8 @@ public override void OnNetworkSpawn()
RigidbodyContactEventManager.Instance.RegisterHandler(this);
// Clamp the linear and angular velocities
- Rigidbody.maxAngularVelocity = m_MaxAngularVelocity;
- Rigidbody.maxLinearVelocity = m_MaxVelocity;
+ Rigidbody.maxAngularVelocity = MaxAngularVelocity;
+ Rigidbody.maxLinearVelocity = MaxVelocity;
if (HasAuthority)
{
// Assure we are not still in kinematic mode
@@ -167,7 +172,7 @@ public override void OnNetworkDespawn()
// If we are pooled and not shutting down, then reset the physics object for re-use later
// ** Important to do this **
- if (m_IsPooled)
+ if (IsPooled)
{
EnableColliders(false);
if (!Rigidbody.isKinematic)
@@ -197,8 +202,8 @@ protected override void OnOwnershipChanged(ulong previous, ulong current)
NetworkRigidbody.SetIsKinematic(false);
if (m_IsInitialized.Value)
{
- Rigidbody.angularVelocity = Vector3.ClampMagnitude(GetObjectAngularVelocity(), m_MaxAngularVelocity);
- SetObjectVelocity(Vector3.ClampMagnitude(GetObjectVelocity(true), m_MaxVelocity));
+ Rigidbody.angularVelocity = Vector3.ClampMagnitude(GetObjectAngularVelocity(), MaxAngularVelocity);
+ SetObjectVelocity(Vector3.ClampMagnitude(GetObjectVelocity(true), MaxVelocity));
}
else
{
@@ -265,7 +270,7 @@ protected override void OnContactEvent(ulong eventId, Vector3 averagedCollisionN
{
m_CollisionMessage.CollisionForce = thisKineticForce;
m_CollisionMessage.SetFlag(true, (uint)CollisionCategoryFlags.CollisionForce);
- if (m_DebugCollisions)
+ if (DebugCollisions)
{
Debug.Log($"[{name}][SecondBody][Collision Stay: {hasCollisionStay}] Sending impulse thrust {MathUtils.GetVector3Values(thisKineticForce)} to {collidingBody.name}.", this);
}
@@ -281,7 +286,7 @@ protected override void OnContactEvent(ulong eventId, Vector3 averagedCollisionN
collidingBodyPhys.m_CollisionMessage.CollisionForce = otherKineticForce;
collidingBodyPhys.m_CollisionMessage.SetFlag(true, (uint)CollisionCategoryFlags.CollisionForce);
collidingBodyPhys.EventCollision(averagedCollisionNormal, this);
- if (m_DebugCollisions)
+ if (DebugCollisions)
{
Debug.Log($"[{collidingBodyPhys.name}][FirstBody][Collision Stay: {hasCollisionStay}] Sending impulse thrust {MathUtils.GetVector3Values(otherKineticForce)} to {name}.", this);
}
@@ -294,7 +299,7 @@ protected override void OnContactEvent(ulong eventId, Vector3 averagedCollisionN
// Send collision to owner of kinematic body
EventCollision(averagedCollisionNormal, collidingBodyPhys);
- if (m_DebugCollisions)
+ if (DebugCollisions)
{
Debug.Log($"[{name}][SecondBody][Collision Stay: {hasCollisionStay}] Sending impulse thrust {MathUtils.GetVector3Values(thisKineticForce)} to {collidingBody.name}.", this);
}
diff --git a/Experimental/DistributedAuthoritySample/Assets/Scripts/Player/AvatarTransform.cs b/Experimental/DistributedAuthoritySample/Assets/Scripts/Player/AvatarTransform.cs
index d43965458..c7075df7d 100644
--- a/Experimental/DistributedAuthoritySample/Assets/Scripts/Player/AvatarTransform.cs
+++ b/Experimental/DistributedAuthoritySample/Assets/Scripts/Player/AvatarTransform.cs
@@ -11,14 +11,17 @@ namespace Unity.Multiplayer.Samples.SocialHub.Player
[RequireComponent(typeof(Rigidbody))]
class AvatarTransform : PhysicsObjectMotion, INetworkUpdateSystem
{
- [SerializeField]
- PlayerInput m_PlayerInput;
- [SerializeField]
- AvatarInputs m_AvatarInputs;
- [SerializeField]
- AvatarInteractions m_AvatarInteractions;
- [SerializeField]
- PhysicsPlayerController m_PhysicsPlayerController;
+#if UNITY_EDITOR
+ public bool AvatarTransformPropertiesVisible;
+#endif
+
+ public PlayerInput PlayerInput;
+
+ public AvatarInputs AvatarInputs;
+
+ public AvatarInteractions AvatarInteractions;
+
+ public PhysicsPlayerController PhysicsPlayerController;
Camera m_MainCamera;
@@ -32,11 +35,11 @@ public override void OnNetworkSpawn()
return;
}
- m_PlayerInput.enabled = true;
- m_AvatarInputs.enabled = true;
- m_AvatarInputs.Jumped += OnJumped;
- m_AvatarInteractions.enabled = true;
- m_PhysicsPlayerController.enabled = true;
+ PlayerInput.enabled = true;
+ AvatarInputs.enabled = true;
+ AvatarInputs.Jumped += OnJumped;
+ AvatarInteractions.enabled = true;
+ PhysicsPlayerController.enabled = true;
Rigidbody.isKinematic = false;
Rigidbody.freezeRotation = true;
// important: modifying a transform's properties before invoking base.OnNetworkSpawn() will initialize everything based on the transform's current setting
@@ -65,9 +68,9 @@ public override void OnNetworkDespawn()
{
base.OnNetworkDespawn();
- if (m_AvatarInputs != null)
+ if (AvatarInputs != null)
{
- m_AvatarInputs.Jumped -= OnJumped;
+ AvatarInputs.Jumped -= OnJumped;
}
this.UnregisterAllNetworkUpdates();
@@ -81,7 +84,7 @@ public override void OnNetworkDespawn()
void OnJumped()
{
- m_PhysicsPlayerController.SetJump(true);
+ PhysicsPlayerController.SetJump(true);
}
void OnTransformUpdate()
@@ -96,9 +99,9 @@ void OnTransformUpdate()
forward.Normalize();
right.Normalize();
- Vector3 movement = forward * m_AvatarInputs.Move.y + right * m_AvatarInputs.Move.x;
- m_PhysicsPlayerController.SetMovement(movement);
- m_PhysicsPlayerController.SetSprint(m_AvatarInputs.Sprint);
+ Vector3 movement = forward * AvatarInputs.Move.y + right * AvatarInputs.Move.x;
+ PhysicsPlayerController.SetMovement(movement);
+ PhysicsPlayerController.SetSprint(AvatarInputs.Sprint);
}
}
@@ -110,7 +113,7 @@ public void NetworkUpdate(NetworkUpdateStage updateStage)
OnTransformUpdate();
break;
case NetworkUpdateStage.FixedUpdate:
- m_PhysicsPlayerController.OnFixedUpdate();
+ PhysicsPlayerController.OnFixedUpdate();
break;
default:
throw new ArgumentOutOfRangeException(nameof(updateStage), updateStage, null);