Made the occupied platforms non walkable

dev-hazim
Hazim Bin Ijaz 2 days ago
parent 4753c70fe3
commit cf621007a9

@ -123,6 +123,78 @@ NavMeshSettings:
debug: debug:
m_Flags: 0 m_Flags: 0
m_NavMeshData: {fileID: 0} m_NavMeshData: {fileID: 0}
--- !u!1 &23828395
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 23828396}
- component: {fileID: 23828397}
- component: {fileID: 23828398}
m_Layer: 0
m_Name: Cylinder (5)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!4 &23828396
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 23828395}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0.54, y: 2.71, z: 7.22}
m_LocalScale: {x: 2.7692316, y: 2.7692316, z: 2.7692316}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 286165427}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!208 &23828397
NavMeshObstacle:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 23828395}
m_Enabled: 1
serializedVersion: 3
m_Shape: 0
m_Extents: {x: 0.5, y: 1, z: 0.5}
m_MoveThreshold: 0.1
m_Carve: 1
m_CarveOnlyStationary: 1
m_Center: {x: 0, y: 0, z: 0}
m_TimeToStationary: 0.5
--- !u!136 &23828398
CapsuleCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 23828395}
m_Material: {fileID: 0}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_LayerOverridePriority: 0
m_IsTrigger: 0
m_ProvidesContacts: 0
m_Enabled: 1
serializedVersion: 2
m_Radius: 0.5
m_Height: 2
m_Direction: 1
m_Center: {x: 0, y: 0, z: 0}
--- !u!1 &286165426 --- !u!1 &286165426
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -163,6 +235,13 @@ Transform:
- {fileID: 249976107358570836} - {fileID: 249976107358570836}
- {fileID: 5590359088119101749} - {fileID: 5590359088119101749}
- {fileID: 1202519841281415540} - {fileID: 1202519841281415540}
- {fileID: 1727201761}
- {fileID: 1006116860}
- {fileID: 477647223}
- {fileID: 1889561964}
- {fileID: 23828396}
- {fileID: 586197737}
- {fileID: 1799421584}
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &286165428 --- !u!114 &286165428
@ -200,6 +279,150 @@ MonoBehaviour:
SpawnWithObservers: 1 SpawnWithObservers: 1
DontDestroyWithOwner: 0 DontDestroyWithOwner: 0
AutoObjectParentSync: 1 AutoObjectParentSync: 1
--- !u!1 &477647222
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 477647223}
- component: {fileID: 477647224}
- component: {fileID: 477647225}
m_Layer: 0
m_Name: Cylinder (3)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!4 &477647223
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 477647222}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 2.98, y: 2.71, z: -3.33}
m_LocalScale: {x: 2.7692316, y: 2.7692316, z: 2.7692316}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 286165427}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!208 &477647224
NavMeshObstacle:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 477647222}
m_Enabled: 1
serializedVersion: 3
m_Shape: 0
m_Extents: {x: 0.5, y: 0.5, z: 0.5}
m_MoveThreshold: 0.1
m_Carve: 1
m_CarveOnlyStationary: 1
m_Center: {x: 0, y: 0, z: 0}
m_TimeToStationary: 0.5
--- !u!136 &477647225
CapsuleCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 477647222}
m_Material: {fileID: 0}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_LayerOverridePriority: 0
m_IsTrigger: 0
m_ProvidesContacts: 0
m_Enabled: 1
serializedVersion: 2
m_Radius: 0.5
m_Height: 2
m_Direction: 1
m_Center: {x: 0, y: 0, z: 0}
--- !u!1 &586197736
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 586197737}
- component: {fileID: 586197738}
- component: {fileID: 586197739}
m_Layer: 0
m_Name: Cylinder (6)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!4 &586197737
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 586197736}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 4.91, y: 2.71, z: 5.21}
m_LocalScale: {x: 2.7692316, y: 2.7692316, z: 2.7692316}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 286165427}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!208 &586197738
NavMeshObstacle:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 586197736}
m_Enabled: 1
serializedVersion: 3
m_Shape: 0
m_Extents: {x: 0.5, y: 0.5, z: 0.5}
m_MoveThreshold: 0.1
m_Carve: 1
m_CarveOnlyStationary: 1
m_Center: {x: 0, y: 0, z: 0}
m_TimeToStationary: 0.5
--- !u!136 &586197739
CapsuleCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 586197736}
m_Material: {fileID: 0}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_LayerOverridePriority: 0
m_IsTrigger: 0
m_ProvidesContacts: 0
m_Enabled: 1
serializedVersion: 2
m_Radius: 0.5
m_Height: 2
m_Direction: 1
m_Center: {x: 0, y: 0, z: 0}
--- !u!1 &949745746 --- !u!1 &949745746
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -318,6 +541,78 @@ Transform:
m_Children: [] m_Children: []
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
--- !u!1 &1006116859
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1006116860}
- component: {fileID: 1006116861}
- component: {fileID: 1006116862}
m_Layer: 0
m_Name: Cylinder (2)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!4 &1006116860
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1006116859}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -3.8, y: 2.71, z: 5.05}
m_LocalScale: {x: 2.7692316, y: 2.7692316, z: 2.7692316}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 286165427}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!208 &1006116861
NavMeshObstacle:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1006116859}
m_Enabled: 1
serializedVersion: 3
m_Shape: 0
m_Extents: {x: 0.5, y: 0.5, z: 0.5}
m_MoveThreshold: 0.1
m_Carve: 1
m_CarveOnlyStationary: 1
m_Center: {x: 0, y: 0, z: 0}
m_TimeToStationary: 0.5
--- !u!136 &1006116862
CapsuleCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1006116859}
m_Material: {fileID: 0}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_LayerOverridePriority: 0
m_IsTrigger: 0
m_ProvidesContacts: 0
m_Enabled: 1
serializedVersion: 2
m_Radius: 0.5
m_Height: 2
m_Direction: 1
m_Center: {x: 0, y: 0, z: 0}
--- !u!1 &1415641637 --- !u!1 &1415641637
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -424,6 +719,222 @@ Transform:
m_Children: [] m_Children: []
m_Father: {fileID: 286165427} m_Father: {fileID: 286165427}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1727201760
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1727201761}
- component: {fileID: 1727201762}
- component: {fileID: 1727201763}
m_Layer: 0
m_Name: Cylinder (1)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!4 &1727201761
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1727201760}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -1.8154, y: 2.71, z: -3.2554}
m_LocalScale: {x: 2.7692316, y: 2.7692316, z: 2.7692316}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 286165427}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!208 &1727201762
NavMeshObstacle:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1727201760}
m_Enabled: 1
serializedVersion: 3
m_Shape: 0
m_Extents: {x: 0.5, y: 0.5, z: 0.5}
m_MoveThreshold: 0.1
m_Carve: 1
m_CarveOnlyStationary: 1
m_Center: {x: 0, y: 0, z: 0}
m_TimeToStationary: 0.5
--- !u!136 &1727201763
CapsuleCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1727201760}
m_Material: {fileID: 0}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_LayerOverridePriority: 0
m_IsTrigger: 0
m_ProvidesContacts: 0
m_Enabled: 1
serializedVersion: 2
m_Radius: 0.5
m_Height: 2
m_Direction: 1
m_Center: {x: 0, y: 0, z: 0}
--- !u!1 &1799421583
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1799421584}
- component: {fileID: 1799421585}
- component: {fileID: 1799421586}
m_Layer: 0
m_Name: Cylinder (7)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!4 &1799421584
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1799421583}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 6, y: 2.71, z: 0.37}
m_LocalScale: {x: 2.7692316, y: 2.7692316, z: 2.7692316}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 286165427}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!208 &1799421585
NavMeshObstacle:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1799421583}
m_Enabled: 1
serializedVersion: 3
m_Shape: 0
m_Extents: {x: 0.5, y: 0.5, z: 0.5}
m_MoveThreshold: 0.1
m_Carve: 1
m_CarveOnlyStationary: 1
m_Center: {x: 0, y: 0, z: 0}
m_TimeToStationary: 0.5
--- !u!136 &1799421586
CapsuleCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1799421583}
m_Material: {fileID: 0}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_LayerOverridePriority: 0
m_IsTrigger: 0
m_ProvidesContacts: 0
m_Enabled: 1
serializedVersion: 2
m_Radius: 0.5
m_Height: 2
m_Direction: 1
m_Center: {x: 0, y: 0, z: 0}
--- !u!1 &1889561963
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1889561964}
- component: {fileID: 1889561965}
- component: {fileID: 1889561966}
m_Layer: 0
m_Name: Cylinder (4)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!4 &1889561964
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1889561963}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -4.8, y: 2.71, z: 0.44}
m_LocalScale: {x: 2.7692316, y: 2.7692316, z: 2.7692316}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 286165427}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!208 &1889561965
NavMeshObstacle:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1889561963}
m_Enabled: 1
serializedVersion: 3
m_Shape: 0
m_Extents: {x: 0.5, y: 0.5, z: 0.5}
m_MoveThreshold: 0.1
m_Carve: 1
m_CarveOnlyStationary: 1
m_Center: {x: 0, y: 0, z: 0}
m_TimeToStationary: 0.5
--- !u!136 &1889561966
CapsuleCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1889561963}
m_Material: {fileID: 0}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_LayerOverridePriority: 0
m_IsTrigger: 0
m_ProvidesContacts: 0
m_Enabled: 1
serializedVersion: 2
m_Radius: 0.5
m_Height: 2
m_Direction: 1
m_Center: {x: 0, y: 0, z: 0}
--- !u!1 &2085312385 --- !u!1 &2085312385
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -596,6 +1107,7 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
PlatformID: PlatformID:
m_InternalValue: 0 m_InternalValue: 0
barrierObject: {fileID: 586197736}
--- !u!64 &249976107358570839 --- !u!64 &249976107358570839
MeshCollider: MeshCollider:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -791,6 +1303,7 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
PlatformID: PlatformID:
m_InternalValue: 0 m_InternalValue: 0
barrierObject: {fileID: 1889561963}
--- !u!64 &1223475210011116503 --- !u!64 &1223475210011116503
MeshCollider: MeshCollider:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -987,6 +1500,7 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
PlatformID: PlatformID:
m_InternalValue: 0 m_InternalValue: 0
barrierObject: {fileID: 1006116859}
--- !u!64 &1326862948614608681 --- !u!64 &1326862948614608681
MeshCollider: MeshCollider:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -1167,6 +1681,7 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
PlatformID: PlatformID:
m_InternalValue: 0 m_InternalValue: 0
barrierObject: {fileID: 1727201760}
--- !u!64 &3169561862507413954 --- !u!64 &3169561862507413954
MeshCollider: MeshCollider:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -1347,6 +1862,7 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
PlatformID: PlatformID:
m_InternalValue: 0 m_InternalValue: 0
barrierObject: {fileID: 23828395}
--- !u!64 &5215249593494578416 --- !u!64 &5215249593494578416
MeshCollider: MeshCollider:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -1527,6 +2043,7 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
PlatformID: PlatformID:
m_InternalValue: 0 m_InternalValue: 0
barrierObject: {fileID: 1799421583}
--- !u!64 &5615547279758710380 --- !u!64 &5615547279758710380
MeshCollider: MeshCollider:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -1707,6 +2224,7 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
PlatformID: PlatformID:
m_InternalValue: 0 m_InternalValue: 0
barrierObject: {fileID: 477647222}
--- !u!64 &7017483914677023159 --- !u!64 &7017483914677023159
MeshCollider: MeshCollider:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

@ -1,4 +1,5 @@
using System.Collections; using System.Collections;
using System.Linq;
using Unity.BossRoom.Gameplay.GameplayObjects.Character; using Unity.BossRoom.Gameplay.GameplayObjects.Character;
using Unity.Netcode; using Unity.Netcode;
using UnityEngine; using UnityEngine;
@ -18,6 +19,7 @@ namespace Unity.Multiplayer.Samples.BossRoom
private float occupationTime = 0f; private float occupationTime = 0f;
private float penaltyInterval = 3f; // Interval for penalty deduction private float penaltyInterval = 3f; // Interval for penalty deduction
private Coroutine penaltyCoroutine; private Coroutine penaltyCoroutine;
[SerializeField] private GameObject barrierObject;
private void Awake() private void Awake()
{ {
platformCollider = GetComponent<Collider>(); platformCollider = GetComponent<Collider>();
@ -112,6 +114,7 @@ namespace Unity.Multiplayer.Samples.BossRoom
occupierId.Value = player.OwnerClientId; occupierId.Value = player.OwnerClientId;
player.OnArrivalOnPlatform(PlatformID.Value); player.OnArrivalOnPlatform(PlatformID.Value);
penaltyCoroutine = StartCoroutine(HandleOccupationPenalty(player)); penaltyCoroutine = StartCoroutine(HandleOccupationPenalty(player));
EnableBarrier();
} }
private IEnumerator HandleOccupationPenalty(ServerCharacter player) private IEnumerator HandleOccupationPenalty(ServerCharacter player)
{ {
@ -145,13 +148,52 @@ namespace Unity.Multiplayer.Samples.BossRoom
IsOccupied = false; IsOccupied = false;
occupierId.Value = 0; occupierId.Value = 0;
player.OnLeavingPlatform(PlatformID.Value); player.OnLeavingPlatform(PlatformID.Value);
DisableBarrier();
if (penaltyCoroutine != null) if (penaltyCoroutine != null)
{ {
StopCoroutine(penaltyCoroutine); StopCoroutine(penaltyCoroutine);
penaltyCoroutine = null; penaltyCoroutine = null;
} }
} }
private void EnableBarrier()
{
var excludedClient = NetworkManager.Singleton.LocalClientId;
var clientRpcParams = new ClientRpcParams
{
Send = new ClientRpcSendParams
{
TargetClientIds = NetworkManager.Singleton.ConnectedClientsIds
.Where(clientId => clientId != excludedClient)
.ToArray()
}
};
EnableBarrierClientRpc(clientRpcParams);
}
private void DisableBarrier()
{
DisableBarrierClientRpc();
}
[ClientRpc]
private void EnableBarrierClientRpc(ClientRpcParams clientRpcParams = default)
{
if (barrierObject != null)
{
barrierObject.SetActive(true);
}
}
[ClientRpc]
private void DisableBarrierClientRpc()
{
if (barrierObject != null)
{
barrierObject.SetActive(false);
}
}
private void OnTriggerEnter(Collider other) private void OnTriggerEnter(Collider other)
{ {
if (IsServer && other.TryGetComponent<ServerCharacter>(out var player) && !IsOccupied) if (IsServer && other.TryGetComponent<ServerCharacter>(out var player) && !IsOccupied)

Loading…
Cancel
Save