예제 #1
0
 public static async Task PopulateGame(GameEntry entry)
 {
     await populateGame(entry);
 }
예제 #2
0
        private void GameContextMenu_Play(object sender, RoutedEventArgs e)
        {
            GameEntry entry = Library.GetGameEntry(contextMenuSlug);

            entry.Launch();
        }
예제 #3
0
        static void PopulateEntry(ref GameEntry entry, JObject json)
        {
            string name = (string)json["name"];

            //if (!titles.Contains(name)) continue;
            if (name == null)
            {
                return;
            }

            string summary  = (string)json["summary"];
            string coverurl = null;

            if (json.ContainsKey("cover"))
            {
                coverurl = "http:" + ((string)json["cover"]["url"]).Replace("t_thumb", "t_720p");
            }

            List <string> developers = new List <string>();
            List <string> publishers = new List <string>();

            if (json.ContainsKey("involved_companies"))
            {
                foreach (var company in json["involved_companies"])
                {
                    string company_name = (string)company["company"]["name"];
                    if ((bool)company["developer"] && !(bool)company["porting"] && !developers.Contains(company_name))
                    {
                        developers.Add(company_name);
                    }
                    if ((bool)company["publisher"] && !(bool)company["porting"] && !publishers.Contains(company_name))
                    {
                        publishers.Add(company_name);
                    }
                }
            }

            int earliest_release = int.MaxValue;

            if (json.ContainsKey("release_dates"))
            {
                foreach (JObject release in json["release_dates"])
                {
                    if (release.ContainsKey("y"))
                    {
                        int year = (int)release["y"];
                        if (year < earliest_release)
                        {
                            earliest_release = year;
                        }
                    }
                }
            }
            else
            {
                earliest_release = -1;
            }

            List <string> media = new List <string>();

            if (json.ContainsKey("screenshots"))
            {
                foreach (JObject screenshot in json["screenshots"])
                {
                    if (screenshot.ContainsKey("url"))
                    {
                        media.Add("http:" + ((string)screenshot["url"]).Replace("t_thumb", "t_1080p"));
                    }
                }
            }

            entry.Title        = name;
            entry.SortingTitle = null;
            entry.Developers   = developers;
            entry.Publishers   = publishers;
            entry.Summary      = summary;
            entry.ReleaseYear  = earliest_release;
            entry.BoxArt       = coverurl;
            entry.Media        = media;
        }