public void toggleRange(Position position, int range, Unit unit) { tilesInRange = getRange(position, range); if (!unit.rangeDrawn) { // Draw range GameObject container = new GameObject("range"); foreach (var tile in tilesInRange) { if (tilemapManager.isWalkable(tile)) { container.transform.parent = unit.transform; Instantiate(rangeDisplay, new Vector3((int)tile.x * tileSize, (int)tile.y * tileSize, 0), Quaternion.identity, container.transform); } } unit.rangeDrawn = true; rangeDrawn = true; } else { Destroy(unit.transform.Find("range").gameObject); unit.rangeDrawn = false; rangeDrawn = false; } }