Exemplo n.º 1
0
 public static bool CreateMainPanelOverride(object __instance)
 {
     try
     {
         var panelType    = KlyteUtils.RunPrivateMethod <Type>(__instance, "GetDefaultClassForMainPanel");
         var textureAtlas = KlyteUtils.RunPrivateMethod <UITextureAtlas>(__instance, "GetTextureAtlasForIcon");
         var iconName     = KlyteUtils.RunPrivateMethod <string>(__instance, "GetIconName");
         var tabWidth     = KlyteUtils.RunPrivateMethod <int>(__instance, "GetTabWidth");
         var tooltipText  = KlyteUtils.RunPrivateMethod <string>(__instance, "GetTooltipText");
         var enumValue    = (ModTab)Enum.Parse(typeof(ModTab), KlyteUtils.RunPrivateMethod <string>(__instance, "GetEnumName"));
         KlyteModsPanel.instance.AddTab(enumValue, panelType, textureAtlas, iconName, tooltipText, (x, y) => { if (y)
                                                                                                               {
                                                                                                                   KlyteUtils.ExecuteReflectionMethod(__instance, "ShowVersionInfoPopup");
                                                                                                               }
                                        }, tabWidth);
         return(false);
     }
     catch (Exception e)
     {
         KlyteUtils.doErrorLog($"{e.GetType()} detouring {__instance}: {e.Message}\n{e.StackTrace}");
     }
     return(true);
 }