Ejemplo n.º 1
0
 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();
 }
Ejemplo n.º 2
0
        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}");
            }
        }