From 6f2125d2cd1607b8fb70db652607adc84fd9346c Mon Sep 17 00:00:00 2001 From: miepzerino <o.skotnik@gmail.com> Date: Fri, 22 Dec 2023 19:40:59 +0000 Subject: [PATCH] Added drilling function to player --- Assets/Scripts/Managers/GameManager.cs | 21 +++++++++++++++++++++ 1 files changed, 21 insertions(+), 0 deletions(-) diff --git a/Assets/Scripts/Managers/GameManager.cs b/Assets/Scripts/Managers/GameManager.cs index 0347568..c7925d3 100644 --- a/Assets/Scripts/Managers/GameManager.cs +++ b/Assets/Scripts/Managers/GameManager.cs @@ -5,6 +5,7 @@ using UnityEngine; using UnityEngine.InputSystem; using UnityEngine.SceneManagement; +using UnityEngine.Tilemaps; public class GameManager : SettingsManager { @@ -12,6 +13,7 @@ public GameObject healthTextPrefab; public Canvas playerUI; public Canvas pauseMenuUI; + public Tilemap tilemap; private void Awake() { @@ -23,6 +25,7 @@ // add listen events CharacterEvents.characterDamaged += (CharacterTookDamange); CharacterEvents.characterHealed += (CharacterHealed); + CharacterEvents.characterDrill += (CharacterDrill); } @@ -31,6 +34,7 @@ // remove listen events CharacterEvents.characterDamaged -= (CharacterTookDamange); CharacterEvents.characterHealed -= (CharacterHealed); + CharacterEvents.characterDrill -= (CharacterDrill); } public void CharacterTookDamange(GameObject character, int damageReceived) @@ -53,6 +57,23 @@ tmpText.text = healthRestored.ToString(); } + public void CharacterDrill(ContactPoint2D contact, DrillDirection drillDirection) + { + Vector3Int cellCoord = tilemap.transform.GetComponentInParent<GridLayout>().WorldToCell(contact.point); + switch(drillDirection) + { + case DrillDirection.Left: + cellCoord.x = cellCoord.x - 1; + break; + case DrillDirection.Right: + cellCoord.x = cellCoord.x + 1; + break; + case DrillDirection.Down: + cellCoord.y = cellCoord.y - 1; + break; + } + tilemap.SetTile(cellCoord, null); + } public void GameLoaded() { pauseMenuUI.GetComponent<Animator>().SetTrigger("GameLoaded"); -- Gitblit v1.9.3