private List <Link> GetLinks(string GameId, ExoDosIni Ini) { var Links = new List <Link>(); for (int i = 1; i < 10; i++) { var ExtraLink = Ini.GetExtraLink(i); if (String.IsNullOrWhiteSpace(ExtraLink)) { continue; } if (!CheckUrlValid(ExtraLink)) { ExtraLink = GetExtrasDirUri(GameId) + ExtraLink; } var Extra = Ini.GetExtra(i); if (String.IsNullOrWhiteSpace(Extra)) { Extra = GetUrlHost(ExtraLink); } var Link = new Link(Extra, ExtraLink); Links.Add(Link); } return(Links); }
private GameInfo ReadGameInfo(string GameId) { var IniFilePath = GetIniFile(GameId); var Ini = new ExoDosIni(); Ini.ReadIniFile(IniFilePath); string DescriptionFilePath = GetInstallDir(GameId) + Ini.GetDescriptionRelativePath(); var Description = File.ReadAllText(DescriptionFilePath); //MessageBox.Show("Antes de pegar GameInfo", "eXoDos Library", MessageBoxButtons.OK); var gameInfo = new GameInfo() { // General Name = Ini.GetNormalizedName(), SortingName = Ini.Name, Platform = Ini.Platform, // FIXO Genres = Ini.GetGenres(), Categories = null, Tags = null, ReleaseDate = Ini.GetReleaseDate(), Series = null, AgeRating = null, Region = null, Source = "eXoDOS", // FIXO Version = null, UserScore = null, CriticScore = null, CommunityScore = null, Description = Description + "\n\n" + Ini.GetDesignedBy(), // Advanced LastActivity = null, Playtime = 0, PlayCount = 0, CompletionStatus = CompletionStatus.NotPlayed, Hidden = false, GameId = GameId, // Media Icon = null, // @"https://playnite.link/applogo.png", CoverImage = GetInstallDir(GameId) + Ini.GetCoverImageRelativePath(), BackgroundImage = GetInstallDir(GameId) + Ini.GetGameImageRelativePath(), //GameImagePath = null, // Links Links = GetLinks(GameId, Ini), // Installation IsInstalled = true, InstallDirectory = GetInstallDir(GameId), // Actions PlayAction = new GameAction() { Type = GameActionType.File, Path = GetInstallDir(GameId) + Ini.Executable, Arguments = "", WorkingDir = "{InstallDir}", }, }; if (String.IsNullOrWhiteSpace(gameInfo.CoverImage)) { gameInfo.CoverImage = gameInfo.BackgroundImage; } if (String.IsNullOrWhiteSpace(gameInfo.BackgroundImage)) { gameInfo.BackgroundImage = gameInfo.CoverImage; } if (!String.IsNullOrWhiteSpace(Ini.Developer)) { var DeveloperCompany = PlayniteApi.Database.Companies.AsQueryable().Select(c => c.Name == Ini.Developer); if (DeveloperCompany == null) { PlayniteApi.Database.Companies.Add(new Company(Ini.Developer)); } gameInfo.Developers = new List <string>(); gameInfo.Developers.Add((string)Ini.Developer); } if (!String.IsNullOrWhiteSpace(Ini.Publisher)) { var PublisherCompany = PlayniteApi.Database.Companies.AsQueryable().Select(c => c.Name == Ini.Publisher); if (PublisherCompany == null) { PlayniteApi.Database.Companies.Add(new Company(Ini.Publisher)); } gameInfo.Publishers = new List <string>(); gameInfo.Publishers.Add((string)Ini.Publisher); } return(gameInfo); }