diff --git a/Assets/Prefabs/RoomSystem/Corridor/CorridorX7.prefab b/Assets/Prefabs/RoomSystem/Corridor/CorridorX7.prefab index 4f62439c..1494dbd9 100644 --- a/Assets/Prefabs/RoomSystem/Corridor/CorridorX7.prefab +++ b/Assets/Prefabs/RoomSystem/Corridor/CorridorX7.prefab @@ -13,7 +13,7 @@ GameObject: - component: {fileID: 1554581150033479006} m_Layer: 0 m_Name: point_of_spawn - m_TagString: trap + m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 diff --git a/Assets/Prefabs/RoomSystem/Corridor/Room.prefab b/Assets/Prefabs/RoomSystem/Corridor/Room.prefab index 7f06052a..f1a59448 100644 --- a/Assets/Prefabs/RoomSystem/Corridor/Room.prefab +++ b/Assets/Prefabs/RoomSystem/Corridor/Room.prefab @@ -1102,6 +1102,54 @@ Grid: m_CellGap: {x: 0, y: 0, z: 0} m_CellLayout: 0 m_CellSwizzle: 0 +--- !u!1 &3494669570128975569 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3784542077159199339} + - component: {fileID: 8096972002182311090} + m_Layer: 0 + m_Name: Trap + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3784542077159199339 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3494669570128975569} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 3176463435939833076} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &8096972002182311090 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3494669570128975569} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3e906695758a3d04197ddceb298f6c86, type: 3} + m_Name: + m_EditorClassIdentifier: + trapPrefabs: + - {fileID: 6097000079642511365, guid: 127c53d14a0062f41a16963a87a85dc5, type: 3} + - {fileID: 7646078152559978388, guid: 40bc1f37707e62f4297f85bf5c7b01b4, type: 3} + - {fileID: 6762149095286452822, guid: d7c2a5ac1f23afe428f872343ed56d71, type: 3} --- !u!1 &4171805761210331374 GameObject: m_ObjectHideFlags: 0 @@ -2277,6 +2325,7 @@ Transform: m_Children: - {fileID: 4740884614277713913} - {fileID: 8436259702988649751} + - {fileID: 3784542077159199339} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &3498959641617480557 @@ -2668,6 +2717,10 @@ PrefabInstance: propertyPath: teleportDestination value: objectReference: {fileID: 52977198066049657} + - target: {fileID: 6515928562466559834, guid: 7c74a234ff40ec9449b23765de7189b9, type: 3} + propertyPath: m_TagString + value: Untagged + objectReference: {fileID: 0} - target: {fileID: 6515928562466559834, guid: 7c74a234ff40ec9449b23765de7189b9, type: 3} propertyPath: m_StaticEditorFlags value: 2147483647 diff --git a/Assets/Scripts/Map Control/DoorSystem.cs b/Assets/Scripts/Map Control/DoorSystem.cs index bf42d285..995b7dfb 100644 --- a/Assets/Scripts/Map Control/DoorSystem.cs +++ b/Assets/Scripts/Map Control/DoorSystem.cs @@ -2,16 +2,16 @@ public class RoomManager : MonoBehaviour { - public GameObject newRoomPrefab; - private Transform player; - private GameObject currentRoom; + public GameObject newRoomPrefab; + private Transform player; + private GameObject currentRoom; private GameTracker gameTracker; public static bool isInCorridorX7 = false; private void Start() { - + GameObject playerObject = GameObject.FindGameObjectWithTag("Player"); if (playerObject != null) { @@ -24,11 +24,11 @@ private void OnTriggerEnter2D(Collider2D other) { if (other.CompareTag("Player")) { - + if (isInCorridorX7) { gameTracker.ClearCorridorEvents(); - isInCorridorX7 = false; + isInCorridorX7 = false; } currentRoom = GameObject.FindGameObjectWithTag("Map"); @@ -38,22 +38,35 @@ private void OnTriggerEnter2D(Collider2D other) PlacePlayerInNewRoom(newRoom); currentRoom = newRoom; - + GameObject[] traps = GameObject.FindGameObjectsWithTag("trap"); + if (traps == null) + { + UnityEngine.Debug.Log("No traps found"); + } + else + { + foreach (GameObject trap in traps) + { + Destroy(trap); + } + } + + if (newRoom.name.Contains("CorridorX7")) { - gameTracker.SpawnCorridorEvents(); - isInCorridorX7 = true; + gameTracker.SpawnCorridorEvents(); + isInCorridorX7 = true; UnityEngine.Debug.Log("Coucou"); } - else{ + else + { if (gameTracker != null) - { - - gameTracker.NextStage(); - } + { + gameTracker.NextStage(); + } } - + } } diff --git a/Assets/Scripts/Trap/TrapManager.cs b/Assets/Scripts/Trap/TrapManager.cs index 329f7df5..297e31f6 100644 --- a/Assets/Scripts/Trap/TrapManager.cs +++ b/Assets/Scripts/Trap/TrapManager.cs @@ -19,7 +19,7 @@ public class TrapManager : MonoBehaviour private string socketUrl; - void Start() + async void Start() { // Initialize the grid grid = new string[gridSizeX, gridSizeY]; @@ -29,14 +29,17 @@ void Start() trapPrefabDictionary.Add("crossbow_up_prefab", trapPrefabs[1]); trapPrefabDictionary.Add("crossbow_side_prefab", trapPrefabs[2]); - // Set up Socket.IO client + clientSocket = SocketManager.Instance.ClientSocket; + + // Start processing the placement queue StartCoroutine(ProcessPlacementQueue()); + + await clientSocket.EmitAsync("traps:reload"); } + public void Update() { - clientSocket = SocketManager.Instance.ClientSocket; - clientSocket.On("traps:place", response => { JArray trapDataArray = JArray.Parse(response.ToString()); @@ -67,6 +70,7 @@ private IEnumerator ProcessPlacementQueue() { TrapPlacement placement = placementQueue.Dequeue(); SpawnTrapAtPosition(placement.x, placement.y, placement.trapType); + } yield return null; // Wait for the next frame