miepzerino
2023-12-22 6f2125d2cd1607b8fb70db652607adc84fd9346c
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");