public static void Initialize() { LivingMove = new LivingMoveOrderInputHandler(); LogoSkipper = new LogoSkip(); MiningAction = new MiningActionHandler(); TillingAction = new TillingActionHandler(); StrafingHandler = new StrafeHandler(); EscHandler = new EscapeHandler(); ChopAction = new ChopActionHandler(); LivingMenuHandler = new LivingMenuHandler(); DragHandler = new ContainerDragHandler(); ActionMenu = new ActionMenuHandler(); }
private IEnumerator WaitForStyleInit() { while (myStyleEngine == null) { yield return(null); var qmHolder = UnityUtils.FindInactiveObjectInActiveRoot("UserInterface/Canvas_QuickMenu(Clone)"); if (qmHolder == null) { continue; } var styleEngine = qmHolder.GetComponent <StyleEngine>(); if (styleEngine != null) { myStyleEngine = new StyleEngineWrapper(styleEngine); } } // not necessary in 1200? /*var initCandidates = typeof(StyleEngine).GetMethods(BindingFlags.Instance | BindingFlags.Public | BindingFlags.DeclaredOnly) * .Where(it => it.Name.StartsWith("Method_Public_Void_") && it.GetParameters().Length == 0 && !it.Name.Contains("_PDM_")).ToList(); * * var initMethods = initCandidates.Where(it => * XrefScanner.XrefScan(it).Any(jt => * jt.Type == XrefType.Global && jt.ReadAsObject()?.ToString() == "style-sheet")).ToList(); * * var initMethod = initMethods.Count == 1 ? initMethods[0] : null; * * if (initMethod == null) * MelonLogger.Warning("No Init method on StyleEngine, will wait for natural init"); * else * initMethod.Invoke(myStyleEngine.StyleEngine, Array.Empty<object>());*/ while (myStyleEngine.StyleEngine.field_Private_List_1_ElementStyle_0.Count == 0) { yield return(null); } myStyleEngine.BackupDefaultStyle(); myStylesLoader = new StylesLoader(myStyleEngine, mySettings); try { myLasersHandler = new UiLasersHandler(mySettings); } catch (Exception ex) { MelonLogger.Error($"UI Laser recoloring handler failed to initialize: {ex}"); } try { myActionMenuHandler = new ActionMenuHandler(mySettings); } catch (Exception ex) { MelonLogger.Error($"Action Menu recoloring handler failed to initialize: {ex}"); } }