private IEnumerator CardSelectTileRoutine(List <Vector3Int> tiles, SelectTileDel SelectTileFunction) { GridHelper.SetGroundTilesColor(tiles, GridHelper.spawnTileColor); Vector3Int?selectedTile = null; while (true) { if (Input.GetMouseButtonDown(0)) { Vector3Int mouseCoords = MouseCoords(); if (!GridHelper.TileInList(mouseCoords, tiles)) { break; } selectedTile = mouseCoords; break; } yield return(null); } GridHelper.SetGroundTilesColor(tiles, Color.white); SelectTileFunction(selectedTile != null && GridHelper.groundTilemap.HasTile(selectedTile.Value) ? selectedTile : null); }
public void CardSelectTile(Vector3Int start, RangeDefined range, SelectTileDel SelectTileFunction) { List <Vector3Int> tiles; if (range.basicRange) { tiles = TilesInBasic(range.allowedDirections); } else { tiles = GridHelper.TilesInRange(start, range); } StartCoroutine(CardSelectTileRoutine(tiles, SelectTileFunction)); }
public void CardSelectTile(RangeDefined range, SelectTileDel SelectTileFunction) { CardSelectTile(Coords(), range, SelectTileFunction); }