private bool IsSameItem(IBoardItem a, IBoardItem b) { if (a == null || b == null) { return(false); } return(a.type == b.type); }
private void ValidateMove(IBoardItem item) { var position1 = selectedPiece.File.ToString() + selectedPiece.Rank.ToString(); var position2 = item.File.ToString() + item.Rank.ToString(); var move = position1 + position2; moves.Append(" " + move); SendMovesToEngine(moveValidationTime); }
public int CompareTo(IBoardItem other) { if (dayCount != other.DayCount) { return(dayCount - other.DayCount); } if (!timeAdded.Equals(other.TimeAdded)) { return(timeAdded.CompareTo(other.TimeAdded)); } return(string.CompareOrdinal(playerName, other.PlayerName)); }
/// <summary> /// Converts /// </summary> /// <param name="boardName"></param> /// <param name="boardItem"></param> /// <param name="position"></param> /// <returns></returns> public void PlaceObjectAtPosition(string boardName, IBoardItem boardItem, Vector2 position) { var board = GetBoard(boardName); var destPosition = boardPositionConverter.FromBoardCoordinates(position, board); if (!positionValidator.IsPositionValid(board, destPosition)) { throw new RobotOutOfBoundsException(position); } boardItem.Position = position; board.BoardItems[destPosition.X, destPosition.Y] = boardItem; }
/// <summary> /// Creates a new board populating with empty tiles and storing it in the data store /// </summary> /// <param name="name"></param> /// <param name="width"></param> /// <param name="height"></param> /// <returns></returns> public Board CreateNewBoard(string name, int width, int height) { var boardItems = new IBoardItem[width, height]; for (var x = 0; x < width; x++) { for (var y = 0; y < height; y++) { var boardPosition = boardPositionConverter.ToBoardCoordinates(new Vector2(x, y), height); boardItems[x, y] = new DefaultBoardItem(boardPosition); } } var board = new Board(name, width, height, boardItems); boards.Add(board); return(board); }
public bool IsMoveValid(IBoardItem boardItem) { if (gameManager.IsPlayerOnTurnAI) { return(false); } gameManager.Move.AddRange(new List <int> { boardItem.Col, boardItem.Row, (int)boardItem.PieceType }); if (gameManager.IsMoveValid(gameManager.Move)) { //OutputMessage("Valid move!"); return(true); } OutputMessage("Invalid move!"); gameManager.Move.RemoveRange(3, 3); return(false); }
//Validates selected unit piece public bool IsSelectValid(IBoardItem boardItem) { if (gameManager.IsPlayerOnTurnAI) { return(false); } TempMove = new List <int> { boardItem.Col, boardItem.Row, (int)boardItem.PieceType }; if (gameManager.IsSelectValid(TempMove)) { gameManager.Move.Clear(); //OutputMessage("Valid select!"); gameManager.Move.AddRange(TempMove); return(true); } //OutputMessage("Invalid select!"); return(false); }
private void InitBoardItems() { Customs.UnityCustoms.DestroyAllChilds(gmst.boardItemsParent); Customs.UnityCustoms.DestroyAllChilds(gmst.figureItemsParent); BoardItems = new IBoardItem[BoardSize_X, BoardSize_Y]; for (int i = 0; i < BoardSize_X; i++) { for (int j = 0; j < BoardSize_Y; j++) { var board_item_obj = GameObject.Instantiate(preload.boardItemPrefab) as GameObject; board_item_obj.name = "board_item"; IBoardItem board_item = board_item_obj.GetComponent <IBoardItem>(); board_item.SetPosition(i, j); BoardItems[i, j] = board_item; board_item_obj.transform.SetParent(gmst.boardItemsParent.transform); board_item_obj.transform.position = GetBoardWorldPosition(i, j); boardWorldPosition.ScaleItemSprite(board_item_obj.GetComponent <SpriteRenderer>()); } } }