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);