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);
        }