private async void timer1_Tick(object sender, EventArgs e) { try { if (!SteamAPI.Init()) { if (SteamAPI.IsSteamRunning()) { steamLBL.ForeColor = Color.DarkBlue; steamLBL.Text = "Steam Running.."; steamSTATUS.Image = HDDowngradeTool.Properties.Resources.dotred; } else { steamLBL.ForeColor = Color.Gold; await Task.Delay(200); steamLBL.Text = "Steam OFF"; await Task.Delay(100); steamLBL.ForeColor = Color.Maroon; steamSTATUS.Image = HDDowngradeTool.Properties.Resources.dotred; } //SteamUtils.GetAppID(); } else { steamLBL.ForeColor = Color.ForestGreen; steamLBL.Text = "Steam ON"; steamSTATUS.Image = HDDowngradeTool.Properties.Resources.dotgreen; cbPATCH.Enabled = true; kryptonButton1.Enabled = true; await Task.Delay(200); bool IsDE = SteamApps.BIsAppInstalled(new AppId_t(221380)); if (!IsDE) { MessageBox.Show("Please Buy or Install Age of Empires II: Definitive Edition before you proceed!", "Game Missing"); cbPATCH.Enabled = false; timer1.Stop(); } var versionInfo = FileVersionInfo.GetVersionInfo(SaveDirectoryPath() + @"\AoK HD.exe"); string version = versionInfo.FileVersion; //string[] sver = version.Split('.'); label1.Text = "Current Version: " + version; timer1.Stop(); } } catch (SystemException) { steamLBL.ForeColor = Color.Black; steamLBL.Text = "Steam OFF"; steamSTATUS.Image = HDDowngradeTool.Properties.Resources.dotred; } }
// TODO use a better AppID source, the AppInfo.vtf file only holds data the client has actually seen public List <SteamLaunchableApp> GetOwnedApps() { //UInt32[] appIDs = GetClientAppIds(); List <SteamLaunchableApp> apps = new List <SteamLaunchableApp>(); //SteamAppInfoDataFile dataFile = SteamAppInfoDataFile.Read(GetAppCacheAppInfoFile()); SteamAppInfoDataFile dataFile = SteamAppInfoDataFile.GetSteamAppInfoDataFile(); /*dataFile.chunks * .Where(chunk => chunk.data != null && chunk.data.Properties != null && chunk.data.Properties.Count > 0) * //.Select(chunk => ((BVStringToken)((BVPropertyCollection)((BVPropertyCollection)chunk.data?["appinfo"])?["common"])?["type"])?.Value?.ToLowerInvariant()) * .Select(chunk => ((BVStringToken)((BVPropertyCollection)((BVPropertyCollection)chunk.data?["appinfo"])?["common"])?["releasestate"])?.Value?.ToLowerInvariant()) * .Distinct() * .OrderBy(dr => dr) * .ToList() * .ForEach(dr => * { * Console.WriteLine(dr); * });*/ dataFile.chunks .ForEach(chunk => { if (chunk.data != null && chunk.data.Properties != null && chunk.data.Properties.Count > 0) { BVPropertyCollection appinfo = ((BVPropertyCollection)chunk.data?["appinfo"]); BVPropertyCollection common = ((BVPropertyCollection)appinfo?["common"]); BVPropertyCollection extended = ((BVPropertyCollection)appinfo?["extended"]); string type = common?["type"]?.GetValue <string>()?.ToLowerInvariant(); //if (type == "demo" || type == "game") if (!string.IsNullOrWhiteSpace(type) && type != "config") { bool isInstalled = SteamApps.BIsAppInstalled(chunk.AppID); bool isSubscribed = SteamApps.BIsSubscribedApp(chunk.AppID); string name = common?["name"]?.GetValue <string>(); string clienticon = common?["clienticon"]?.GetValue <string>(); if (isSubscribed && !string.IsNullOrWhiteSpace(name) && !string.IsNullOrWhiteSpace(type)) { apps.Add(new SteamLaunchableApp(chunk.AppID) { Name = name?.TrimEnd(), appIcon = string.IsNullOrWhiteSpace(clienticon) ? null : Path.Combine(SteamProcessInfo.SteamInstallPath, "steam", "games", clienticon + ".ico"), appType = type, });; } } } }); return(apps); }
public void BIsAppInstalledTest() { if (Attribute.IsDefined(_SteamAppsVersion.GetMethod("BIsAppInstalled"), typeof(ObsoleteAttribute))) { //Assert.Pass("Not Implemented"); Assert.Ignore("Not Implemented in this Interface"); } Assert.IsTrue(SteamApps.BIsAppInstalled(InstalledAppID)); Assert.IsFalse(SteamApps.BIsAppInstalled(UninstalledAppID)); }
public bool IsInstalled(UInt64 GameID) { CGameID gameID = new CGameID(GameID); switch (gameID.AppType) { // Basic Steam App case CGameID.EGameID.k_EGameIDTypeApp: return(SteamApps.BIsAppInstalled(gameID.AppID)); //return SteamApps.BIsAppInstalled(gameID.AppID().m_AppId); // Mod Steam App case CGameID.EGameID.k_EGameIDTypeGameMod: return(true); // If the base game isn't installed, just say no if (!SteamApps.BIsAppInstalled(gameID.AppID)) { return(false); } //if (!SteamApps.BIsAppInstalled(gameID.AppID().m_AppId)) return false; // Root app is GoldSrc //if (GoldSrcModHosts.Contains(gameID.AppID().m_AppId)) if (gameID.AppID == 70) { // Get a list of known GoldSrc Mods List <SteamLaunchableModGoldSrc> mods = GetGoldSrcMods(); // return if any of these mods match our ID return(mods.Any(dr => dr.GetShortcutID() == GameID)); } // Root app is Source // TODO add check for source engine IDs here { // Get a list of known GoldSrc Mods List <SteamLaunchableModSource> mods = GetSourceMods(); // return if any of these mods match our ID return(mods.Any(dr => dr.GetShortcutID() == GameID)); } return(false); case CGameID.EGameID.k_EGameIDTypeShortcut: break; } return(false); }
public static string GetGameDirectory(AppId_t appID) { if (!SteamApps.BIsAppInstalled(appID)) { return(""); } string path = ""; SteamApps.GetAppInstallDir(appID, out path, 256); return(path); }
public void RenderOnGUI() { GUILayout.Label("SteamApps.BIsSubscribed() : " + SteamApps.BIsSubscribed()); GUILayout.Label("SteamApps.BIsLowViolence() : " + SteamApps.BIsLowViolence()); GUILayout.Label("SteamApps.BIsCybercafe() : " + SteamApps.BIsCybercafe()); GUILayout.Label("SteamApps.BIsVACBanned() : " + SteamApps.BIsVACBanned()); GUILayout.Label("SteamApps.GetCurrentGameLanguage() : " + SteamApps.GetCurrentGameLanguage()); GUILayout.Label("SteamApps.GetAvailableGameLanguages() : " + SteamApps.GetAvailableGameLanguages()); GUILayout.Label("SteamApps.BIsSubscribedApp(SteamUtils.GetAppID()) : " + SteamApps.BIsSubscribedApp(SteamUtils.GetAppID())); GUILayout.Label("SteamApps.BIsDlcInstalled(110902) : " + SteamApps.BIsDlcInstalled((AppId_t)110902)); // pieterw test DLC GUILayout.Label("SteamApps.GetEarliestPurchaseUnixTime(SteamUtils.GetAppID()) : " + SteamApps.GetEarliestPurchaseUnixTime(SteamUtils.GetAppID())); GUILayout.Label("SteamApps.BIsSubscribedFromFreeWeekend() : " + SteamApps.BIsSubscribedFromFreeWeekend()); GUILayout.Label("SteamApps.GetDLCCount() : " + SteamApps.GetDLCCount()); for (int iDLC = 0; iDLC < SteamApps.GetDLCCount(); ++iDLC) { AppId_t AppID; bool Available; string Name; bool ret = SteamApps.BGetDLCDataByIndex(iDLC, out AppID, out Available, out Name, 128); GUILayout.Label("SteamApps.BGetDLCDataByIndex(" + iDLC + ", out AppID, out Available, out Name, 128) : " + ret + " -- " + AppID + " -- " + Available + " -- " + Name); } if (GUILayout.Button("SteamApps.InstallDLC(110902)")) { SteamApps.InstallDLC((AppId_t)110902); // pieterw test DLC } if (GUILayout.Button("SteamApps.UninstallDLC(110902)")) { SteamApps.UninstallDLC((AppId_t)110902); // pieterw test DLC } if (GUILayout.Button("SteamApps.RequestAppProofOfPurchaseKey(SteamUtils.GetAppID())")) { SteamApps.RequestAppProofOfPurchaseKey(SteamUtils.GetAppID()); } { string Name; bool ret = SteamApps.GetCurrentBetaName(out Name, 128); if (Name == null) { Name = ""; } GUILayout.Label("SteamApps.GetCurrentBetaName(out Name, 128) : " + ret + " -- " + Name); } if (GUILayout.Button("SteamApps.MarkContentCorrupt(true)")) { print("SteamApps.MarkContentCorrupt(true) : " + SteamApps.MarkContentCorrupt(true)); } if (GUILayout.Button("SteamApps.GetInstalledDepots(SteamUtils.GetAppID(), Depots, 32)")) { DepotId_t[] Depots = new DepotId_t[32]; uint ret = SteamApps.GetInstalledDepots(SteamUtils.GetAppID(), Depots, 32); for (int i = 0; i < ret; ++i) { print("SteamApps.GetInstalledDepots(SteamUtils.GetAppID(), Depots, 32) : " + ret + " -- #" + i + " -- " + Depots[i]); } } { string Folder; uint ret = SteamApps.GetAppInstallDir(SteamUtils.GetAppID(), out Folder, 260); if (Folder == null) { Folder = ""; } GUILayout.Label("SteamApps.GetAppInstallDir(480, out Folder, 260) : " + ret + " -- " + Folder); } GUILayout.Label("SteamApps.BIsAppInstalled(480) : " + SteamApps.BIsAppInstalled(SteamUtils.GetAppID())); GUILayout.Label("SteamApps.GetAppOwner() : " + SteamApps.GetAppOwner()); // Run the test and then use steam://run/480//?test=testing;param2=value2; in your browser to try this out GUILayout.Label("SteamApps.GetLaunchQueryParam(\"test\") : " + SteamApps.GetLaunchQueryParam("test")); { ulong BytesDownloaded; ulong BytesTotal; bool ret = SteamApps.GetDlcDownloadProgress((AppId_t)110902, out BytesDownloaded, out BytesTotal); GUILayout.Label("SteamApps.GetDlcDownloadProgress((AppId_t)110902, out BytesDownloaded, out BytesTotal): " + ret + " -- " + BytesDownloaded + " -- " + BytesTotal); } GUILayout.Label("SteamApps.GetAppBuildId(): " + SteamApps.GetAppBuildId()); #if _PS3 if (GUILayout.Button("SteamApps.RegisterActivationCode(\"???\")")) { SteamAPICall_t handle = SteamApps.RegisterActivationCode("???"); new CallResult <RegisterActivationCodeResponse_t>(OnRegisterActivationCodeResponse, handle); new CallResult <AppProofOfPurchaseKeyResponse_t>(OnAppProofOfPurchaseKeyResponse, handle); } #endif }
public void RenderOnGUI() { GUILayout.BeginVertical("box"); m_ScrollPos = GUILayout.BeginScrollView(m_ScrollPos, GUILayout.Width(Screen.width - 215), GUILayout.Height(Screen.height - 33)); GUILayout.Label("BIsSubscribed() : " + SteamApps.BIsSubscribed()); GUILayout.Label("BIsLowViolence() : " + SteamApps.BIsLowViolence()); GUILayout.Label("BIsCybercafe() : " + SteamApps.BIsCybercafe()); GUILayout.Label("BIsVACBanned() : " + SteamApps.BIsVACBanned()); GUILayout.Label("GetCurrentGameLanguage() : " + SteamApps.GetCurrentGameLanguage()); GUILayout.Label("GetAvailableGameLanguages() : " + SteamApps.GetAvailableGameLanguages()); GUILayout.Label("BIsSubscribedApp(SteamUtils.GetAppID()) : " + SteamApps.BIsSubscribedApp(SteamUtils.GetAppID())); GUILayout.Label("BIsDlcInstalled(TestConstants.Instance.k_AppId_PieterwTestDLC) : " + SteamApps.BIsDlcInstalled(TestConstants.Instance.k_AppId_PieterwTestDLC)); GUILayout.Label("GetEarliestPurchaseUnixTime(SteamUtils.GetAppID()) : " + SteamApps.GetEarliestPurchaseUnixTime(SteamUtils.GetAppID())); GUILayout.Label("BIsSubscribedFromFreeWeekend() : " + SteamApps.BIsSubscribedFromFreeWeekend()); GUILayout.Label("GetDLCCount() : " + SteamApps.GetDLCCount()); for (int iDLC = 0; iDLC < SteamApps.GetDLCCount(); ++iDLC) { AppId_t AppID; bool Available; string Name; bool ret = SteamApps.BGetDLCDataByIndex(iDLC, out AppID, out Available, out Name, 128); GUILayout.Label("BGetDLCDataByIndex(" + iDLC + ", out AppID, out Available, out Name, 128) : " + ret + " -- " + AppID + " -- " + Available + " -- " + Name); } if (GUILayout.Button("InstallDLC(TestConstants.Instance.k_AppId_PieterwTestDLC)")) { SteamApps.InstallDLC(TestConstants.Instance.k_AppId_PieterwTestDLC); print("SteamApps.InstallDLC(" + TestConstants.Instance.k_AppId_PieterwTestDLC + ")"); } if (GUILayout.Button("UninstallDLC(TestConstants.Instance.k_AppId_PieterwTestDLC)")) { SteamApps.UninstallDLC(TestConstants.Instance.k_AppId_PieterwTestDLC); print("SteamApps.UninstallDLC(" + TestConstants.Instance.k_AppId_PieterwTestDLC + ")"); } if (GUILayout.Button("RequestAppProofOfPurchaseKey(SteamUtils.GetAppID())")) { SteamApps.RequestAppProofOfPurchaseKey(SteamUtils.GetAppID()); print("SteamApps.RequestAppProofOfPurchaseKey(" + SteamUtils.GetAppID() + ")"); } { string Name; bool ret = SteamApps.GetCurrentBetaName(out Name, 128); if (Name == null) { Name = ""; } GUILayout.Label("GetCurrentBetaName(out Name, 128) : " + ret + " -- " + Name); } if (GUILayout.Button("MarkContentCorrupt(true)")) { bool ret = SteamApps.MarkContentCorrupt(true); print("SteamApps.MarkContentCorrupt(" + true + ") : " + ret); } if (GUILayout.Button("SteamApps.GetInstalledDepots(SteamUtils.GetAppID(), Depots, 32)")) { DepotId_t[] Depots = new DepotId_t[32]; uint ret = SteamApps.GetInstalledDepots(SteamUtils.GetAppID(), Depots, 32); for (int i = 0; i < ret; ++i) { print("SteamApps.GetInstalledDepots(SteamUtils.GetAppID(), Depots, 32) : " + ret + " -- #" + i + " -- " + Depots[i]); } } { string Folder; uint ret = SteamApps.GetAppInstallDir(SteamUtils.GetAppID(), out Folder, 260); if (Folder == null) { Folder = ""; } GUILayout.Label("GetAppInstallDir(SteamUtils.GetAppID(), out Folder, 260) : " + ret + " -- " + Folder); } GUILayout.Label("BIsAppInstalled(SteamUtils.GetAppID()) : " + SteamApps.BIsAppInstalled(SteamUtils.GetAppID())); GUILayout.Label("GetAppOwner() : " + SteamApps.GetAppOwner()); { // Run the test and then use steam://run/480//?test=testing;param2=value2; in your browser to try this out string ret = SteamApps.GetLaunchQueryParam("test"); GUILayout.Label("GetLaunchQueryParam(\"test\") : " + ret); } { ulong BytesDownloaded; ulong BytesTotal; bool ret = SteamApps.GetDlcDownloadProgress(TestConstants.Instance.k_AppId_PieterwTestDLC, out BytesDownloaded, out BytesTotal); GUILayout.Label("GetDlcDownloadProgress(TestConstants.Instance.k_AppId_PieterwTestDLC, out BytesDownloaded, out BytesTotal) : " + ret + " -- " + BytesDownloaded + " -- " + BytesTotal); } GUILayout.Label("GetAppBuildId() : " + SteamApps.GetAppBuildId()); if (GUILayout.Button("RequestAllProofOfPurchaseKeys()")) { SteamApps.RequestAllProofOfPurchaseKeys(); print("SteamApps.RequestAllProofOfPurchaseKeys()"); } if (GUILayout.Button("GetFileDetails(\"steam_api.dll\")")) { SteamAPICall_t handle = SteamApps.GetFileDetails("steam_api.dll"); OnFileDetailsResultCallResult.Set(handle); print("SteamApps.GetFileDetails(" + "\"steam_api.dll\"" + ") : " + handle); } { string CommandLine; int ret = SteamApps.GetLaunchCommandLine(out CommandLine, 260); if (CommandLine == null) { CommandLine = ""; } GUILayout.Label("GetLaunchCommandLine(out CommandLine, 260) : " + ret + " -- " + CommandLine); } GUILayout.Label("BIsSubscribedFromFamilySharing() : " + SteamApps.BIsSubscribedFromFamilySharing()); GUILayout.EndScrollView(); GUILayout.EndVertical(); }
public List <SteamLaunchableApp> GetAppsWithMetadata(UInt64[] AppIDs = null) { //UInt32[] appIDs = GetClientAppIds(); List <SteamLaunchableApp> apps = new List <SteamLaunchableApp>(); //SteamAppInfoDataFile dataFile = SteamAppInfoDataFile.Read(GetAppCacheAppInfoFile()); SteamAppInfoDataFile dataFile = SteamAppInfoDataFile.GetSteamAppInfoDataFile(); /*dataFile.chunks * .Where(chunk => chunk.data != null && chunk.data.Properties != null && chunk.data.Properties.Count > 0) * //.Select(chunk => ((BVStringToken)((BVPropertyCollection)((BVPropertyCollection)chunk.data?["appinfo"])?["common"])?["type"])?.Value?.ToLowerInvariant()) * .Select(chunk => ((BVStringToken)((BVPropertyCollection)((BVPropertyCollection)chunk.data?["appinfo"])?["common"])?["releasestate"])?.Value?.ToLowerInvariant()) * .Distinct() * .OrderBy(dr => dr) * .ToList() * .ForEach(dr => * { * Console.WriteLine(dr); * });*/ dataFile.chunks .ForEach(chunk => { if (chunk.data != null && chunk.data.Properties != null && chunk.data.Properties.Count > 0 && ((AppIDs?.Length ?? 0) == 0 || AppIDs.Contains(chunk.AppID))) { BVPropertyCollection appinfo = ((BVPropertyCollection)chunk.data?["appinfo"]); BVPropertyCollection common = ((BVPropertyCollection)appinfo?["common"]); BVPropertyCollection extended = ((BVPropertyCollection)appinfo?["extended"]); string type = common?["type"]?.GetValue <string>()?.ToLowerInvariant(); //if (type == "demo" || type == "game") if (!string.IsNullOrWhiteSpace(type) && type != "config") { bool isInstalled = SteamApps.BIsAppInstalled(chunk.AppID); bool isSubscribed = SteamApps.BIsSubscribedApp(chunk.AppID); string name = common?["name"]?.GetValue <string>(); //string oslist = common?["oslist"]?.GetValue<string>(); //string icon = common?["icon"]?.GetValue<string>(); //string clienttga = common?["clienttga"]?.GetValue<string>(); string clienticon = common?["clienticon"]?.GetValue <string>(); //string logo = common?["logo"]?.GetValue<string>(); //string logo_small = common?["logo_small"]?.GetValue<string>(); //string releasestate = common?["releasestate"]?.GetValue<string>(); //string linuxclienticon = common?["linuxclienticon"]?.GetValue<string>(); //string controller_support = common?["controller_support"]?.GetValue<string>(); //string clienticns = common?["clienticns"]?.GetValue<string>(); //int metacritic_score = ((BVInt32Token)common?["metacritic_score"])?.Value ?? -1; //string metacritic_name = common?["metacritic_name"]?.GetValue<string>(); //BVPropertyCollection small_capsule = ((BVPropertyCollection)common?["small_capsule"]); //BVPropertyCollection header_image = ((BVPropertyCollection)common?["header_image"]); //BVPropertyCollection languages = ((BVPropertyCollection)common?["languages"]); //bool community_visible_stats = common?["community_visible_stats"]?.GetValue<string>() == "1"; //bool community_hub_visible = common?["community_hub_visible"]?.GetValue<string>() == "1"; //bool workshop_visible = common?["workshop_visible"]?.GetValue<string>() == "1"; //bool exfgls = common?["exfgls"]?.GetValue<string>() == "1"; //string gamedir = extended?["gamedir"]?.GetValue<string>(); List <string> developer = new List <string>(); List <string> publisher = new List <string>(); //string homepage = extended?["homepage"]?.GetValue<string>(); //string gamemanualurl = extended?["gamemanualurl"]?.GetValue<string>(); //bool showcdkeyonlaunch = extended?["showcdkeyonlaunch"]?.GetValue<string>() == "1"; //bool dlcavailableonstore = extended?["dlcavailableonstore"]?.GetValue<string>() == "1"; { List <BVProperty> props = (common?["associations"] as BVPropertyCollection)?.Properties; if (props != null) { foreach (BVProperty element in props) { string elemType = (element.Value as BVPropertyCollection)?["type"].GetValue <string>(); string elemVal = (element.Value as BVPropertyCollection)?["name"].GetValue <string>(); if (string.IsNullOrWhiteSpace(elemVal)) { continue; } if (elemType == "developer") // && string.IsNullOrWhiteSpace(developer)) { developer.Add(elemVal); } if (elemType == "publisher") // && string.IsNullOrWhiteSpace(publisher)) { publisher.Add(elemVal); } } } string extended_dev = extended?["developer"]?.GetValue <string>(); if (developer.Count == 0 && !string.IsNullOrWhiteSpace(extended_dev)) { developer.Add(extended_dev); } string extended_pub = extended?["publisher"]?.GetValue <string>(); if (publisher.Count == 0 && !string.IsNullOrWhiteSpace(extended_pub)) { publisher.Add(extended_pub); } } long?_original_release_date = common?["original_release_date"]?.GetValue <long>(); long?_steam_release_date = common?["steam_release_date"]?.GetValue <long>(); DateTime?original_release_date = _original_release_date.HasValue ? DateTimeOffset.FromUnixTimeSeconds(_original_release_date.Value).UtcDateTime : (DateTime?)null; DateTime?steam_release_date = _steam_release_date.HasValue ? DateTimeOffset.FromUnixTimeSeconds(_steam_release_date.Value).UtcDateTime : (DateTime?)null; BVPropertyCollection library_assets = ((BVPropertyCollection)common?["library_assets"]); bool has_library_capsule = !string.IsNullOrWhiteSpace(library_assets?["library_capsule"]?.GetValue <string>()); bool has_library_hero = !string.IsNullOrWhiteSpace(library_assets?["library_hero"]?.GetValue <string>()); bool has_library_logo = !string.IsNullOrWhiteSpace(library_assets?["library_logo"]?.GetValue <string>()); //Console.WriteLine($"{chunk.AppID}\t{(type ?? string.Empty).PadRight(4)} {(isInstalled ? 1 : 0)} {(isSubscribed ? 1 : 0)} {(releasestate ?? string.Empty).PadRight(11)} {(name ?? string.Empty).PadRight(90)} {(developer ?? string.Empty).PadRight(40)} {(publisher ?? string.Empty)}"); //File.AppendAllText("SteamDump.txt",$"{chunk.appID}\t{(type ?? string.Empty).PadRight(4)} {(isInstalled ? 1 : 0)} {(isSubscribed ? 1 : 0)} {(releasestate ?? string.Empty).PadRight(11)} {(name ?? string.Empty).PadRight(90)} {(developer ?? string.Empty).PadRight(40)} {(publisher ?? string.Empty).PadRight(40)}\r\n"); if (isSubscribed && !string.IsNullOrWhiteSpace(name) && !string.IsNullOrWhiteSpace(type)) { apps.Add(new SteamLaunchableApp(chunk.AppID) { Name = name?.TrimEnd(), appIcon = string.IsNullOrWhiteSpace(clienticon) ? null : Path.Combine(SteamProcessInfo.SteamInstallPath, "steam", "games", clienticon + ".ico"), appType = type, extra_developer = developer.ToArray(), extra_publisher = publisher.ToArray(), extra_has_library_capsule = has_library_capsule, extra_has_library_hero = has_library_hero, extra_has_library_logo = has_library_logo, extra_original_release_date = original_release_date, extra_steam_release_date = steam_release_date, });; } } } }); return(apps); }
public override void OnEnter() { result.Value = SteamApps.BIsAppInstalled((AppId_t)Convert.ToUInt32(appID.Value)); Finish(); }