From 632ac86af87ed42af793a6381e02ead74353c098 Mon Sep 17 00:00:00 2001
From: Robin Ruud Kristensen <robin1998@hotmail.no>
Date: Thu, 27 Oct 2022 22:28:37 +0200
Subject: [PATCH] added tag for enemies to check if room is cleared

---
 .../Assets/Code/InteractionSystem/Door.cs     | 29 +++++++++++--------
 MrBigsock/Assets/Code/Map/TilemapGenerator.cs |  2 +-
 2 files changed, 18 insertions(+), 13 deletions(-)

diff --git a/MrBigsock/Assets/Code/InteractionSystem/Door.cs b/MrBigsock/Assets/Code/InteractionSystem/Door.cs
index 73537761..caa1b80e 100644
--- a/MrBigsock/Assets/Code/InteractionSystem/Door.cs
+++ b/MrBigsock/Assets/Code/InteractionSystem/Door.cs
@@ -9,8 +9,8 @@ namespace BigSock.Interact {
         [SerializeField] private string _prompt;
         public SpriteRenderer spriteRenderer;
         public Sprite newSprite;
-
-    private GameObject player;
+        private GameObject[] enemies;
+        private GameObject player;
     private GameObject cameraPlayer;
     private int i = TilemapGenerator.NextRoom();
     private GameObject boundary;
@@ -18,15 +18,20 @@ namespace BigSock.Interact {
     public string InteractionPrompt => _prompt;
 
     public bool Interact(Interactor interactor) {
-        Debug.Log("Opening door!");
-        spriteRenderer.sprite = newSprite;
-        player = GameObject.Find("BigSock");
-        boundary = GameObject.Find("CameraBoundry");
-        cameraPlayer = GameObject.Find("Main Camera");
-        player.transform.position = TilemapGenerator.DoorLocaitonTransport(i);
-        cameraPlayer.transform.position = player.transform.position;
-        boundary.GetComponent<PolygonCollider2D>().SetPath(0, TilemapGenerator.GetRoom(i));
-        return true;
+            enemies = GameObject.FindGameObjectsWithTag((i - 1).ToString());
+            if (enemies.Length == 0)
+            {
+                Debug.Log("Opening door!");
+                spriteRenderer.sprite = newSprite;
+                player = GameObject.Find("BigSock");
+                boundary = GameObject.Find("CameraBoundry");
+                cameraPlayer = GameObject.Find("Main Camera");
+                player.transform.position = TilemapGenerator.DoorLocaitonTransport(i);
+                cameraPlayer.transform.position = player.transform.position;
+                boundary.GetComponent<PolygonCollider2D>().SetPath(0, TilemapGenerator.GetRoomBoundary(i));
+                return true;
+            }
+            return false;
+        }
     }
 }
-}
diff --git a/MrBigsock/Assets/Code/Map/TilemapGenerator.cs b/MrBigsock/Assets/Code/Map/TilemapGenerator.cs
index 1a75d169..4e2e4329 100644
--- a/MrBigsock/Assets/Code/Map/TilemapGenerator.cs
+++ b/MrBigsock/Assets/Code/Map/TilemapGenerator.cs
@@ -205,7 +205,7 @@ namespace Bigsock
             MapBoundaryList.Add(MapBoudary);
         }
 
-        public static List<Vector2> GetRoom(int i)
+        public static List<Vector2> GetRoomBoundary(int i)
         {
             return MapBoundaryList[i];
         }
-- 
GitLab