//Get all cells that will be affected by a Command public void GetCommandTargetCells(TargetType _targetType, bool heightCalc) { tilesTargeted.Clear(); int h = 0; if (heightCalc) { h = board.FindTile(turnPlayer.coord).height; } switch (_targetType) { case TargetType.Self: tilesTargeted.Add(board.FindTile(turnPlayer.coord)); break; case TargetType.Front: Tile front = board.TargetFrontTile(turnPlayer.facingDirection, turnPlayer.coord); if (front != null && !front.isBlocked) { if (heightCalc) { if (CalculateTargetHeight(h, front.height)) { tilesTargeted.Add(front); } } else { tilesTargeted.Add(front); } } break; case TargetType.Triangle: if (heightCalc) { List <Tile> triangle = board.TargetFrontTriangle(turnPlayer.facingDirection, turnPlayer.coord); foreach (Tile t in triangle) { if (CalculateTargetHeight(h, t.height)) { tilesTargeted.Add(t); } } } else { tilesTargeted = board.TargetFrontTriangle(turnPlayer.facingDirection, turnPlayer.coord); } break; } }
public void TargetCells(TargetType _targetType, bool heightCalc, bool offensive) { GetCommandTargetCells(_targetType, heightCalc); if (offensive) { foreach (Tile t in tilesTargeted) { t.CellOnRedTarget(); } } else { foreach (Tile t in tilesTargeted) { t.CellOnBlueTarget(); } } }