/// <summary> /// Uses Server Board data to create Chess Pieces on the Client board /// </summary> /// <param name="serverBoard"></param> /// <param name="clientBoard"></param> public void Initialize(BoardData serverBoard, ChessBoard clientBoard) { for (int i = 0; i < 8; i++) { for (int j = 0; j < 8; j++) { if (serverBoard.AllCells[i, j].ChessPiece != null) { CellData serverCell = serverBoard.AllCells[i, j]; ChessCell chessCell = clientBoard.AllCells[i, j]; BasePieceGO basePieceGO = Instantiate(chessPiecesSO.ChessPieces[serverCell.ChessPiece.Type], chessCell.transform).GetComponent <BasePieceGO>(); basePieceGO.Initialize(serverCell.ChessPiece, this); chessCell.ChessPiece = basePieceGO; ActiveChessPieces.Add(basePieceGO); } } } Debug.Log("ChessPieces Initialized"); }