From cf621007a9cbb766aaa38e5036d9c97d357d45d9 Mon Sep 17 00:00:00 2001 From: Hazim Bin Ijaz Date: Thu, 6 Feb 2025 18:15:32 +0500 Subject: [PATCH] Made the occupied platforms non walkable --- Assets/Scenes/BossRoom/DungeonEntrance.unity | 518 +++++++++++++++++++ Assets/Scripts/Gameplay/Platform.cs | 42 ++ 2 files changed, 560 insertions(+) diff --git a/Assets/Scenes/BossRoom/DungeonEntrance.unity b/Assets/Scenes/BossRoom/DungeonEntrance.unity index a652d0b..39eeff4 100644 --- a/Assets/Scenes/BossRoom/DungeonEntrance.unity +++ b/Assets/Scenes/BossRoom/DungeonEntrance.unity @@ -123,6 +123,78 @@ NavMeshSettings: debug: m_Flags: 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 GameObject: m_ObjectHideFlags: 0 @@ -163,6 +235,13 @@ Transform: - {fileID: 249976107358570836} - {fileID: 5590359088119101749} - {fileID: 1202519841281415540} + - {fileID: 1727201761} + - {fileID: 1006116860} + - {fileID: 477647223} + - {fileID: 1889561964} + - {fileID: 23828396} + - {fileID: 586197737} + - {fileID: 1799421584} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &286165428 @@ -200,6 +279,150 @@ MonoBehaviour: SpawnWithObservers: 1 DontDestroyWithOwner: 0 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 GameObject: m_ObjectHideFlags: 0 @@ -318,6 +541,78 @@ Transform: m_Children: [] m_Father: {fileID: 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 GameObject: m_ObjectHideFlags: 0 @@ -424,6 +719,222 @@ Transform: m_Children: [] m_Father: {fileID: 286165427} 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 GameObject: m_ObjectHideFlags: 0 @@ -596,6 +1107,7 @@ MonoBehaviour: m_EditorClassIdentifier: PlatformID: m_InternalValue: 0 + barrierObject: {fileID: 586197736} --- !u!64 &249976107358570839 MeshCollider: m_ObjectHideFlags: 0 @@ -791,6 +1303,7 @@ MonoBehaviour: m_EditorClassIdentifier: PlatformID: m_InternalValue: 0 + barrierObject: {fileID: 1889561963} --- !u!64 &1223475210011116503 MeshCollider: m_ObjectHideFlags: 0 @@ -987,6 +1500,7 @@ MonoBehaviour: m_EditorClassIdentifier: PlatformID: m_InternalValue: 0 + barrierObject: {fileID: 1006116859} --- !u!64 &1326862948614608681 MeshCollider: m_ObjectHideFlags: 0 @@ -1167,6 +1681,7 @@ MonoBehaviour: m_EditorClassIdentifier: PlatformID: m_InternalValue: 0 + barrierObject: {fileID: 1727201760} --- !u!64 &3169561862507413954 MeshCollider: m_ObjectHideFlags: 0 @@ -1347,6 +1862,7 @@ MonoBehaviour: m_EditorClassIdentifier: PlatformID: m_InternalValue: 0 + barrierObject: {fileID: 23828395} --- !u!64 &5215249593494578416 MeshCollider: m_ObjectHideFlags: 0 @@ -1527,6 +2043,7 @@ MonoBehaviour: m_EditorClassIdentifier: PlatformID: m_InternalValue: 0 + barrierObject: {fileID: 1799421583} --- !u!64 &5615547279758710380 MeshCollider: m_ObjectHideFlags: 0 @@ -1707,6 +2224,7 @@ MonoBehaviour: m_EditorClassIdentifier: PlatformID: m_InternalValue: 0 + barrierObject: {fileID: 477647222} --- !u!64 &7017483914677023159 MeshCollider: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/Gameplay/Platform.cs b/Assets/Scripts/Gameplay/Platform.cs index 69135f6..e31c58c 100644 --- a/Assets/Scripts/Gameplay/Platform.cs +++ b/Assets/Scripts/Gameplay/Platform.cs @@ -1,4 +1,5 @@ using System.Collections; +using System.Linq; using Unity.BossRoom.Gameplay.GameplayObjects.Character; using Unity.Netcode; using UnityEngine; @@ -18,6 +19,7 @@ namespace Unity.Multiplayer.Samples.BossRoom private float occupationTime = 0f; private float penaltyInterval = 3f; // Interval for penalty deduction private Coroutine penaltyCoroutine; + [SerializeField] private GameObject barrierObject; private void Awake() { platformCollider = GetComponent(); @@ -112,6 +114,7 @@ namespace Unity.Multiplayer.Samples.BossRoom occupierId.Value = player.OwnerClientId; player.OnArrivalOnPlatform(PlatformID.Value); penaltyCoroutine = StartCoroutine(HandleOccupationPenalty(player)); + EnableBarrier(); } private IEnumerator HandleOccupationPenalty(ServerCharacter player) { @@ -145,13 +148,52 @@ namespace Unity.Multiplayer.Samples.BossRoom IsOccupied = false; occupierId.Value = 0; player.OnLeavingPlatform(PlatformID.Value); + DisableBarrier(); if (penaltyCoroutine != null) { StopCoroutine(penaltyCoroutine); 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) { if (IsServer && other.TryGetComponent(out var player) && !IsOccupied)