Ejemplo n.º 1
0
        public void Initialize(PopupMenu oldPopupMenu, Selectable defaultSelectable, SubmitAction resetAction,
                               ButtonWithHotkeyImageElement resetButton, IModLayoutManager layout, IModInputHandler inputHandler)
        {
            _inputHandler = inputHandler;
            var fields = typeof(PopupMenu).GetFields(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance).ToList();

            fields.ForEach(field => field.SetValue(this, field.GetValue(oldPopupMenu)));
            _selectOnActivate = defaultSelectable;
            _resetAction      = resetAction;
            _resetButton      = resetButton;
            _initialized      = false;
            Layout            = layout;
            InitializeMenu();
        }
Ejemplo n.º 2
0
        public ModLayoutButton(Button button, IModMenu menu) : base(button, menu)
        {
            var scale = button.transform.localScale;

            Object.Destroy(Button.GetComponentInChildren <Text>(true).gameObject);
            var layoutObject = new GameObject("LayoutGroup", typeof(RectTransform));

            layoutObject.transform.SetParent(button.transform);
            var target = layoutObject.AddComponent <Image>();

            target.raycastTarget = true;
            target.color         = Color.clear;
            var layoutGroup = layoutObject.AddComponent <HorizontalLayoutGroup>();

            Initialize(menu);
            layoutGroup.childControlWidth      = false;
            layoutGroup.childControlHeight     = false;
            layoutGroup.childForceExpandHeight = false;
            layoutGroup.childForceExpandWidth  = false;
            var styleManager = Object.FindObjectOfType <UIStyleManager>();
            var styleApplier = ModUIStyleApplier.ReplaceStyleApplier(Button.gameObject);

            Layout = new ModLayoutManager(layoutGroup, styleManager, styleApplier, scale);
        }