/// <summary> /// Produces a 'viewer' object for a TmodFile mod file's build.txt data. /// </summary> /// <param name="modfile"></param> /// <returns></returns> public static BuildPropertiesViewer GetBuildPropertiesForModFile(TmodFile modfile) { Type buildPropType = BuildPropertiesViewer.GetBuildPropertiesClassType(); if (buildPropType == null) { LogHelpers.Alert("Could not get `Type` of build properties classes (eventually to get " + modfile.name + " props)"); return((BuildPropertiesViewer)null); } MethodInfo method = buildPropType.GetMethod("ReadModFile", BindingFlags.NonPublic | BindingFlags.Static); if (method == null) { LogHelpers.Alert("Could not get ReadModFile method of build properties class for " + modfile.name); return((BuildPropertiesViewer)null); } object buildProps = method.Invoke(null, new object[] { modfile }); if (buildProps == null) { LogHelpers.Log("BuildProperties has changed."); return((BuildPropertiesViewer)null); } return(new BuildPropertiesViewer(buildProps)); }
/// <summary> /// Produces a 'viewer' object for an active mod file's build.txt data. /// </summary> /// <param name="modName"></param> /// <returns></returns> public static BuildPropertiesViewer GetBuildPropertiesForActiveMod(string modName) { Mod mod = ModLoader.GetMod(modName); if (mod == null) { return(null); } TmodFile modFile; if (!ReflectionHelpers.Get(mod, "File", out modFile) || modFile == null) { return(null); } return(BuildPropertiesViewer.GetBuildPropertiesForModFile(modFile)); }