public static void Load() { //load and init config from file QSEzConfig.LoadConfig(); isExists_SlotExtenderZero = ReflectionHelper.IsNamespaceExists("SlotExtenderZero"); if (isExists_SlotExtenderZero) { BZLogger.Log("SlotExtenderZero found! trying to work together.."); } try { Assembly assembly = Assembly.GetExecutingAssembly(); Harmony.CreateAndPatchAll(assembly, $"BelowZero.{assembly.GetName().Name}.mod"); BZLogger.Log("Harmony Patches installed"); SceneManager.sceneLoaded += new UnityAction <Scene, LoadSceneMode>(OnSceneLoaded); //CoroutineHost.StartCoroutine(WaitForUGUI()); IngameMenuHandler.Main.RegisterOnQuitEvent(OnQuitEvent); } catch (Exception ex) { Debug.LogException(ex); } }
private static void OnSceneLoaded(Scene scene, LoadSceneMode mode) { if (scene.name == "XMenu") { QSEzConfig.InitConfig(); new QSEzCommand(); GameInput.OnBindingsChanged += GameInput_OnBindingsChanged; } }
/* * public static IEnumerator WaitForUGUI() * { * while (!uGUI.isInitialized) * { * yield return new WaitForSeconds(1); * } * * QSEzConfig.InitConfig(); * * new QSEzCommand(); * * GameInput.OnBindingsChanged += GameInput_OnBindingsChanged; * * yield break; * } */ internal static void GameInput_OnBindingsChanged() { isKeyBindigsUpdate = true; //input changed, refreshing key bindings QSEzConfig.InitSLOTKEYS(); if (Instance != null) { Instance.ReadSlotExtenderZeroConfig(); } isKeyBindigsUpdate = false; }