public SteamWorkshopItem(string key, SteamInfo info) : base() { IsLoading = true; NotesSupported = (noteList != null); Key = key; IsInstalled = true; DateTime dt; _info = info; Title = info.GetValue("title"); if (NotesSupported) { if (noteList.ContainsKey(key)) { Note = noteList[Key]; } } IsInitializing = false; if (DateTime.TryParse(info.GetValue("publish_time_readable"), out dt)) { PublishTime = dt; } BeginPoolInvoke(LoadWorkshopPage); }
public static string[] GetSteamLibraryFolders() { List <string> retVal = new List <string>(); var steamFolder = GetSteamInstallFolder(); if (Directory.Exists(steamFolder)) { retVal.Add(steamFolder); string libraryListFileName = Path.Combine(steamFolder, SteamAppsRelativeFolder, SteamLibraryFolderList); if (File.Exists(libraryListFileName)) { var info = new SteamInfo(libraryListFileName); foreach (var key in info.GetKeys()) { int libraryNumber = 0; if (int.TryParse(key, out libraryNumber)) { retVal.Add(info.GetValue(key)); } } } } return(retVal.ToArray()); }
public static SteamWorkshopItem[] GetHLAWorkshopList() { List <SteamWorkshopItem> retVal = new List <SteamWorkshopItem>(); string folder = GetHLAWorkshopFolder(); if (!string.IsNullOrEmpty(folder) && Directory.Exists(folder)) { foreach (var dir in new DirectoryInfo(folder).GetDirectories()) { string key = dir.Name; string workshopFile = Path.Combine(folder, key, WorkshopInfoFile); string vpkFile = GetVPKFile(key); if (File.Exists(vpkFile)) { if (File.Exists(workshopFile)) { var info = new SteamInfo(workshopFile); var data = new SteamWorkshopItem(key, info); data.LoadCompleted += Data_LoadCompleted; retVal.Add(data); //totalAddOns++; } else { var data = new SteamWorkshopItem(key); data.LoadCompleted += Data_LoadCompleted; retVal.Add(data); //totalAddOns++; } } } } return(retVal.ToArray()); }