public void initialize(BetterBudget2 main, UIPanel infoViewPanel)
        {
            this._main             = main;
            this._infoViewPanel    = infoViewPanel;
            this.anchor            = UIAnchorStyle.Bottom | UIAnchorStyle.Left | UIAnchorStyle.Right;
            this.transform.parent  = _infoViewPanel.transform;
            this.relativePosition  = new Vector3(8, _infoViewPanel.height + 2);
            this.size              = new Vector2(_infoViewPanel.width - 16, 0); // size
            this._sliderList       = new List <UIPanel>();
            this._sliderIsOpenList = new List <bool>();
            this.isEditEnabled     = true;
            settings = new BBEmbeddedSaveFile();
            settings.infoViewPanelName = infoViewPanel.name;

            this.isPublicTransportInfoViewPanelAndDidNotApplyFix = false;
            if (infoViewPanel.name.Equals("(Library) PublicTransportInfoViewPanel"))
            {
                this.isPublicTransportInfoViewPanelAndDidNotApplyFix = true;
            }

            //if (infoViewPanel.name.Equals("(Library) WaterInfoViewPanel"))
            //{
            //    this.relativePosition = new Vector3(16, _infoViewPanel.height + 2);
            //}

            UISprite icon = _infoViewPanel.Find("Caption").Find <UISprite>("Icon");

            icon.eventClick += openSelectorPanel;
            icon.BringToFront();
        }
Пример #2
0
        /// <summary>
        /// Loads the mod if in gameplay mode and not in editor.
        /// </summary>
        /// <param name="mode"></param>


        public override void OnLevelLoaded(LoadMode mode)
        {
            _mode = mode;
            // only loads up in gameplay mode
            if (mode != LoadMode.LoadGame && mode != LoadMode.NewGame)
            {
                return;
            }

            // ask for UI information
            UIView view = UIView.GetAView();

            // create container to hold the mod objects
            GameObject goBetterBudget = new GameObject("BetterBudgetMod");

            _betterBudgetPanel = goBetterBudget.AddComponent <BetterBudget2>();
        }
Пример #3
0
        public void initialize(BetterBudget2 main, UICustomBudgetPanel panel, List <UIPanel> sliderList)
        {
            this._main            = main;
            this._panel           = panel;
            this.transform.parent = panel.transform;
            relativePosition      = new Vector3(panel.width, 0);
            int containerHeight = (int)Math.Ceiling(_main._spriteDictionary.Count / 4.0) * 35 + 5;

            size             = new Vector2(400, 135 + containerHeight);
            canFocus         = true;
            isInteractive    = true;
            isVisible        = true;
            backgroundSprite = "MenuPanel2";
            color            = new Color32(255, 255, 255, 255);

            UILabel label = AddUIComponent <UILabel>();

            label.text             = "Custom Budget Editor";
            label.transform.parent = this.transform;
            label.relativePosition = new Vector3((width / 2) - ((label.text.Length / 2) * 8), 12);
            label.name             = "Title";

            // icon
            _icon = AddUIComponent <UISprite>();
            _icon.relativePosition = new Vector3(2, 2);
            _icon.spriteName       = "MoneyThumb";
            _icon.name             = "Icon";
            _icon.size             = new Vector2(40, 40);


            // Drag Handler
            UIDragHandle draghandler = AddUIComponent <UIDragHandle>();

            draghandler.relativePosition = new Vector3(0, 0);
            draghandler.transform.parent = this.transform;
            draghandler.target           = this;
            draghandler.name             = "Drag Handler";
            draghandler.size             = new Vector2(this.width, 41);


            // Quit Button
            _quitButton                  = AddUIComponent <UIButton>();
            _quitButton.name             = "Quit Button";
            _quitButton.normalBgSprite   = "buttonclose";
            _quitButton.pressedBgSprite  = "buttonclosehover";
            _quitButton.hoveredBgSprite  = "buttonclosepressed";
            _quitButton.focusedBgSprite  = "buttonclosehover";
            _quitButton.eventClick      += closePanel;
            _quitButton.size             = new Vector2(36, 36);
            _quitButton.relativePosition = new Vector3(width - 43, 2);

            // container Unselected
            _containerUnselected                     = AddUIComponent <UIPanel>();
            _containerUnselected.name                = "Slider Container Unselected";
            _containerUnselected.backgroundSprite    = "GenericPanel";
            _containerUnselected.relativePosition    = new Vector3(30, 60);
            _containerUnselected.size                = new Vector2(145, containerHeight);
            _containerUnselected.autoLayout          = true;
            _containerUnselected.autoSize            = false;
            _containerUnselected.autoLayoutStart     = LayoutStart.TopLeft;
            _containerUnselected.autoLayoutDirection = LayoutDirection.Horizontal;
            _containerUnselected.autoLayoutPadding   = new RectOffset(5, 0, 5, 0);
            _containerUnselected.wrapLayout          = true;

            // Arrow
            _spriteArrow                  = AddUIComponent <UISprite>();
            _spriteArrow.name             = "Arrow Sprite";
            _spriteArrow.spriteName       = "ArrowRight";
            _spriteArrow.relativePosition = new Vector3(163, 100);
            _spriteArrow.size             = new Vector3(64, 64);

            // container Selected
            _containerSelected                     = AddUIComponent <UIPanel>();
            _containerSelected.name                = "Slider Container Selected";
            _containerSelected.backgroundSprite    = "GenericPanel";
            _containerSelected.relativePosition    = new Vector3(225, 60);
            _containerSelected.size                = new Vector2(145, containerHeight);
            _containerSelected.autoLayout          = true;
            _containerSelected.autoSize            = false;
            _containerSelected.autoLayoutStart     = LayoutStart.TopLeft;
            _containerSelected.autoLayoutDirection = LayoutDirection.Horizontal;
            _containerSelected.autoLayoutPadding   = new RectOffset(5, 0, 5, 0);
            _containerSelected.wrapLayout          = true;

            // budget selected icons
            foreach (UIPanel sliderPanel in sliderList)
            {
                UISprite sprite = _containerSelected.AddUIComponent <UISprite>();
                sprite.name          = sliderPanel.name;
                sprite.spriteName    = _main._spriteDictionary[sliderPanel.name];
                sprite.size          = new Vector2(30, 30);
                sprite.eventClick   += toggleSprite;
                sprite.isInteractive = true;
            }

            // budget unselected icons
            foreach (KeyValuePair <String, String> entry in _main._spriteDictionary)
            {
                if (_containerSelected.Find <UISprite>(entry.Key) == null)
                {
                    UISprite sprite = _containerUnselected.AddUIComponent <UISprite>();
                    sprite.name          = entry.Key;
                    sprite.spriteName    = entry.Value;
                    sprite.size          = new Vector2(30, 30);
                    sprite.eventClick   += toggleSprite;
                    sprite.isInteractive = true;
                }
            }

            // apply changes
            UIButton button = AddUIComponent <UIButton>();

            button.name             = "Apply Button";
            button.size             = new Vector2(340, 30);
            button.relativePosition = new Vector3(30, 75 + containerHeight);
            button.normalBgSprite   = "ButtonMenu";
            button.focusedBgSprite  = "ButtonMenuFocused";
            button.hoveredBgSprite  = "ButtonMenuHovered";
            button.pressedBgSprite  = "ButtonMenuPressed";
            button.text             = "Apply";
            button.textScale        = 1.3f;
            button.eventClick      += applyChanges;
        }
        public void initialize(BetterBudget2 main, BBCustomSaveFile settings)
        {
            this._main = main;
            _main.addCustomPanel(this);
            this.settings         = new BBCustomSaveFile();
            this._timer           = new List <int>();
            this.relativePosition = new Vector3(settings.x, settings.y);
            this.isEditEnabled    = true;
            this.name             = "Custom Budget Panel";
            this.size             = new Vector2(settings.width, 46);
            this.mode             = Mode.Default;
            this.opacity          = settings.opacity;
            _sliderList           = new List <UIPanel>();
            backgroundSprite      = "MenuPanel2";

            // title
            title                  = AddUIComponent <UILabel>();
            title.text             = "Custom Budget Panel";
            title.relativePosition = new Vector3((width / 2) - ((title.text.Length / 2) * 8), 12);
            title.name             = "Title";


            // Drag Handler
            draghandler = AddUIComponent <UIDragHandle>();
            draghandler.relativePosition = new Vector3(0, 0);
            draghandler.target           = this;
            draghandler.name             = "Drag Handler";
            draghandler.size             = new Vector2(this.width, 41);

            // Resize Handler
            //resizehandler = AddUIComponent<UIResizeHandle>();
            //resizehandler.edges = UIResizeHandle.ResizeEdge.Right;

            // Quit Button
            quitButton                  = AddUIComponent <UIButton>();
            quitButton.name             = "Quit Button";
            quitButton.normalBgSprite   = "buttonclose";
            quitButton.pressedBgSprite  = "buttonclosehover";
            quitButton.hoveredBgSprite  = "buttonclosepressed";
            quitButton.focusedBgSprite  = "buttonclosehover";
            quitButton.eventClick      += deleteCustomPanel;
            quitButton.size             = new Vector2(36, 36);
            quitButton.relativePosition = new Vector3(width - 43, 2);

            // icon
            icon = AddUIComponent <UISprite>();
            icon.relativePosition = new Vector3(2, 2);
            icon.spriteName       = "MoneyThumb";
            icon.name             = "Icon";
            icon.size             = new Vector2(40, 40);
            icon.eventClicked    += openSelectorPanel;
            icon.BringToFront();

            if (settings.budgetSliderNameList.Count > 0)
            {
                setSliderPanel(settings.budgetSliderNameList.ToArray());

                // required on load
                while (mode != settings.mode)
                {
                    toggleMode();
                }
            }

            this.settings = settings; // ensures that settings are saved across sessions even if some expansions and their budgets may be disabled
        }