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