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);
        }
Beispiel #2
0
        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());
        }
Beispiel #3
0
        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());
        }