public void ThrowStone(Direction dir) { HideArrows(); BoardSpace space = currentTile; BoardSpaceEdge edge = currentTile.GetEdge(dir); while (!edge.blocked) { space = edge.otherSpace; edge = space.GetEdge(dir); } space.isVisible = true; space.RefreshVisibility(); }
public void LookDirection(Direction dir, int range) { currentTile.isVisible = true; Vector2Int searchSpace = currentTile.coordinates; int distance = 0; BoardSpace next = currentTile; while (!next.GetEdge(dir).blocked&& distance < range) { searchSpace += dir.ToCoordinates(); next = boardGenerator.GetSpace(searchSpace); next.isVisible = true; distance++; } }
public bool CanWalk(Direction dir) { return(stepsLeft > 0 && !currentTile.GetEdge(dir).blocked); }