public static string GetModName(UIState prevUi, UIState currUi) { Type uiType = currUi.GetType(); FieldInfo uiLocalmodField = uiType.GetField("localMod", BindingFlags.NonPublic | BindingFlags.Instance); if (uiLocalmodField == null) { LogHelpers.Warn("No 'localMod' field in " + uiType); return(null); } object localmod = uiLocalmodField.GetValue(currUi); if (localmod != null) { return(ModMenuHelpers.GetLocalMod(localmod).name); } else { if (prevUi?.GetType().Name == "UIModBrowser") { return(ModMenuHelpers.GetSelectedModBrowserModName(prevUi)); } } LogHelpers.Alert("No mod loaded."); return(null); }
//////////////// public static TmodFile GetLocalMod(UIState ui) { Type uiType = ui.GetType(); FieldInfo uiLocalmodField = uiType.GetField("localMod", BindingFlags.NonPublic | BindingFlags.Instance); if (uiLocalmodField == null) { LogHelpers.Warn("No 'localMod' field in " + uiType); return(null); } object localmod = uiLocalmodField.GetValue(ui); if (localmod != null) { return(ModMenuHelpers.GetLocalMod(localmod)); } LogHelpers.Alert("No mod loaded."); return(null); }