Exemple #1
0
        public GameMetadata GetMetadata(Game game)
        {
            var gameData = new Game("SteamGame")
            {
                GameId = game.GameId
            };

            var gameId = game.ToSteamGameID();

            if (gameId.IsMod)
            {
                var data = library.GetInstalledModFromFolder(game.InstallDirectory, ModInfo.GetModTypeOfGameID(gameId));
                return(new GameMetadata(data, null, null, null));
            }
            else
            {
                var data = UpdateGameWithMetadata(gameData);
                return(new GameMetadata(gameData, data.Icon, data.Image, data.BackgroundImage));
            }
        }
        public override GameMetadata GetMetadata(Game game)
        {
            var gameData = new Game("SteamGame")
            {
                GameId = game.GameId
            };

            var gameId = game.ToSteamGameID();

            if (gameId.IsMod)
            {
                var data = library.GetInstalledModFromFolder(game.InstallDirectory, ModInfo.GetModTypeOfGameID(gameId));
                return(new GameMetadata(data, null, null, null));
            }
            else
            {
                return(new MetadataProvider(apiClient).GetGameMetadata(
                           gameId.AppID,
                           library.LibrarySettings.BackgroundSource,
                           library.LibrarySettings.DownloadVerticalCovers));
            }
        }
Exemple #3
0
        static private void PopulateModInfoFromGameInfo(ref ModInfo modInfo, string path)
        {
            var gameInfo = new KeyValue();

            gameInfo.ReadFileAsText(path);

            modInfo.GameId.AppID = gameInfo["FileSystem"]["SteamAppId"].AsUnsignedInteger();
            modInfo.Name         = gameInfo["game"].Value;

            if (gameInfo["developer"] != KeyValue.Invalid)
            {
                modInfo.Developer = gameInfo["developer"].Value;
            }

            if (gameInfo["manual"] != KeyValue.Invalid)
            {
                modInfo.Links.Add(new Link("Manual", gameInfo["manual"].Value));
            }

            if (gameInfo["developer_url"] != KeyValue.Invalid)
            {
                modInfo.Links.Add(new Link("Developer URL", gameInfo["developer_url"].Value));
            }

            if (gameInfo["type"] == KeyValue.Invalid || gameInfo["type"].Value == "singleplayer_only")
            {
                modInfo.Categories.Add("Single-Player");
            }

            if (gameInfo["type"] == KeyValue.Invalid || gameInfo["type"].Value == "multiplayer_only")
            {
                modInfo.Categories.Add("Multi-Player");
            }

            modInfo.IconPath = FindIcon(modInfo.InstallFolder, gameInfo["icon"] == KeyValue.Invalid ? null : gameInfo["icon"].Value);
        }
Exemple #4
0
        internal GameInfo GetInstalledModFromFolder(string path, ModInfo.ModType modType)
        {
            var modInfo = ModInfo.GetFromFolder(path, modType);
            if (modInfo == null)
            {
                return null;
            }

            var game = new GameInfo()
            {
                Source = "Steam",
                GameId = modInfo.GameId.ToString(),
                Name = modInfo.Name,
                InstallDirectory = path,
                PlayAction = CreatePlayTask(modInfo.GameId),
                IsInstalled = true,
                Developers = new List<string>() { modInfo.Developer },
                Links = modInfo.Links,
                Tags = modInfo.Categories,
                Icon = modInfo.IconPath
            };

            return game;
        }