public static void Bootstrap() { if (!bootstrapped) { CODebugBase <LogChannel> .verbose = true; CODebugBase <LogChannel> .EnableChannels(LogChannel.All); bootstrapped = true; } if (initialized) { return; } try { InitModTools(); initialized = true; } catch (Exception e) { DebugOutputPanel.AddMessage(PluginManager.MessageType.Error, e.Message); } }
public void OnEnabled() { try { if (mainWindowObject != null) { return; } CODebugBase <LogChannel> .verbose = true; CODebugBase <LogChannel> .EnableChannels(LogChannel.All); mainObject = new GameObject(ModToolsName); UnityEngine.Object.DontDestroyOnLoad(mainObject); mainWindowObject = new GameObject(ModToolsName + nameof(MainWindow)); UnityEngine.Object.DontDestroyOnLoad(mainWindowObject); var modTools = mainWindowObject.AddComponent <MainWindow>(); modTools.Initialize(); #if DEBUG Test.Create(); #endif string scene = SceneManager.GetActiveScene().name; if (scene != "IntroScreen" && scene != "Startup") { // hot reload: LoadingExtension.Load(); } } catch (Exception e) { DebugOutputPanel.AddMessage(PluginManager.MessageType.Error, e.Message); } }