public void PopulateExtended(string modsRootFolder) { var modFolder = Path.Combine(modsRootFolder, ModId); var modFile = $"{modFolder}.mod"; if (string.IsNullOrWhiteSpace(modFolder) || !Directory.Exists(modFolder)) { return; } if (string.IsNullOrWhiteSpace(modFile) || !File.Exists(modFile)) { return; } LastWriteTime = File.GetLastWriteTime(modFile); var modTimeFile = Path.Combine(modFolder, Config.Default.LastUpdatedTimeFile); if (!string.IsNullOrWhiteSpace(modTimeFile) && File.Exists(modTimeFile)) { LastTimeUpdated = ModUtils.GetModLatestTime(modTimeFile); } string modId; Dictionary <string, string> metaInformation; List <string> mapNames; ModUtils.ReadModFile(modFile, out modId, out metaInformation, out mapNames); ModType = metaInformation != null && metaInformation.ContainsKey("ModType") ? metaInformation["ModType"] : ModUtils.MODTYPE_UNKNOWN; MapName = mapNames != null && mapNames.Count > 0 ? mapNames[0] : string.Empty; }
public void PopulateExtended(string modsRootFolder) { try { var modFolder = Path.Combine(modsRootFolder, ModId); var modFile = $"{modFolder}.mod"; if (string.IsNullOrWhiteSpace(modFolder) || !Directory.Exists(modFolder)) { return; } if (string.IsNullOrWhiteSpace(modFile) || !File.Exists(modFile)) { return; } LastWriteTime = File.GetLastWriteTime(modFile); var modTimeFile = Path.Combine(modFolder, Config.Default.LastUpdatedTimeFile); if (!string.IsNullOrWhiteSpace(modTimeFile) && File.Exists(modTimeFile)) { LastTimeUpdated = ModUtils.GetModLatestTime(modTimeFile); } ModUtils.ReadModFile(modFile, out string modId, out Dictionary <string, string> metaInformation, out List <string> mapNames); ModType = metaInformation != null && metaInformation.ContainsKey("ModType") ? metaInformation["ModType"] : ModUtils.MODTYPE_UNKNOWN; MapName = mapNames != null && mapNames.Count > 0 ? mapNames[0] : string.Empty; FolderSize = 0; foreach (var file in new DirectoryInfo(modFolder).GetFiles("*.*", SearchOption.AllDirectories)) { FolderSize += file.Length; } } catch (Exception) { // do nothing } }
public void PopulateExtended(string modsRootFolder) { try { FolderSize = 0; LastWriteTime = DateTime.MinValue; ModType = ModUtils.MODTYPE_UNKNOWN; MapName = string.Empty; if (string.IsNullOrWhiteSpace(modsRootFolder) || !Directory.Exists(modsRootFolder)) { return; } var modFileName = $"{ModId}.pak"; var modFile = Path.Combine(modsRootFolder, modFileName); if (!string.IsNullOrWhiteSpace(modFile) && File.Exists(modFile)) { var file = new FileInfo(modFile); LastWriteTime = file.LastWriteTime; FolderSize += file.Length; ModType = ModUtils.MODTYPE_MOD; } var timeFileName = $"{ModId}.txt"; var modTimeFile = Path.Combine(modsRootFolder, timeFileName); if (!string.IsNullOrWhiteSpace(modTimeFile) && File.Exists(modTimeFile)) { LastTimeUpdated = ModUtils.GetModLatestTime(modTimeFile); } } catch { // do nothing } }