From 60aa8e85d058fccb1fa5e3952975d03d99778c6a Mon Sep 17 00:00:00 2001 From: miepzerino <o.skotnik@gmail.com> Date: Wed, 27 Dec 2023 03:44:34 +0000 Subject: [PATCH] Added ironOre + dropable + pickup creation --- Assets/Scripts/Managers/GameManager.cs | 28 ++++++++++++++++++++++------ 1 files changed, 22 insertions(+), 6 deletions(-) diff --git a/Assets/Scripts/Managers/GameManager.cs b/Assets/Scripts/Managers/GameManager.cs index 13f8eb3..00a5bc0 100644 --- a/Assets/Scripts/Managers/GameManager.cs +++ b/Assets/Scripts/Managers/GameManager.cs @@ -20,6 +20,7 @@ public GenerateTileMap generateTileMap; [NonSerialized] public List<Vector3Int> destroyedTiles = new List<Vector3Int>(); + public GameObject pickups; private void Awake() { @@ -129,12 +130,27 @@ //Debug.Log(tilemap.HasTile(cellCoord)); if (tilemap.HasTile(cellCoord)) { - tilemap.SetTile(cellCoord, null); - destroyedTiles.Add(cellCoord); - Vector3 moveToPosition = grid.CellToWorld(cellCoord); - moveToPosition.x += 0.5f; - moveToPosition.y += 0.5f; - CharacterEvents.characterDrillingToPosition.Invoke(moveToPosition); + GameObject tileGameObject = tilemap.GetInstantiatedObject(cellCoord); + if (tileGameObject?.GetComponent<Drillable>()?.isDrillable ?? false) + { + Vector3 cellWorldPosition = grid.CellToWorld(cellCoord); + // middle of tile + cellWorldPosition.x += 0.5f; + cellWorldPosition.y += 0.5f; + if (tileGameObject?.GetComponent<Dropable>()?.isDropable ?? false) + { + Instantiate(tileGameObject?.GetComponent<Dropable>().dropable, cellWorldPosition, Quaternion.identity, pickups.transform); + //Debug.Log(.name); + + } + tilemap.SetTile(cellCoord, null); + destroyedTiles.Add(cellCoord); + CharacterEvents.characterDrillingToPosition.Invoke(cellWorldPosition, drillDirection); + } + else + { + //CharacterEvents.characterDrillingToPositionAbort.Invoke(moveToPosition); + } } } #endregion -- Gitblit v1.9.3