本文整理汇总了C#中Board.GetTile方法的典型用法代码示例。如果您正苦于以下问题:C# Board.GetTile方法的具体用法?C# Board.GetTile怎么用?C# Board.GetTile使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Board
的用法示例。
在下文中一共展示了Board.GetTile方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetTilesInRange
public override List<Tile> GetTilesInRange(Board board)
{
Point pos = unit.tile.pos;
List<Tile> retValue = new List<Tile> ();
int dir = (unit.dir == Directions.North || unit.dir == Directions.East) ? 1 : -1;
int lateral = 1;
if (unit.dir == Directions.North || unit.dir == Directions.South) {
for (int y = 1; y <= horizontal; y++) {
int min = -(lateral / 2);
int max = (lateral / 2);
for (int x = min; x <= max; x++) {
Point next = new Point (pos.x + x, pos.y + (y * dir));
Tile tile = board.GetTile (next);
if (ValidTile (tile))
retValue.Add (tile);
}
lateral += 2;
}
} else {
for(int x = 1; x <= horizontal; x++) {
int min = -(lateral / 2);
int max = (lateral / 2);
for(int y = min; y <= max; y++) {
Point next = new Point(pos.x + (x * dir), pos.y + y);
Tile tile = board.GetTile (next);
if (ValidTile (tile))
retValue.Add (tile);
}
lateral += 2;
}
}
return retValue;
}
示例2: GetTilesInArea
public override List<Tile> GetTilesInArea(Board board, Point pos)
{
List<Tile> retValue = new List<Tile>();
Tile tile = board.GetTile(pos);
if (tile != null)
retValue.Add(tile);
return retValue;
}
示例3: GetTilesInRange
public override List<Tile> GetTilesInRange(Board board)
{
Point startPos = unit.tile.pos;
Point endPos;
List<Tile> retValue = new List<Tile> ();
switch (unit.dir) {
case Directions.North:
endPos = new Point(startPos.x, board.max.y);
break;
case Directions.East:
endPos = new Point(board.max.x, startPos.y);
break;
case Directions.South:
endPos = new Point(startPos.x, board.min.y);
break;
default:
endPos = new Point(board.min.x, startPos.y);
break;
}
while(startPos != endPos) {
if(startPos.x < endPos.x)
startPos.x++;
else if(startPos.x > endPos.x)
startPos.x--;
if(startPos.y < endPos.y)
startPos.y++;
else if(startPos.y > endPos.y)
startPos.y--;
Tile t = board.GetTile(startPos);
if(t != null && Mathf.Abs(t.height - unit.tile.height) <= vertical)
retValue.Add(t);
}
return retValue;
}
示例4: GetTilesInArea
public override List<Tile> GetTilesInArea(Board board, Point pos)
{
tile = board.GetTile(pos);
return board.Search(tile, ExpandSearch);
}