Example #1
0
 public async Task StartMasteryAlert(UserSummary userSummary, GameInfoAndProgress gameInfo)
 {
     await ExecuteScript(
         "masteryTitle.innerHTML = \"" + gameInfo.Title.Replace("\"", "\\\"") + "\";" +
         "masteryAchievements.innerHTML = \"Cheevos: " + userSummary.AchievmentsPossible + "\";" +
         "masteryPoints.innerHTML = \"Points: " + userSummary.GamePointsPossible + "\";" +
         "$(\"#mastery-badge\").attr(\"src\", \"https:retroachievements.org" + gameInfo.ImageIcon + "\");" +
         "$(\"#mastery-video\").attr(\"src\", \"disk://mastery-notification\");" +
         "masteryVideoElement.style.display = \"block\";" +
         "masteryElement.style.display = \"block\";" +
         "textFit(masteryTitle, { alignVert: true, alignHoriz: true });" +
         "textFit(masteryPoints, { alignVert: true, alignHoriz: true });" +
         "textFit(masteryAchievements, { alignVert: true, alignHoriz: true });");
 }
Example #2
0
        public void EnqueueMasteryNotification(UserSummary userSummary, GameInfoAndProgress gameInfoAndProgress)
        {
            if (CanPlay && !AlertsLayoutWindow.IsDisposed)
            {
                if (CustomMasteryEnabled && string.IsNullOrEmpty(CustomMasteryFile))
                {
                    CustomMasteryEnabled = false;
                }

                NotificationRequest notificationRequest = new NotificationRequest
                {
                    UserSummary         = userSummary,
                    GameInfoAndProgress = gameInfoAndProgress
                };

                NotificationRequests.Enqueue(notificationRequest);
                RunNotifications();
            }
        }
        public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
        {
            JObject             item = JObject.Load(reader);
            GameInfoAndProgress GameInfoAndProgress = new GameInfoAndProgress();

            if (existingValue != null)
            {
                GameInfoAndProgress = (GameInfoAndProgress)existingValue;
            }

            JToken ID           = item["ID"];
            JToken Title        = item["Title"];
            JToken ConsoleID    = item["ConsoleID"];
            JToken ImageIcon    = item["ImageIcon"];
            JToken ImageTitle   = item["ImageTitle"];
            JToken ImageIngame  = item["ImageIngame"];
            JToken ImageBoxArt  = item["ImageBoxArt"];
            JToken Publisher    = item["Publisher"];
            JToken Developer    = item["Developer"];
            JToken Genre        = item["Genre"];
            JToken Released     = item["Released"];
            JToken ConsoleName  = item["ConsoleName"];
            JToken Achievements = item["Achievements"];

            if (ConsoleName != null)
            {
                if (ConsoleName.Type == JTokenType.String)
                {
                    GameInfoAndProgress.ConsoleName = ConsoleName.ToString();
                }
            }


            if (Released != null)
            {
                if (Released.Type == JTokenType.String)
                {
                    GameInfoAndProgress.Released = Released.ToString();
                }
            }

            if (Genre != null)
            {
                if (Genre.Type == JTokenType.String)
                {
                    GameInfoAndProgress.Genre = Genre.ToString();
                }
            }

            if (Developer != null)
            {
                if (Developer.Type == JTokenType.String)
                {
                    GameInfoAndProgress.Developer = Developer.ToString();
                }
            }
            if (Publisher != null)
            {
                if (Publisher.Type == JTokenType.String)
                {
                    GameInfoAndProgress.Publisher = Publisher.ToString();
                }
            }

            if (ImageBoxArt != null)
            {
                if (ImageBoxArt.Type == JTokenType.String)
                {
                    GameInfoAndProgress.ImageBoxArt = ImageBoxArt.ToString();
                }
            }

            if (ImageIngame != null)
            {
                if (ImageIngame.Type == JTokenType.String)
                {
                    GameInfoAndProgress.ImageIngame = ImageIngame.ToString();;
                }
            }

            if (ImageTitle != null)
            {
                if (ImageTitle.Type == JTokenType.String)
                {
                    GameInfoAndProgress.ImageTitle = ImageTitle.ToString();
                }
            }

            if (ImageIcon != null)
            {
                if (ImageIcon.Type == JTokenType.String)
                {
                    GameInfoAndProgress.ImageIcon = ImageIcon.ToString();
                }
            }

            if (Title != null)
            {
                if (Title.Type == JTokenType.String)
                {
                    GameInfoAndProgress.Title = Title.ToString();
                }
            }

            if (ConsoleID != null)
            {
                if (ConsoleID.Type == JTokenType.Integer)
                {
                    GameInfoAndProgress.ConsoleId = Convert.ToInt32(ConsoleID);
                }
            }

            if (ID != null)
            {
                if (ID.Type == JTokenType.Integer)
                {
                    GameInfoAndProgress.Id = Convert.ToInt32(ID);
                }
            }
            if (ConsoleName != null)
            {
                if (ConsoleName.Type == JTokenType.String)
                {
                    GameInfoAndProgress.ConsoleName = ConsoleName.ToString();
                }
            }


            if (Released != null)
            {
                if (Released.Type == JTokenType.String)
                {
                    GameInfoAndProgress.Released = Released.ToString();
                }
            }

            if (Genre != null)
            {
                if (Genre.Type == JTokenType.String)
                {
                    GameInfoAndProgress.Genre = Genre.ToString();
                }
            }

            if (Developer != null)
            {
                if (Developer.Type == JTokenType.String)
                {
                    GameInfoAndProgress.Developer = Developer.ToString();
                }
            }
            if (Publisher != null)
            {
                if (Publisher.Type == JTokenType.String)
                {
                    GameInfoAndProgress.Publisher = Publisher.ToString();
                }
            }

            if (ImageBoxArt != null)
            {
                if (ImageBoxArt.Type == JTokenType.String)
                {
                    GameInfoAndProgress.ImageBoxArt = ImageBoxArt.ToString();
                }
            }

            if (ImageIngame != null)
            {
                if (ImageIngame.Type == JTokenType.String)
                {
                    GameInfoAndProgress.ImageIngame = ImageIngame.ToString();;
                }
            }

            if (ImageTitle != null)
            {
                if (ImageTitle.Type == JTokenType.String)
                {
                    GameInfoAndProgress.ImageTitle = ImageTitle.ToString();
                }
            }

            if (ImageIcon != null)
            {
                if (ImageIcon.Type == JTokenType.String)
                {
                    GameInfoAndProgress.ImageIcon = ImageIcon.ToString();
                }
            }

            if (Title != null)
            {
                if (Title.Type == JTokenType.String)
                {
                    GameInfoAndProgress.Title = Title.ToString();
                }
            }

            if (ConsoleID != null)
            {
                if (ConsoleID.Type == JTokenType.Integer)
                {
                    GameInfoAndProgress.ConsoleId = Convert.ToInt32(ConsoleID);
                }
            }

            if (ID != null)
            {
                if (ID.Type == JTokenType.Integer)
                {
                    GameInfoAndProgress.Id = Convert.ToInt32(ID);
                }
            }

            if (Achievements != null)
            {
                if (Achievements.Type == JTokenType.Object)
                {
                    GameInfoAndProgress.Achievements = new List <Achievement>();

                    foreach (JToken jobject in Achievements.Children <JToken>())
                    {
                        foreach (JToken jobjectJr in jobject.Children <JToken>())
                        {
                            GameInfoAndProgress.Achievements.Add(jobjectJr.ToObject <Achievement>());
                        }
                    }
                }
            }

            return(GameInfoAndProgress);
        }