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(); }
/// <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>(); }
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 }