private static void TryAppendOverrideVersion(StringBuilder builder, ModContentPack modContentPack) { var versionFile = VersionFile.TryParseVersionFile(modContentPack); if (versionFile != null && versionFile.OverrideVersion != null) { builder.AppendFormat("[ov:{0}]", versionFile.OverrideVersion); } }
/// <summary> /// Return the override version from the Version.xml file if specified, /// or the higher one between AssemblyVersion and AssemblyFileVersion /// </summary> public virtual Version GetVersion() { var file = VersionFile.TryParseVersionFile(ModContentPack); if (file != null && file.OverrideVersion != null) { return(file.OverrideVersion); } return(VersionInfo.HighestVersion); }
/// <summary> /// Return the override version from the Version.xml file if specified, or the assembly version otherwise /// </summary> public virtual VersionShort GetVersion() { var file = VersionFile.TryParseVersionFile(ModContentPack); if (file != null && file.OverrideVersion != null) { return(file.OverrideVersion); } return(GetType().Assembly.GetName().Version); }
private static void ReadOwnVersion() { var ownAssembly = typeof(HugsLibController).Assembly; var ownContentPack = LoadedModManager.RunningMods .FirstOrDefault(p => p.assemblies != null && p.assemblies.loadedAssemblies.Contains(ownAssembly)); if (ownContentPack != null) { libraryVersionFile = VersionFile.TryParseVersionFile(ownContentPack); libraryVersionInfo = AssemblyVersionInfo.ReadModAssembly(ownAssembly, ownContentPack); } else { Logger.Error("Failed to identify own ModContentPack"); } }
private static VersionFile ReadOwnVersionFile() { VersionFile file = null; var ownAssembly = typeof(HugsLibController).Assembly; foreach (var modContentPack in LoadedModManager.RunningMods) { foreach (var loadedAssembly in modContentPack.assemblies.loadedAssemblies) { if (!loadedAssembly.Equals(ownAssembly)) { continue; } file = VersionFile.TryParseVersionFile(modContentPack); if (file == null) { Logger.Error("Missing Version.xml file"); } } } return(file); }
private string ListActiveMods() { var builder = new StringBuilder(); builder.Append("Loaded mods:\n"); foreach (var modContentPack in LoadedModManager.RunningMods) { builder.Append(modContentPack.Name); var versionFile = VersionFile.TryParseVersionFile(modContentPack); if (versionFile != null && versionFile.OverrideVersion != null) { builder.AppendFormat("[{0}]: ", versionFile.OverrideVersion); } else { builder.Append(": "); } var firstAssembly = true; var anyAssemblies = false; foreach (var loadedAssembly in modContentPack.assemblies.loadedAssemblies) { if (!firstAssembly) { builder.Append(", "); } firstAssembly = false; builder.Append(loadedAssembly.GetName().Name); builder.AppendFormat("({0})", loadedAssembly.GetName().Version); anyAssemblies = true; } if (!anyAssemblies) { builder.Append("(no assemblies)"); } builder.Append("\n"); } return(builder.ToString()); }