void getMvAccessibleTiles(HashSet <TileScript> list, TileScript tile, int num, allegiance ally) { TileScript tileS = tile.transform.GetComponent <TileScript> (); if (num != 0) { if (tileS.up != null && (tileS.up.GetComponent <TileScript> ().objectOccupyingTile == null || tileS.up.GetComponent <TileScript> ().objectOccupyingTile.GetComponent <Unit> ().alleg == ((ally == allegiance.playerOne) ? allegiance.playerOne : allegiance.playerTwo))) { list.Add(tileS.up.GetComponent <TileScript> ()); getMvAccessibleTiles(list, tileS.up.GetComponent <TileScript> (), num - 1, ally); } if (tileS.down != null && (tileS.down.GetComponent <TileScript> ().objectOccupyingTile == null || tileS.down.GetComponent <TileScript> ().objectOccupyingTile.GetComponent <Unit> ().alleg == ((ally == allegiance.playerOne) ? allegiance.playerOne : allegiance.playerTwo))) { list.Add(tileS.down.GetComponent <TileScript> ()); getMvAccessibleTiles(list, tileS.down.GetComponent <TileScript> (), num - 1, ally); } if (tileS.left != null && (tileS.left.GetComponent <TileScript> ().objectOccupyingTile == null || tileS.left.GetComponent <TileScript> ().objectOccupyingTile.GetComponent <Unit> ().alleg == ((ally == allegiance.playerOne) ? allegiance.playerOne : allegiance.playerTwo))) { list.Add(tileS.left.GetComponent <TileScript> ()); getMvAccessibleTiles(list, tileS.left.GetComponent <TileScript> (), num - 1, ally); } if (tileS.right != null && (tileS.right.GetComponent <TileScript> ().objectOccupyingTile == null || tileS.right.GetComponent <TileScript> ().objectOccupyingTile.GetComponent <Unit> ().alleg == ((ally == allegiance.playerOne) ? allegiance.playerOne : allegiance.playerTwo))) { list.Add(tileS.right.GetComponent <TileScript> ()); getMvAccessibleTiles(list, tileS.right.GetComponent <TileScript> (), num - 1, ally); } } }
public HashSet <TileScript> getMvAccessibleTiles(allegiance ally) { HashSet <TileScript> tileSet = new HashSet <TileScript>(); getMvAccessibleTiles(tileSet, this.transform.parent.GetComponent <TileScript>(), mvRange, ally); return(tileSet); }
public virtual void showMvTiles(allegiance ally) { if (!paralyzed) { HashSet <TileScript> tiles = getMvAccessibleTiles(ally); tiles.Remove(this.transform.parent.GetComponent <TileScript>()); gm.accessibleTiles = tiles; foreach (TileScript tile in tiles) { if (tile.objectOccupyingTile == null) { tile.renderer.material.color = Color.green; } } } }
public override void showMvTiles(allegiance ally) { }