public AchievementsForm(User user)
        {
            me = user;
            InitializeComponent();
            AllAchievements = DataApiController <List <Achievement> > .GetData(ChessUtils.IPAddressWithPort + "GetAllAchievements");

            // At least 1 achievement earned
            UsersAchievements = DataApiController <List <Achievement> > .GetData(ChessUtils.IPAddressWithPort + me.Username);

            if (UsersAchievements != null)
            {
                foreach (Achievement achievement in AllAchievements)
                {
                    bool achieved = UsersAchievements.Where(x => x.AchievementID == achievement.AchievementID).Any();
                    dgvAchievements.Rows.Add(achievement.AchievementID, achievement.Title, achievement.Difficulty, achieved);
                    if (achieved)
                    {
                        dgvAchievements.Rows[dgvAchievements.Rows.Count - 1].DefaultCellStyle.BackColor = Color.LightGreen;
                    }
                }
            }

            // No achievements
            else
            {
                foreach (Achievement achievement in AllAchievements)
                {
                    dgvAchievements.Rows.Add(achievement.AchievementID, achievement.Title, achievement.Difficulty, false);
                }
            }
        }
Example #2
0
        private void GetGames()
        {
            gameList = DataApiController <List <CustomGame> > .GetData(ChessUtils.IPAddressWithPort + "GetCustomGamesForUser/" + me.Username);

            if (gameList != null)
            {
                foreach (CustomGame game in gameList)
                {
                    AddGameToList(game);
                }
            }
            else
            {
                totalTime.Text     =
                    turnTime.Text  =
                        color.Text = "No data available";
            }
        }
Example #3
0
        private void viewDetailsButton_Click(object sender, EventArgs e)
        {
            if (gamesList.SelectedRows.Count > 0)
            {
                ViewGameDetailsForm vgdf = new ViewGameDetailsForm();

                int gameId = (int)gamesList.SelectedRows[0].Cells[0].Value;

                List <CustomGame> games = DataApiController <List <CustomGame> > .GetData(ChessUtils.IPAddressWithPort + "GetCustomGamesForUser/" + me.Username);

                CustomGame game = games.Single(x => x.GameID == gameId);
                if (game != null)
                {
                    vgdf.SetGameTime(ChessUtils.ConvertSecondsToTimeString(game.GameTimer));
                    vgdf.SetTurnTime(ChessUtils.ConvertSecondsToTimeString(game.MoveTimer));
                    vgdf.SetOpponentName(me.Username);
                    vgdf.SetToMove(game.WhiteMovesFirst ? "White" : "Black");
                    vgdf.SetBoard(game.Pieces);
                    vgdf.Show();
                }
            }
        }
Example #4
0
        private void details_Click(object sender, EventArgs e)
        {
            if (lobbyTable.SelectedRows.Count > 0)
            {
                ViewGameDetailsForm vgdf = new ViewGameDetailsForm();

                bool isCustomGame = (bool)lobbyTable.SelectedRows[0].Cells[1].Value;
                if (isCustomGame)
                {
                    string hostUsername = (string)lobbyTable.SelectedRows[0].Cells[2].Value;
                    int    gameId       = (int)lobbyTable.SelectedRows[0].Cells[5].Value;

                    List <CustomGame> games = DataApiController <List <CustomGame> > .GetData(ChessUtils.IPAddressWithPort + "GetCustomGamesForUser/" + hostUsername);

                    CustomGame game = games.Single(x => x.GameID == gameId);
                    if (game != null)
                    {
                        vgdf.SetGameTime(ChessUtils.ConvertSecondsToTimeString(game.GameTimer));
                        vgdf.SetTurnTime(ChessUtils.ConvertSecondsToTimeString(game.MoveTimer));
                        vgdf.SetOpponentName(hostUsername);
                        vgdf.SetToMove(game.WhiteMovesFirst ? "White" : "Black");
                        vgdf.SetBoard(game.Pieces);
                        vgdf.Show();
                    }
                }
                else
                {
                    string gameTime = (string)lobbyTable.SelectedRows[0].Cells[4].Value;
                    string turnTime = (string)lobbyTable.SelectedRows[0].Cells[3].Value;
                    string host     = (string)lobbyTable.SelectedRows[0].Cells[2].Value;
                    vgdf.SetGameTime(gameTime);
                    vgdf.SetTurnTime(turnTime);
                    vgdf.SetOpponentName(host);
                    vgdf.SetToMove("White");
                    vgdf.Show();
                }
            }
        }
Example #5
0
        private void SetupSettings()
        {
            SquareColorSettings colors = DataApiController <SquareColorSettings> .GetData(ChessUtils.IPAddressWithPort + "GetCustomChessboardForUser/" + me.Username);

            ChessUtils.Settings.Color.darkSquareColor  = Color.FromArgb(colors.Red1, colors.Green1, colors.Blue1);
            ChessUtils.Settings.Color.lightSquareColor = Color.FromArgb(colors.Red2, colors.Green2, colors.Blue2);

            List <PieceImageSettings> images = DataApiController <List <PieceImageSettings> > .GetData(ChessUtils.IPAddressWithPort + "GetCustomPieceImagesForUser/" + me.Username);

            if (images != null)
            {
                foreach (PieceImageSettings image in images)
                {
                    switch (image.PieceName)
                    {
                    case "wKing":
                        ChessUtils.Settings.Image.WhiteKing = GetImageFromByteArray(image.Image);
                        break;

                    case "wQueen":
                        ChessUtils.Settings.Image.WhiteQueen = GetImageFromByteArray(image.Image);
                        break;

                    case "wRook":
                        ChessUtils.Settings.Image.WhiteRook = GetImageFromByteArray(image.Image);
                        break;

                    case "wBishop":
                        ChessUtils.Settings.Image.WhiteBishop = GetImageFromByteArray(image.Image);
                        break;

                    case "wKnight":
                        ChessUtils.Settings.Image.WhiteKnight = GetImageFromByteArray(image.Image);
                        break;

                    case "wPawn":
                        ChessUtils.Settings.Image.WhitePawn = GetImageFromByteArray(image.Image);
                        break;

                    case "bKing":
                        ChessUtils.Settings.Image.BlackKing = GetImageFromByteArray(image.Image);
                        break;

                    case "bQueen":
                        ChessUtils.Settings.Image.BlackQueen = GetImageFromByteArray(image.Image);
                        break;

                    case "bRook":
                        ChessUtils.Settings.Image.BlackRook = GetImageFromByteArray(image.Image);
                        break;

                    case "bBishop":
                        ChessUtils.Settings.Image.BlackBishop = GetImageFromByteArray(image.Image);
                        break;

                    case "bKnight":
                        ChessUtils.Settings.Image.BlackKnight = GetImageFromByteArray(image.Image);
                        break;

                    case "bPawn":
                        ChessUtils.Settings.Image.BlackPawn = GetImageFromByteArray(image.Image);
                        break;
                    }
                }
            }
        }