public void LoadLevel(LevelData levelData) { Debug.Log("[GameController] Load level"); m_levelData = levelData; while (m_piecesContainer.childCount > 0) { DestroyImmediate(m_piecesContainer.GetChild(0).gameObject); } m_pieces.Clear(); foreach (LevelData.PieceData pieceData in levelData.pieces) { PieceController piece = m_pieceFactory.Create(pieceData.type); piece.Rotate(pieceData.rotation); piece.Coordinates.Set(pieceData.beginCoordinates); piece.Interactable = false; m_pieces.Add(piece); } m_layout.CreateBoard(m_levelData); m_layout.Layout(m_pieces); }
public void PieceCreationCorrectly() { PieceFactory pieceFactory = CreatePieceFactory(); GameObject pieceObject = pieceFactory.Create(); Assert.IsNotNull(pieceObject); }
public void Creates_A_Knight() { var pieceFactory = new PieceFactory(BOARD_SIZE); var piece = pieceFactory.Create(PieceType.Knight); Assert.IsType <Knight>(piece); Assert.Equal(piece.Movements.Count(), 1); Assert.IsType <QuandrantMovement>(piece.Movements.First()); }
public void Creates_A_Pawn() { var pieceFactory = new PieceFactory(BOARD_SIZE); var piece = pieceFactory.Create(PieceType.Pawn); Assert.IsType <Pawn>(piece); Assert.Equal(piece.Movements.Count(), 1); Assert.IsType <ForwardOnlyMovement>(piece.Movements.First()); }
public void WhenPieceIsCreatedPieceDataIsRetrieved() { List <PieceData> pieceDataList = CreatePieceDataList(3); PieceDataSorter pieceDataSorter = CreatePieceDataSorter(pieceDataList); PieceFactory pieceFactory = CreatePieceFactory(pieceDataSorter); GameObject pieceObject = pieceFactory.Create(); Assert.AreEqual(2, pieceDataList.Count); }
public void Creates_A_Bishop() { var pieceFactory = new PieceFactory(BOARD_SIZE); var piece = pieceFactory.Create(PieceType.Bishop); Assert.IsType <Bishop>(piece); Assert.Equal(piece.Movements.Count(), 1); Assert.IsType <RadialDiagonalMovement>(piece.Movements.First()); Assert.Equal(BOARD_SIZE, piece.Movements.OfType <RadialDiagonalMovement>().First().Distance); }
public void Creates_A_Rook() { var pieceFactory = new PieceFactory(BOARD_SIZE); var piece = pieceFactory.Create(PieceType.Rook); Assert.IsType <Rook>(piece); Assert.Equal(piece.Movements.Count(), 1); Assert.IsType <RadialAdjacentMovement>(piece.Movements.First()); Assert.Equal(BOARD_SIZE, piece.Movements.OfType <RadialAdjacentMovement>().First().Distance); }
/** * Spawn piece of specified type at row and column */ private PieceController SpawnPiece(int row, int col, int pieceType) { PieceController piece = m_pieceFactory.Create(pieceType); piece.transform.SetParent(m_container); piece.transform.position = GetPiecePosition(row, col); SetPieceAt(row, col, piece); return(piece); }
public void Creates_A_Queen() { var pieceFactory = new PieceFactory(BOARD_SIZE); var piece = pieceFactory.Create(PieceType.Queen); Assert.IsType <King>(piece); Assert.Equal(piece.Movements.Count(), 2); Assert.IsType <RadialDiagonalMovement>(piece.Movements.First()); Assert.Equal(BOARD_SIZE, piece.Movements.OfType <RadialDiagonalMovement>().First().Distance); Assert.IsType <RadialAdjacentMovement>(piece.Movements.Last()); Assert.Equal(BOARD_SIZE, piece.Movements.OfType <RadialAdjacentMovement>().Last().Distance); }
public void Throws_Exception_When_Piece_Does_Not_Exist() { var pieceFactory = new PieceFactory(BOARD_SIZE); Assert.Throws <ArgumentException>(() => pieceFactory.Create(0)); }