// runs only once, do internal init here public override void Awake() { base.Awake(); // Note - parent may not be set yet ScrollPanel = AddUIComponent <UIScrollablePanel>(); ScrollBar = AddUIComponent <UIScrollbar>(); TrackSprite = ScrollBar.AddUIComponent <UISlicedSprite>(); ThumbSprite = TrackSprite.AddUIComponent <UISlicedSprite>(); }
public override void Start() { base.Start(); this.autoLayoutDirection = LayoutDirection.Horizontal; this.autoLayoutStart = LayoutStart.TopLeft; this.autoLayoutPadding = new RectOffset(0, 0, 0, 0); this.autoLayout = true; this._scrollablePanel = this.AddUIComponent <UIScrollablePanel>(); this._scrollablePanel.width = this.width - 10f; this._scrollablePanel.height = this.height; this._scrollablePanel.autoLayoutDirection = LayoutDirection.Vertical; this._scrollablePanel.autoLayoutStart = LayoutStart.TopLeft; this._scrollablePanel.autoLayoutPadding = new RectOffset(0, 0, 0, 0); this._scrollablePanel.autoLayout = true; this._scrollablePanel.clipChildren = true; this._scrollablePanel.backgroundSprite = "UnlockingPanel"; this._scrollablePanel.color = (Color32)Color.black; UIPanel uiPanel = this.AddUIComponent <UIPanel>(); uiPanel.width = 10f; uiPanel.height = this.height; uiPanel.autoLayoutDirection = LayoutDirection.Horizontal; uiPanel.autoLayoutStart = LayoutStart.TopLeft; uiPanel.autoLayoutPadding = new RectOffset(0, 0, 0, 0); uiPanel.autoLayout = true; UIScrollbar scrollbar = uiPanel.AddUIComponent <UIScrollbar>(); scrollbar.width = 10f; scrollbar.height = scrollbar.parent.height; scrollbar.orientation = UIOrientation.Vertical; scrollbar.pivot = UIPivotPoint.BottomLeft; scrollbar.AlignTo((UIComponent)uiPanel, UIAlignAnchor.TopRight); scrollbar.minValue = 0.0f; scrollbar.value = 0.0f; scrollbar.incrementAmount = 27f; this._scrollbar = scrollbar; UISlicedSprite uiSlicedSprite1 = scrollbar.AddUIComponent <UISlicedSprite>(); uiSlicedSprite1.relativePosition = (Vector3)Vector2.zero; uiSlicedSprite1.autoSize = true; uiSlicedSprite1.size = uiSlicedSprite1.parent.size; uiSlicedSprite1.fillDirection = UIFillDirection.Vertical; uiSlicedSprite1.spriteName = "ScrollbarTrack"; scrollbar.trackObject = (UIComponent)uiSlicedSprite1; UISlicedSprite uiSlicedSprite2 = uiSlicedSprite1.AddUIComponent <UISlicedSprite>(); uiSlicedSprite2.relativePosition = (Vector3)Vector2.zero; uiSlicedSprite2.fillDirection = UIFillDirection.Vertical; uiSlicedSprite2.autoSize = true; uiSlicedSprite2.width = uiSlicedSprite2.parent.width - 4f; uiSlicedSprite2.spriteName = "ScrollbarThumb"; scrollbar.thumbObject = (UIComponent)uiSlicedSprite2; this._scrollablePanel.verticalScrollbar = scrollbar; this._scrollablePanel.eventMouseWheel += (MouseEventHandler)((component, param) => this._scrollablePanel.scrollPosition += new Vector2(0.0f, Mathf.Sign(param.wheelDelta) * -1f * scrollbar.incrementAmount)); }
/// <summary> /// Creates a vertical scrollbar /// </summary> /// <param name="parent">Parent component</param> /// <param name="scrollPanel">Panel to scroll</param> /// <returns></returns> public static UIScrollbar AddScrollbar(UIComponent parent, UIScrollablePanel scrollPanel) { // Basic setup. UIScrollbar newScrollbar = parent.AddUIComponent <UIScrollbar>(); newScrollbar.orientation = UIOrientation.Vertical; newScrollbar.pivot = UIPivotPoint.TopLeft; newScrollbar.minValue = 0; newScrollbar.value = 0; newScrollbar.incrementAmount = 50f; newScrollbar.autoHide = true; newScrollbar.width = 10f; // Tracking sprite. UISlicedSprite trackSprite = newScrollbar.AddUIComponent <UISlicedSprite>(); trackSprite.relativePosition = Vector2.zero; trackSprite.autoSize = true; trackSprite.anchor = UIAnchorStyle.All; trackSprite.size = trackSprite.parent.size; trackSprite.fillDirection = UIFillDirection.Vertical; trackSprite.spriteName = "ScrollbarTrack"; newScrollbar.trackObject = trackSprite; // Thumb sprite. UISlicedSprite thumbSprite = trackSprite.AddUIComponent <UISlicedSprite>(); thumbSprite.relativePosition = Vector2.zero; thumbSprite.fillDirection = UIFillDirection.Vertical; thumbSprite.autoSize = true; thumbSprite.width = thumbSprite.parent.width; thumbSprite.spriteName = "ScrollbarThumb"; newScrollbar.thumbObject = thumbSprite; // Event handler - scroll panel. newScrollbar.eventValueChanged += (component, value) => scrollPanel.scrollPosition = new Vector2(0, value); // Event handler - mouse wheel (scrollbar and panel). parent.eventMouseWheel += (component, mouseEvent) => newScrollbar.value -= mouseEvent.wheelDelta * newScrollbar.incrementAmount; scrollPanel.eventMouseWheel += (component, mouseEvent) => newScrollbar.value -= mouseEvent.wheelDelta * newScrollbar.incrementAmount; // Event handler to handle resize of scroll panel. scrollPanel.eventSizeChanged += (component, newSize) => { newScrollbar.relativePosition += new Vector3(scrollPanel.width, 0); newScrollbar.height = scrollPanel.height; }; // Attach to scroll panel. scrollPanel.verticalScrollbar = newScrollbar; return(newScrollbar); }
private UIScrollbar CreateVerticalScrollbar(UIPanel panel, UIScrollablePanel scrollablePanel) { UIScrollbar verticalScrollbar = panel.AddUIComponent <UIScrollbar>(); verticalScrollbar.name = "VerticalScrollbar"; verticalScrollbar.width = V_SCROLLBAR_WIDTH; verticalScrollbar.height = tabPages.height; verticalScrollbar.orientation = UIOrientation.Vertical; verticalScrollbar.pivot = UIPivotPoint.TopLeft; verticalScrollbar.AlignTo(panel, UIAlignAnchor.TopRight); verticalScrollbar.minValue = 0; verticalScrollbar.value = 0; verticalScrollbar.incrementAmount = 50; verticalScrollbar.autoHide = true; UISlicedSprite trackSprite = verticalScrollbar.AddUIComponent <UISlicedSprite>(); trackSprite.relativePosition = Vector2.zero; trackSprite.autoSize = true; trackSprite.size = trackSprite.parent.size; trackSprite.fillDirection = UIFillDirection.Vertical; trackSprite.spriteName = "ScrollbarTrack"; verticalScrollbar.trackObject = trackSprite; UISlicedSprite thumbSprite = trackSprite.AddUIComponent <UISlicedSprite>(); thumbSprite.relativePosition = Vector2.zero; thumbSprite.fillDirection = UIFillDirection.Vertical; thumbSprite.autoSize = true; thumbSprite.width = thumbSprite.parent.width; thumbSprite.spriteName = "ScrollbarThumb"; verticalScrollbar.thumbObject = thumbSprite; verticalScrollbar.eventValueChanged += (component, value) => { scrollablePanel.scrollPosition = new Vector2(0, value); }; panel.eventMouseWheel += (component, eventParam) => { verticalScrollbar.value -= (int)eventParam.wheelDelta * verticalScrollbar.incrementAmount; }; scrollablePanel.eventMouseWheel += (component, eventParam) => { verticalScrollbar.value -= (int)eventParam.wheelDelta * verticalScrollbar.incrementAmount; }; scrollablePanel.verticalScrollbar = verticalScrollbar; return(verticalScrollbar); }
protected override void OnSizeChanged() { base.OnSizeChanged(); if (height > itemHeight && scrollbar == null) { DestroyScrollbars(parent); // Scrollbar UIScrollbar scroll = parent.AddUIComponent <UIScrollbar>(); scroll.width = 20f; scroll.height = parent.parent.height; scroll.orientation = UIOrientation.Vertical; scroll.pivot = UIPivotPoint.BottomLeft; scroll.thumbPadding = new RectOffset(0, 0, 5, 5); scroll.AlignTo(scroll.parent, UIAlignAnchor.TopRight); scroll.minValue = 0; scroll.value = 0; scroll.incrementAmount = 50; UISlicedSprite tracSprite = scroll.AddUIComponent <UISlicedSprite>(); tracSprite.relativePosition = Vector2.zero; tracSprite.autoSize = true; tracSprite.size = tracSprite.parent.size; tracSprite.fillDirection = UIFillDirection.Vertical; tracSprite.spriteName = "ScrollbarTrack"; scroll.trackObject = tracSprite; UISlicedSprite thumbSprite = tracSprite.AddUIComponent <UISlicedSprite>(); thumbSprite.relativePosition = Vector2.zero; thumbSprite.fillDirection = UIFillDirection.Vertical; thumbSprite.autoSize = true; thumbSprite.width = thumbSprite.parent.width - 8; thumbSprite.spriteName = "ScrollbarThumb"; scroll.thumbObject = thumbSprite; scrollbar = scroll; } else if (height <= itemHeight && scrollbar != null) { DestroyScrollbars(parent); } }
public static UIScrollablePanel CreateScrollBox(UIComponent parent, UITextureAtlas atlas_a) { //code from tmpe UIScrollablePanel scrollablePanel = parent.AddUIComponent <UIScrollablePanel>(); scrollablePanel.backgroundSprite = string.Empty; scrollablePanel.size = new Vector2(130, 240); scrollablePanel.relativePosition = new Vector3(0, 0); scrollablePanel.clipChildren = true; scrollablePanel.FitTo(parent); scrollablePanel.scrollWheelDirection = UIOrientation.Vertical; scrollablePanel.builtinKeyNavigation = true; UIScrollbar verticalScroll = parent.AddUIComponent <UIScrollbar>(); verticalScroll.stepSize = 1; verticalScroll.relativePosition = new Vector2(parent.width - 15, 0); verticalScroll.orientation = UIOrientation.Vertical; verticalScroll.size = new Vector2(20, parent.size.y); verticalScroll.incrementAmount = 25; verticalScroll.scrollEasingType = EasingType.BackEaseOut; scrollablePanel.verticalScrollbar = verticalScroll; UISlicedSprite track = verticalScroll.AddUIComponent <UISlicedSprite>(); track.spriteName = "ScrollbarTrack"; track.relativePosition = Vector3.zero; track.size = new Vector2(16, parent.size.y); verticalScroll.trackObject = track; UISlicedSprite thumb = track.AddUIComponent <UISlicedSprite>(); thumb.spriteName = "ScrollbarThumb"; thumb.autoSize = true; thumb.relativePosition = Vector3.zero; verticalScroll.thumbObject = thumb; return(scrollablePanel); }
private void SetupControls() { if (m_panel != null) { return; } // Panel m_panel = AddUIComponent <UIPanel>(); m_panel.width = width - 10f; m_panel.height = height; m_panel.backgroundSprite = m_backgroundSprite; m_panel.color = m_color; m_panel.clipChildren = true; m_panel.relativePosition = Vector2.zero; // Scrollbar m_scrollbar = AddUIComponent <UIScrollbar>(); m_scrollbar.width = 20f; m_scrollbar.height = height; m_scrollbar.orientation = UIOrientation.Vertical; m_scrollbar.pivot = UIPivotPoint.BottomLeft; m_scrollbar.AlignTo(this, UIAlignAnchor.TopRight); m_scrollbar.minValue = 0; m_scrollbar.value = 0; m_scrollbar.incrementAmount = 50; UISlicedSprite tracSprite = m_scrollbar.AddUIComponent <UISlicedSprite>(); tracSprite.relativePosition = Vector2.zero; tracSprite.autoSize = true; tracSprite.size = tracSprite.parent.size; tracSprite.fillDirection = UIFillDirection.Vertical; tracSprite.spriteName = "ScrollbarTrack"; m_scrollbar.trackObject = tracSprite; UISlicedSprite thumbSprite = tracSprite.AddUIComponent <UISlicedSprite>(); thumbSprite.relativePosition = Vector2.zero; thumbSprite.fillDirection = UIFillDirection.Vertical; thumbSprite.autoSize = true; thumbSprite.width = thumbSprite.parent.width - 8; thumbSprite.spriteName = "ScrollbarThumb"; m_scrollbar.thumbObject = thumbSprite; // Rows CheckRows(); m_scrollbar.eventValueChanged += (c, t) => { if (m_lock || m_rowHeight <= 0) { return; } m_lock = true; listPosition = m_scrollbar.value * (m_rowsData.m_size - height / m_rowHeight) / (height - m_scrollbar.scrollSize - 1f); m_lock = false; }; }
public void Initialize() { DebugLog.LogToFileOnly("IncompatibleModsPanel initialize"); isVisible = true; backgroundSprite = "MenuPanel3"; color = new Color32(75, 75, 135, 255); width = 600; height = 440; Vector2 resolution = UIView.GetAView().GetScreenResolution(); relativePosition = new Vector3(resolution.x / 2 - 300, resolution.y / 3); warningIcon = AddUIComponent <UISprite>(); warningIcon.size = new Vector2(40f, 40f); warningIcon.spriteName = "IconWarning"; warningIcon.relativePosition = new Vector3(15, 15); warningIcon.zOrder = 0; title = AddUIComponent <UILabel>(); title.autoSize = true; title.padding = new RectOffset(10, 10, 15, 15); title.relativePosition = new Vector2(60, 12); title.text = Localization.Get("INCOMPATIBILITY_CHECK_TIP"); UIPanel panel = AddUIComponent <UIPanel>(); panel.relativePosition = new Vector2(20, 70); panel.size = new Vector2(565, 320); UIScrollablePanel scrollablePanel = panel.AddUIComponent <UIScrollablePanel>(); scrollablePanel.backgroundSprite = ""; scrollablePanel.size = new Vector2(550, 340); scrollablePanel.relativePosition = new Vector3(0, 0); scrollablePanel.clipChildren = true; if (IncompatibleMods.Count != 0) { int acc = 0; UIPanel item; IncompatibleMods.ForEach((pair) => { item = CreateEntry(ref scrollablePanel, pair.Value, pair.Key); item.relativePosition = new Vector2(0, acc); item.size = new Vector2(560, 50); acc += 50; }); item = null; } scrollablePanel.FitTo(panel); scrollablePanel.scrollWheelDirection = UIOrientation.Vertical; scrollablePanel.builtinKeyNavigation = true; UIScrollbar verticalScroll = panel.AddUIComponent <UIScrollbar>(); verticalScroll.stepSize = 1; verticalScroll.relativePosition = new Vector2(panel.width - 15, 0); verticalScroll.orientation = UIOrientation.Vertical; verticalScroll.size = new Vector2(20, 320); verticalScroll.incrementAmount = 25; verticalScroll.scrollEasingType = EasingType.BackEaseOut; scrollablePanel.verticalScrollbar = verticalScroll; UISlicedSprite track = verticalScroll.AddUIComponent <UISlicedSprite>(); track.spriteName = "ScrollbarTrack"; track.relativePosition = Vector3.zero; track.size = new Vector2(16, 320); verticalScroll.trackObject = track; UISlicedSprite thumb = track.AddUIComponent <UISlicedSprite>(); thumb.spriteName = "ScrollbarThumb"; thumb.autoSize = true; thumb.relativePosition = Vector3.zero; verticalScroll.thumbObject = thumb; closeButton = AddUIComponent <UIButton>(); closeButton.eventClick += CloseButtonClick; closeButton.relativePosition = new Vector3(width - closeButton.width - 45, 15f); closeButton.normalBgSprite = "buttonclose"; closeButton.hoveredBgSprite = "buttonclosehover"; closeButton.pressedBgSprite = "buttonclosepressed"; BringToFront(); }
public override void Start() { // Generates the following UI: // /NAME-----------\ <-- UIDragHandle // |---------------|-| // | | |<-- _messageBox, _getscrollablepanel // | | | // |---------------| | // | | |<-- _chatText // |---------------|-| // |-|<-- _resize // ^ // ¦-- _scrollbar, _trackingsprite, _trackingthumb backgroundSprite = "GenericPanel"; name = "ChatLogPanel"; color = new Color32(22, 22, 22, 240); // Activates the dragging of the window _draghandle = AddUIComponent <UIDragHandle>(); _draghandle.name = "ChatLogPanelDragHandle"; // Grab the view for calculating width and height of game UIView view = UIView.GetAView(); // Center this window in the game relativePosition = new Vector3(10.0f, view.fixedHeight - 440.0f); width = 500; height = 310; minimumSize = new Vector2(300, 310); // Add resize component _resize = AddUIComponent <UIResizeHandle>(); _resize.position = new Vector2((width - 20), (-height + 10)); _resize.width = 20f; _resize.height = 20f; _resize.color = new Color32(255, 255, 255, 255); _resize.backgroundSprite = "GenericTabPressed"; _resize.name = "ChatLogPanelResize"; // Add scrollable panel component _scrollablepanel = AddUIComponent <UIScrollablePanel>(); _scrollablepanel.width = 490; _scrollablepanel.height = 240; _scrollablepanel.position = new Vector2(10, -30); _scrollablepanel.clipChildren = true; _scrollablepanel.name = "ChatLogPanelScrollablePanel"; // Add title _title = AddUIComponent <UILabel>(); _title.position = new Vector2(10, -5); _title.text = "Multiplayer Chat"; _title.textScale = 0.8f; _title.autoSize = true; _title.name = "ChatLogPanelTitle"; // Add messagebox component _messageBox = _scrollablepanel.AddUIComponent <UILabel>(); _messageBox.isVisible = true; _messageBox.isEnabled = true; _messageBox.autoSize = false; _messageBox.autoHeight = true; _messageBox.width = 470; _messageBox.height = 240; _messageBox.position = new Vector2(10, -30); _messageBox.textScale = 0.8f; _messageBox.wordWrap = true; _messageBox.name = "ChatLogPanelMessageBox"; // Add scrollbar component _scrollbar = AddUIComponent <UIScrollbar>(); _scrollbar.name = "Scrollbar"; _scrollbar.width = 20f; _scrollbar.height = _scrollablepanel.height; _scrollbar.orientation = UIOrientation.Vertical; _scrollbar.pivot = UIPivotPoint.TopLeft; _scrollbar.position = new Vector2(480, -30); _scrollbar.minValue = 0; _scrollbar.value = 0; _scrollbar.incrementAmount = 50; _scrollbar.name = "ChatLogPanelScrollBar"; // Add scrollbar background sprite component _trackingsprite = _scrollbar.AddUIComponent <UISlicedSprite>(); _trackingsprite.position = new Vector2(0, 0); _trackingsprite.autoSize = true; _trackingsprite.size = _trackingsprite.parent.size; _trackingsprite.fillDirection = UIFillDirection.Vertical; _trackingsprite.spriteName = "ScrollbarTrack"; _trackingsprite.name = "ChatLogPanelTrack"; _scrollbar.trackObject = _trackingsprite; _scrollbar.trackObject.height = _scrollbar.height; // Add scrollbar thumb component _trackingthumb = _scrollbar.AddUIComponent <UISlicedSprite>(); _trackingthumb.position = new Vector2(0, 0); _trackingthumb.fillDirection = UIFillDirection.Vertical; _trackingthumb.autoSize = true; _trackingthumb.width = _trackingthumb.parent.width - 8; _trackingthumb.spriteName = "ScrollbarThumb"; _trackingthumb.name = "ChatLogPanelThumb"; _scrollbar.thumbObject = _trackingthumb; _scrollbar.isVisible = true; _scrollbar.isEnabled = true; _scrollablepanel.verticalScrollbar = _scrollbar; // Add text field component (used for inputting) _chatText = (UITextField)AddUIComponent(typeof(UITextField)); _chatText.width = width; _chatText.height = 30; _chatText.position = new Vector2(0, -280); _chatText.atlas = UiHelpers.GetAtlas("Ingame"); _chatText.normalBgSprite = "TextFieldPanelHovered"; _chatText.builtinKeyNavigation = true; _chatText.isInteractive = true; _chatText.readOnly = false; _chatText.horizontalAlignment = UIHorizontalAlignment.Left; _chatText.eventKeyDown += OnChatKeyDown; _chatText.textColor = new Color32(0, 0, 0, 255); _chatText.padding = new RectOffset(6, 6, 6, 6); _chatText.selectionSprite = "EmptySprite"; _chatText.name = "ChatLogPanelChatText"; WelcomeChatMessage(); // Add resizable adjustments eventSizeChanged += (component, param) => { _scrollablepanel.width = (width - 30); _scrollablepanel.height = (height - 70); _messageBox.width = (width - 30); _chatText.width = width; _scrollbar.height = _scrollablepanel.height; _trackingsprite.size = _trackingsprite.parent.size; _chatText.position = new Vector3(0, (-height + 30)); _resize.position = new Vector2((width - 20), (-height + 10)); _scrollbar.position = new Vector2((width - 20), (-30)); }; base.Start(); }
public void SetupScrollPanel() { //this probably needs to exist, otherwise the autoLayout of this UITransportPanel places the scrollbar weird _panelForScrollPanel = AddUIComponent <UIPanel>(); // needed so that the colorpicker finds the right parent _panelForScrollPanel.gameObject.AddComponent <UICustomControl>(); _panelForScrollPanel.width = width - 6; //_captions reporting 450 height? fixed value of 20 _panelForScrollPanel.height = height - _title.height - 20 * 2 - autoLayoutPadding.bottom * 4 - autoLayoutPadding.top * 4; // taken from http://www.reddit.com/r/CitiesSkylinesModding/comments/2zrz0k/extended_public_transport_ui_provides_addtional/cpnet5q _scrollablePanel = _panelForScrollPanel.AddUIComponent <UIScrollablePanel>(); _scrollablePanel.width = _scrollablePanel.parent.width - 5f; _scrollablePanel.height = _scrollablePanel.parent.height; _scrollablePanel.autoLayout = true; _scrollablePanel.autoLayoutDirection = LayoutDirection.Vertical; _scrollablePanel.autoLayoutStart = LayoutStart.TopLeft; _scrollablePanel.autoLayoutPadding = new RectOffset(2, 5, 0, 0); _scrollablePanel.clipChildren = true; _scrollablePanel.pivot = UIPivotPoint.TopLeft; _scrollablePanel.AlignTo(_scrollablePanel.parent, UIAlignAnchor.TopLeft); UIScrollbar scrollbar = _panelForScrollPanel.AddUIComponent <UIScrollbar>(); scrollbar.width = scrollbar.parent.width - _scrollablePanel.width; scrollbar.height = _scrollablePanel.height; scrollbar.orientation = UIOrientation.Vertical; scrollbar.pivot = UIPivotPoint.BottomLeft; scrollbar.AlignTo(scrollbar.parent, UIAlignAnchor.TopRight); scrollbar.minValue = 0; scrollbar.value = 0; scrollbar.incrementAmount = 50; UISlicedSprite tracSprite = scrollbar.AddUIComponent <UISlicedSprite>(); tracSprite.relativePosition = Vector2.zero; tracSprite.autoSize = true; tracSprite.size = tracSprite.parent.size; tracSprite.fillDirection = UIFillDirection.Vertical; tracSprite.spriteName = "ScrollbarTrack"; scrollbar.trackObject = tracSprite; UISlicedSprite thumbSprite = tracSprite.AddUIComponent <UISlicedSprite>(); thumbSprite.relativePosition = Vector2.zero; thumbSprite.fillDirection = UIFillDirection.Vertical; thumbSprite.autoSize = true; thumbSprite.width = thumbSprite.parent.width; thumbSprite.spriteName = "ScrollbarThumb"; scrollbar.thumbObject = thumbSprite; _scrollablePanel.verticalScrollbar = scrollbar; _scrollablePanel.eventMouseWheel += (component, param) => { var sign = Math.Sign(param.wheelDelta); _scrollablePanel.scrollPosition += new Vector2(0, sign * (-1) * 20); }; }
public void Initialize() { Log._Debug("IncompatibleModsPanel initialize"); if (mainPanel != null) { mainPanel.OnDestroy(); } isVisible = true; mainPanel = AddUIComponent <UIPanel>(); mainPanel.backgroundSprite = "UnlockingPanel2"; mainPanel.color = new Color32(75, 75, 135, 255); width = 600; height = 440; mainPanel.width = 600; mainPanel.height = 440; Vector2 resolution = UIView.GetAView().GetScreenResolution(); relativePosition = new Vector3(resolution.x / 2 - 300, resolution.y / 3); mainPanel.relativePosition = Vector3.zero; warningIcon = mainPanel.AddUIComponent <UISprite>(); warningIcon.size = new Vector2(40f, 40f); warningIcon.spriteName = "IconWarning"; warningIcon.relativePosition = new Vector3(15, 15); warningIcon.zOrder = 0; title = mainPanel.AddUIComponent <UILabel>(); title.autoSize = true; title.padding = new RectOffset(10, 10, 15, 15); title.relativePosition = new Vector2(60, 12); title.text = Translation.GetString("Traffic_Manager_detected_incompatible_mods"); closeButton = mainPanel.AddUIComponent <UIButton>(); closeButton.eventClick += CloseButtonClick; closeButton.relativePosition = new Vector3(width - closeButton.width - 45, 15f); closeButton.normalBgSprite = "buttonclose"; closeButton.hoveredBgSprite = "buttonclosehover"; closeButton.pressedBgSprite = "buttonclosepressed"; UIPanel panel = mainPanel.AddUIComponent <UIPanel>(); panel.relativePosition = new Vector2(20, 70); panel.size = new Vector2(565, 320); UIHelper helper = new UIHelper(mainPanel); runModsCheckerOnStartup = helper.AddCheckbox(Translation.GetString("Scan_for_known_incompatible_mods_on_startup"), State.GlobalConfig.Instance.Main.ScanForKnownIncompatibleModsAtStartup, RunModsCheckerOnStartup_eventCheckChanged) as UICheckBox; runModsCheckerOnStartup.relativePosition = new Vector3(20, height - 30f); UIScrollablePanel scrollablePanel = panel.AddUIComponent <UIScrollablePanel>(); scrollablePanel.backgroundSprite = ""; scrollablePanel.size = new Vector2(550, 340); scrollablePanel.relativePosition = new Vector3(0, 0); scrollablePanel.clipChildren = true; if (IncompatibleMods.Count != 0) { int acc = 0; UIPanel item; IncompatibleMods.ForEach((pair) => { item = CreateEntry(ref scrollablePanel, pair.Value, pair.Key); item.relativePosition = new Vector2(0, acc); item.size = new Vector2(560, 50); acc += 50; }); item = null; } scrollablePanel.FitTo(panel); scrollablePanel.scrollWheelDirection = UIOrientation.Vertical; scrollablePanel.builtinKeyNavigation = true; UIScrollbar verticalScroll = panel.AddUIComponent <UIScrollbar>(); verticalScroll.stepSize = 1; verticalScroll.relativePosition = new Vector2(panel.width - 15, 0); verticalScroll.orientation = UIOrientation.Vertical; verticalScroll.size = new Vector2(20, 320); verticalScroll.incrementAmount = 25; verticalScroll.scrollEasingType = EasingType.BackEaseOut; scrollablePanel.verticalScrollbar = verticalScroll; UISlicedSprite track = verticalScroll.AddUIComponent <UISlicedSprite>(); track.spriteName = "ScrollbarTrack"; track.relativePosition = Vector3.zero; track.size = new Vector2(16, 320); verticalScroll.trackObject = track; UISlicedSprite thumb = track.AddUIComponent <UISlicedSprite>(); thumb.spriteName = "ScrollbarThumb"; thumb.autoSize = true; thumb.relativePosition = Vector3.zero; verticalScroll.thumbObject = thumb; blurEffect = GameObject.Find("ModalEffect").GetComponent <UIComponent>(); AttachUIComponent(blurEffect.gameObject); blurEffect.size = new Vector2(resolution.x, resolution.y); blurEffect.absolutePosition = new Vector3(0, 0); blurEffect.SendToBack(); if (blurEffect != null) { blurEffect.isVisible = true; ValueAnimator.Animate("ModalEffect", delegate(float val) { blurEffect.opacity = val; }, new AnimatedFloat(0f, 1f, 0.7f, EasingType.CubicEaseOut)); } BringToFront(); }
private void Setup() { width = parent.width; height = 122f; autoLayout = true; autoLayoutDirection = LayoutDirection.Horizontal; padding = new RectOffset(10, 0, 0, 0); autoLayoutPadding = new RectOffset(0, 0, 0, 0); isInteractive = true; builtinKeyNavigation = true; relativePosition = new Vector2(410.0f, 0.0f); ScrollablePanel = AddUIComponent <UIScrollablePanel>(); ScrollablePanel.zOrder = 0; ScrollablePanel.width = 366f; ScrollablePanel.height = height; ScrollablePanel.autoLayout = true; ScrollablePanel.wrapLayout = true; ScrollablePanel.clipChildren = true; ScrollablePanel.backgroundSprite = "TextFieldPanel"; ScrollablePanel.autoLayoutDirection = LayoutDirection.Horizontal; ScrollablePanel.autoLayoutPadding = new RectOffset(2, 2, 2, 2); ScrollablePanel.color = new Color32(255, 255, 255, 255); ScrollablePanel.isInteractive = true; ScrollablePanel.builtinKeyNavigation = true; ScrollablePanel.scrollWheelDirection = UIOrientation.Vertical; ScrollablePanel.scrollWithArrowKeys = true; Dictionary <string, Texture2D> brushes = ForestBrush.Instance.GetBrushBitmaps(); foreach (KeyValuePair <string, Texture2D> brush in brushes) { UIButton button = ScrollablePanel.AddUIComponent <UIButton>(); button.atlas = ResourceLoader.Atlas; button.normalBgSprite = ResourceLoader.GenericPanel; if (UserMod.Settings.SelectedBrush != null && UserMod.Settings.SelectedBrush.Options != null && UserMod.Settings.SelectedBrush.Options.BitmapID == brush.Key) { button.normalBgSprite = string.Empty; } button.color = new Color32(170, 170, 170, 255); button.hoveredColor = new Color32(210, 210, 210, 255); button.focusedColor = Color.white; button.pressedColor = Color.white; button.size = new Vector2(57.0f, 57.0f); UITextureSprite sprite = button.AddUIComponent <UITextureSprite>(); sprite.size = button.size - new Vector2(4.0f, 4.0f); sprite.relativePosition = new Vector2(2.0f, 2.0f); sprite.texture = brush.Value; button.objectUserData = brush.Key; button.eventClicked += Button_eventClicked; BrushButtons.Add(brush.Key, button); } UIScrollbar scrollbar = AddUIComponent <UIScrollbar>(); scrollbar.zOrder = 1; scrollbar.width = 13f; scrollbar.height = ScrollablePanel.height; scrollbar.orientation = UIOrientation.Vertical; scrollbar.minValue = 0; scrollbar.value = 0; scrollbar.incrementAmount = 61; UISlicedSprite tracSprite = scrollbar.AddUIComponent <UISlicedSprite>(); tracSprite.atlas = ResourceLoader.Atlas; tracSprite.relativePosition = new Vector3(0, 0); tracSprite.autoSize = true; tracSprite.size = tracSprite.parent.size; tracSprite.fillDirection = UIFillDirection.Vertical; tracSprite.spriteName = ResourceLoader.LevelBarBackground; scrollbar.trackObject = tracSprite; UISlicedSprite thumbSprite = tracSprite.AddUIComponent <UISlicedSprite>(); thumbSprite.atlas = ResourceLoader.Atlas; thumbSprite.relativePosition = Vector2.zero; thumbSprite.fillDirection = UIFillDirection.Vertical; thumbSprite.autoSize = true; thumbSprite.width = 13f; thumbSprite.spriteName = ResourceLoader.LevelBarForeground; scrollbar.thumbObject = thumbSprite; ScrollablePanel.verticalScrollbar = scrollbar; owner = (ForestBrushPanel)parent; }
// runs only once, do internal connections and setup here public override void Start() { base.Start(); if (ParentBetterLoadPanelWrapper == null) { return; } // setup now that we are in parent //this.width = ParentBetterLoadPanelWrapper.width; //this.height = ParentBetterLoadPanelWrapper.height - ParentBetterLoadPanelWrapper.TitleSubPanel.height; this.isVisible = true; this.isEnabled = true; this.canFocus = true; this.isInteractive = true; this.builtinKeyNavigation = true; //this.relativePosition = Vector3.zero; this.autoLayout = false; this.clipChildren = false; //temp int inset = 5; // something like: // // [Name]^v [City]^v [Timestamp]^v // int thirds = (int)(this.width / 3f); int workingWidth = 0; SaveNameLabel.text = Locale.Get(LocaleID.SAVEGAME_TITLE);// "Save Name"; SaveNameLabel.autoSize = true; //SaveNameLabel.width = thirds; SaveNameLabel.relativePosition = new Vector3(workingWidth + inset, inset, 0); SortAsc_SaveName.relativePosition = new Vector3(SaveNameLabel.relativePosition.x + SaveNameLabel.width + inset, SaveNameLabel.relativePosition.y, 0); SortAsc_SaveName.normalFgSprite = "IconUpArrowFocused"; SortAsc_SaveName.hoveredFgSprite = "IconDownArrowFocused"; SortAsc_SaveName.foregroundSpriteMode = UIForegroundSpriteMode.Scale; SortAsc_SaveName.size = new Vector2(16, 16); SortAsc_SaveName.eventClick += SortAsc_SaveName_eventClick; workingWidth += thirds; CityNameLabel.text = Locale.Get(LocaleID.CITY_NAME); //"City Name"; CityNameLabel.autoSize = true; //CityNameLabel.width = thirds; CityNameLabel.relativePosition = new Vector3(workingWidth, SortAsc_SaveName.relativePosition.y, 0); SortAsc_CityName.relativePosition = new Vector3(CityNameLabel.relativePosition.x + CityNameLabel.width + inset, CityNameLabel.relativePosition.y, 0); SortAsc_CityName.normalFgSprite = "IconUpArrowDisabled"; SortAsc_CityName.hoveredFgSprite = "IconUpArrowFocused"; SortAsc_CityName.foregroundSpriteMode = UIForegroundSpriteMode.Scale; SortAsc_CityName.size = new Vector2(16, 16); SortAsc_CityName.eventClick += SortAsc_CityName_eventClick; workingWidth += thirds; TimestampLabel.text = "Timestamp"; TimestampLabel.autoSize = true; //TimestampLabel.width = thirds; TimestampLabel.relativePosition = new Vector3(workingWidth, SortAsc_CityName.relativePosition.y, 0); SortAsc_Timestamp.relativePosition = new Vector3(TimestampLabel.relativePosition.x + TimestampLabel.width + inset, TimestampLabel.relativePosition.y, 0); SortAsc_Timestamp.normalFgSprite = "IconUpArrowDisabled"; SortAsc_Timestamp.hoveredFgSprite = "IconUpArrowFocused"; SortAsc_Timestamp.foregroundSpriteMode = UIForegroundSpriteMode.Scale; SortAsc_Timestamp.size = new Vector2(16, 16); SortAsc_Timestamp.eventClick += SortAsc_Timestamp_eventClick; SavesPanel.relativePosition = new Vector3(inset, SortAsc_Timestamp.relativePosition.y + SortAsc_Timestamp.height + 2 * inset, 0); SavesPanel.backgroundSprite = "GenericPanel"; SavesPanel.autoSize = false; SavesPanel.width = (this.width - 25 - 3 * inset); SavesPanel.height = (this.height - SavesPanel.relativePosition.y - inset); // hackish, but we want these two to line up ParentBetterLoadPanelWrapper.DetailsPanel.relativePosition = new Vector3(ParentBetterLoadPanelWrapper.DetailsPanel.relativePosition.x, SavesPanel.relativePosition.y + this.relativePosition.y, 0); SavesPanel.autoLayout = true; SavesPanel.isInteractive = true; SavesPanel.clipChildren = true; SavesPanel.useGUILayout = true; SavesPanel.canFocus = true; SavesPanel.autoLayoutDirection = LayoutDirection.Vertical; SavesPanel.autoLayoutPadding = new RectOffset(0, 0, 1, 1); SavesPanel.autoLayoutStart = LayoutStart.TopLeft; SavesPanel.builtinKeyNavigation = true;//conflicts with onkeypress? SavesPanel.scrollWithArrowKeys = false; //SavesPanel.freeScroll = true; SavesPanel.scrollWheelDirection = UIOrientation.Vertical; vertSB = this.AddUIComponent <UIScrollbar>(); vertSB.useGUILayout = true; vertSB.width = 25;//? vertSB.height = SavesPanel.height; vertSB.orientation = UIOrientation.Vertical; vertSB.isInteractive = true; vertSB.isVisible = true; vertSB.enabled = true; vertSB.relativePosition = new Vector3(SavesPanel.width, SavesPanel.relativePosition.y, 0); vertSB.minValue = 0; vertSB.value = 0; vertSB.incrementAmount = 10; vertSB.maxValue = SavesPanel.height; tracSprit = vertSB.AddUIComponent <UISlicedSprite>(); tracSprit.relativePosition = Vector2.zero; tracSprit.autoSize = true; tracSprit.size = vertSB.size; tracSprit.fillDirection = UIFillDirection.Horizontal; tracSprit.spriteName = "ScrollbarTrack"; vertSB.trackObject = tracSprit; thumbSprit = tracSprit.AddUIComponent <UISlicedSprite>(); thumbSprit.relativePosition = Vector2.zero; thumbSprit.fillDirection = UIFillDirection.Horizontal; thumbSprit.autoSize = true; thumbSprit.width = tracSprit.width; thumbSprit.spriteName = "ScrollbarThumb"; vertSB.thumbObject = thumbSprit; SavesPanel.verticalScrollbar = vertSB; SavesPanel.scrollWheelAmount = 10; Refresh(); SavesPanel.enabled = true; }
//public void ButtonEnabler(UITextureSprite sPrite) { //if (sPrite == FavCimsCBMenuSprite) { //FavCimsCBMenuSprite.texture = FavCimsCBETexture; //FavCimsBBMenuSprite.texture = FavCimsBBDTexture; //FavCimsSBMenuSprite.texture = FavCimsSBDTexture; //} else if (sPrite == FavCimsBBMenuSprite) { //FavCimsCBMenuSprite.texture = FavCimsCBDTexture; //FavCimsBBMenuSprite.texture = FavCimsBBETexture; //FavCimsSBMenuSprite.texture = FavCimsSBDTexture; //} else if (sPrite == FavCimsSBMenuSprite) { //FavCimsCBMenuSprite.texture = FavCimsCBDTexture; //FavCimsBBMenuSprite.texture = FavCimsBBDTexture; //FavCimsSBMenuSprite.texture = FavCimsSBETexture; //} //return; //} public override void Start() { var uiView = UIView.GetAView(); this.name = "FavCimsPanel"; this.width = 1200; this.height = 700; this.opacity = 0.95f; this.eventVisibilityChanged += (component, value) => change_visibility_event(); //Main Panel BG Texture Texture FavCimsMainBGTexture = ResourceLoader.loadTexture((int)this.width, (int)this.height, "UIMainPanel.mainbg.png"); FavCimsMainBGTexture.wrapMode = TextureWrapMode.Clamp; FavCimsMainBGTexture.filterMode = FilterMode.Bilinear; //FavCimsMainBGTexture.anisoLevel = 9; Set 1 Bad to 9 Very God FavCimsMainBGTexture.name = "FavCimsMainBGTexture"; UITextureSprite FavCimsMainBGSprite; FavCimsMainBGSprite = this.AddUIComponent <UITextureSprite> (); FavCimsMainBGSprite.name = "FavCimsMainBGSprite"; FavCimsMainBGSprite.texture = FavCimsMainBGTexture; FavCimsMainBGSprite.relativePosition = new Vector3(0, 0); FavCimsMainBGSprite.eventMouseDown += delegate { if (Input.GetMouseButton(0)) { if (this.GetComponentInChildren <WindowController> () != null) { this.PanelMover = this.GetComponentInChildren <WindowController> (); this.PanelMover.ComponentToMove = this; this.PanelMover.Stop = false; this.PanelMover.Start(); } else { this.PanelMover = this.AddUIComponent(typeof(WindowController)) as WindowController; this.PanelMover.ComponentToMove = this; } this.opacity = 0.5f; } }; FavCimsMainBGSprite.eventMouseUp += delegate { if (this.PanelMover != null) { this.PanelMover.Stop = true; this.PanelMover.ComponentToMove = null; this.PanelMover = null; } this.opacity = 1f; }; //Main Panel Title Texture Texture FavCimsTitleTexture; FavCimsTitleTexture = ResourceLoader.loadTexture((int)this.width, 58, "UIMainPanel.favcimstitle.png"); FavCimsTitleTexture.wrapMode = TextureWrapMode.Clamp; FavCimsTitleTexture.filterMode = FilterMode.Bilinear; FavCimsTitleTexture.mipMapBias = -0.5f; //FavCimsTitleTexture.anisoLevel = 9; // Set 1 Bad to 9 Very God FavCimsTitleTexture.name = "FavCimsTitleTexture"; FavCimsTitleSprite = FavCimsMainBGSprite.AddUIComponent <UITextureSprite> (); FavCimsTitleSprite.name = "FavCimsTitleSprite"; FavCimsTitleSprite.texture = FavCimsTitleTexture; float FavCimsTitleSpriteRelPosX = ((this.width / 2) - (float)FavCimsTitleTexture.width / 2); FavCimsTitleSprite.relativePosition = new Vector3(FavCimsTitleSpriteRelPosX, 0); /////////////////////////////////////////////// //Game Default Close Button ////////////////////////////////////////////// UIButton FavCimsMenuCloseButton = this.AddUIComponent <UIButton> (); FavCimsMenuCloseButton.name = "FavCimsMenuCloseButton"; FavCimsMenuCloseButton.width = 32; FavCimsMenuCloseButton.height = 32; FavCimsMenuCloseButton.normalBgSprite = "buttonclose"; FavCimsMenuCloseButton.hoveredBgSprite = "buttonclosehover"; FavCimsMenuCloseButton.pressedBgSprite = "buttonclosepressed"; FavCimsMenuCloseButton.opacity = 1; FavCimsMenuCloseButton.useOutline = true; FavCimsMenuCloseButton.playAudioEvents = true; FavCimsMenuCloseButton.eventClick += (component, eventParam) => FavoritesCimsButton.FavCimsPanelToggle(); //Printing FavCimsMenuCloseButton.relativePosition = new Vector3(this.width - (FavCimsMenuCloseButton.width * 1.5f), ((float)FavCimsTitleTexture.height / 2) - FavCimsMenuCloseButton.height / 2); /////////////////////////////////////////////// //Main Panel Menu Background Texture /////////////////////////////////////////////// Texture FavCimsBGMenuTexture; FavCimsBGMenuTexture = ResourceLoader.loadTexture((int)this.width - 10, 70, "UIMainPanel.submenubar.png"); FavCimsBGMenuTexture.wrapMode = TextureWrapMode.Clamp; FavCimsBGMenuTexture.filterMode = FilterMode.Bilinear; FavCimsBGMenuTexture.name = "FavCimsBGMenuTexture"; UITextureSprite FavCimsBGMenuSprite = FavCimsMainBGSprite.AddUIComponent <UITextureSprite> (); FavCimsBGMenuSprite.name = "FavCimsBGMenuSprite"; FavCimsBGMenuSprite.texture = FavCimsBGMenuTexture; float FavCimsBGMenuSpriteRelPosX = ((this.width / 2) - (float)FavCimsBGMenuTexture.width / 2); FavCimsBGMenuSprite.relativePosition = new Vector3(FavCimsBGMenuSpriteRelPosX, 58); //Citizen Button Texture (Enabled & Disabled) FavCimsCBETexture = ResourceLoader.loadTexture(200, 59, "UIMainPanel.citizenbuttonenabled.png"); FavCimsCBDTexture = ResourceLoader.loadTexture(200, 59, "UIMainPanel.citizenbuttondisabled.png"); FavCimsCBETexture.wrapMode = TextureWrapMode.Clamp; FavCimsCBETexture.filterMode = FilterMode.Bilinear; FavCimsCBETexture.name = "FavCimsCBETexture"; FavCimsCBETexture.mipMapBias = -0.5f; FavCimsCBDTexture.wrapMode = TextureWrapMode.Clamp; FavCimsCBDTexture.filterMode = FilterMode.Bilinear; FavCimsCBDTexture.name = "FavCimsCBDTexture"; FavCimsCBDTexture.mipMapBias = -0.5f; FavCimsCBMenuSprite = FavCimsMainBGSprite.AddUIComponent <UITextureSprite> (); FavCimsCBMenuSprite.name = "FavCimsBGMenuSprite"; FavCimsCBMenuSprite.texture = FavCimsCBETexture; //Citizens Transparent Button (For Easy Text Change) FavCimsBCMenuButton = this.AddUIComponent <UIButton> (); FavCimsBCMenuButton.name = "FavCimsBCMenuButton"; FavCimsBCMenuButton.width = FavCimsCBMenuSprite.width; FavCimsBCMenuButton.height = FavCimsCBMenuSprite.height; FavCimsBCMenuButton.useOutline = true; FavCimsBCMenuButton.playAudioEvents = true; FavCimsBCMenuButton.font = UIDynamicFont.FindByName("OpenSans-Regular"); FavCimsBCMenuButton.textScale = 1.8f; FavCimsBCMenuButton.textColor = new Color32(204, 204, 51, 40); //r,g,b,a FavCimsBCMenuButton.hoveredTextColor = new Color32(204, 102, 0, 20); FavCimsBCMenuButton.pressedTextColor = new Color32(153, 0, 0, 0); FavCimsBCMenuButton.focusedTextColor = new Color32(102, 153, 255, 147); FavCimsBCMenuButton.textPadding.left = 15; FavCimsBCMenuButton.useDropShadow = true; FavCimsBCMenuButton.tooltipBox = uiView.defaultTooltipBox; //Printing FavCimsCBMenuSprite.relativePosition = new Vector3(27, 69); FavCimsBCMenuButton.relativePosition = new Vector3(27, 69); /////////////////////////////////////////////// //Buildings Button Texture (Enabled & Disabled) ////////////////////////////////////////////// /* * FavCimsBBETexture = ResourceLoader.loadTexture (200, 59, "UIMainPanel.buildingsbuttonenabled.png"); * FavCimsBBDTexture = ResourceLoader.loadTexture (200, 59, "UIMainPanel.buildingsbuttondisabled.png"); * * FavCimsBBETexture.wrapMode = TextureWrapMode.Clamp; * FavCimsBBETexture.filterMode = FilterMode.Bilinear; * FavCimsBBETexture.name = "FavCimsBBETexture"; * FavCimsBBETexture.mipMapBias = -0.5f; * FavCimsBBDTexture.wrapMode = TextureWrapMode.Clamp; * FavCimsBBDTexture.filterMode = FilterMode.Bilinear; * FavCimsBBDTexture.name = "FavCimsBBETexture"; * FavCimsBBDTexture.mipMapBias = -0.5f; * FavCimsBBMenuSprite = FavCimsMainBGSprite.AddUIComponent<UITextureSprite> (); * FavCimsBBMenuSprite.name = "FavCimsBBMenuSprite"; * FavCimsBBMenuSprite.texture = FavCimsBBDTexture; * * //Buildings Transparent Button (For Easy Text Change) * FavCimsBBMenuButton = this.AddUIComponent<UIButton> (); * FavCimsBBMenuButton.name = "FavCimsBBMenuButton"; * FavCimsBBMenuButton.width = FavCimsBBETexture.width; * FavCimsBBMenuButton.height = FavCimsBBETexture.height; * FavCimsBBMenuButton.useOutline = true; * FavCimsBBMenuButton.playAudioEvents = true; * FavCimsBBMenuButton.font = UIDynamicFont.FindByName ("OpenSans-Regular"); * FavCimsBBMenuButton.textScale = 1.8f; * FavCimsBBMenuButton.textColor = new Color32 (204, 204, 51, 40); //r,g,b,a * FavCimsBBMenuButton.hoveredTextColor = new Color32 (204, 102, 0, 20); * FavCimsBBMenuButton.pressedTextColor = new Color32 (153, 0, 0, 0); * FavCimsBBMenuButton.focusedTextColor = new Color32 (102, 153, 255, 147); * FavCimsBBMenuButton.textPadding.left = 20; * FavCimsBBMenuButton.useDropShadow = true; * FavCimsBBMenuButton.tooltipBox = uiView.defaultTooltipBox; * * //Printing * //FavCimsBBMenuSprite.relativePosition = new Vector3 (FavCimsCBMenuSprite.position.x + FavCimsBBMenuSprite.width + 21, 69); //html => margin-left:21px; * //FavCimsBBMenuButton.relativePosition = new Vector3 (FavCimsBCMenuButton.position.x + FavCimsBBMenuButton.width + 35, 69); * * /////////////////////////////////////////////// * //Stats Button Texture (Enabled & Disabled) * ////////////////////////////////////////////// * * FavCimsSBETexture = ResourceLoader.loadTexture (200, 59, "UIMainPanel.statsbuttonenabled.png"); * FavCimsSBDTexture = ResourceLoader.loadTexture (200, 59, "UIMainPanel.statsbuttondisabled.png"); * * FavCimsSBETexture.wrapMode = TextureWrapMode.Clamp; * FavCimsSBETexture.filterMode = FilterMode.Bilinear; * FavCimsSBETexture.name = "FavCimsSBETexture"; * FavCimsSBETexture.mipMapBias = -0.5f; * FavCimsSBDTexture.wrapMode = TextureWrapMode.Clamp; * FavCimsSBDTexture.filterMode = FilterMode.Bilinear; * FavCimsSBDTexture.name = "FavCimsSBETexture"; * FavCimsSBDTexture.mipMapBias = -0.5f; * FavCimsSBMenuSprite = FavCimsMainBGSprite.AddUIComponent<UITextureSprite> (); * FavCimsSBMenuSprite.name = "FavCimsSBMenuSprite"; * FavCimsSBMenuSprite.texture = FavCimsSBDTexture; * * //Stats Transparent Button (For Easy Text Change) * FavCimsBSMenuButton = this.AddUIComponent<UIButton> (); * FavCimsBSMenuButton.name = "FavCimsBSMenuButton"; * FavCimsBSMenuButton.width = FavCimsSBETexture.width; * FavCimsBSMenuButton.height = FavCimsSBETexture.height; * FavCimsBSMenuButton.useOutline = true; * FavCimsBSMenuButton.playAudioEvents = true; * FavCimsBSMenuButton.font = UIDynamicFont.FindByName ("OpenSans-Regular"); * FavCimsBSMenuButton.textScale = 1.8f; * FavCimsBSMenuButton.textColor = new Color32 (204, 204, 51, 40); //r,g,b,a * FavCimsBSMenuButton.hoveredTextColor = new Color32 (204, 102, 0, 20); * FavCimsBSMenuButton.pressedTextColor = new Color32 (153, 0, 0, 0); * FavCimsBSMenuButton.focusedTextColor = new Color32 (102, 153, 255, 147); * FavCimsBSMenuButton.textPadding.left = 0; * FavCimsBSMenuButton.useDropShadow = true; * FavCimsBSMenuButton.tooltipBox = uiView.defaultTooltipBox; * * //Printing * //FavCimsSBMenuSprite.relativePosition = new Vector3 (FavCimsBBMenuSprite.position.x + FavCimsSBMenuSprite.width + 21, 69); //html => margin-left:21px; * //FavCimsBSMenuButton.relativePosition = new Vector3 (FavCimsBBMenuButton.position.x + FavCimsBSMenuButton.width + 21, 69); //html => margin-left:21px; * * /////////////////////////////////////////////// * //Click Operation for Main Buttons * ////////////////////////////////////////////// * * //FavCimsBCMenuButton.eventClick += (component, eventParam) => ButtonEnabler (FavCimsCBMenuSprite); * //FavCimsBBMenuButton.eventClick += (component, eventParam) => ButtonEnabler (FavCimsBBMenuSprite); * //FavCimsBSMenuButton.eventClick += (component, eventParam) => ButtonEnabler (FavCimsSBMenuSprite); */ /////////////////////////////////////////////// //Citizens Panel ////////////////////////////////////////////// CitizensPanel = this.AddUIComponent <UIPanel> (); CitizensPanel.name = "CitizensPanel"; CitizensPanel.width = 1190; CitizensPanel.height = 558; CitizensPanel.relativePosition = new Vector3(((this.width / 2) - (float)CitizensPanel.width / 2), 128); /////////////////////////////////////////////// //Citizens Panel Body Background ////////////////////////////////////////////// FavCimsMainBodyTexture = ResourceLoader.loadTexture(1190, 558, "UIMainPanel.bodybg.png"); FavCimsMainBodyTexture.wrapMode = TextureWrapMode.Clamp; FavCimsMainBodyTexture.filterMode = FilterMode.Bilinear; FavCimsMainBodyTexture.name = "FavCimsMainBodyTexture"; FavCimsBodySprite = CitizensPanel.AddUIComponent <UITextureSprite> (); FavCimsBodySprite.name = "FavCimsCBGBodySprite"; FavCimsBodySprite.texture = FavCimsMainBodyTexture; //Printing FavCimsBodySprite.relativePosition = Vector3.zero; /////////////////////////////////////////////// //Index Column Background ////////////////////////////////////////////// Texture FavCimsIndexBgBar = ResourceLoader.loadTexture(1146, 26, "UIMainPanel.indexerbgbar.png"); FavCimsIndexBgBar.wrapMode = TextureWrapMode.Clamp; FavCimsIndexBgBar.filterMode = FilterMode.Bilinear; FavCimsIndexBgBar.name = "FavCimsIndexBgBar"; FavCimsIndexBgBar.mipMapBias = -0.5f; UITextureSprite FavCimsIndexBgBarSprite = CitizensPanel.AddUIComponent <UITextureSprite> (); FavCimsIndexBgBarSprite.name = "FavCimsIndexBgBarSprite"; FavCimsIndexBgBarSprite.texture = FavCimsIndexBgBar; //Printing FavCimsIndexBgBarSprite.relativePosition = new Vector3(21, 7); //////////////////////////////////////////////// //Index Columns (Button for future sort order...) //////////////////////////////////////////////// //Status FavCimsHappinesColText = CitizensPanel.AddUIComponent <UIButton> (); FavCimsHappinesColText.name = "FavCimsHappinesColText"; FavCimsHappinesColText.width = 60; FavCimsHappinesColText.height = FavCimsIndexBgBar.height; FavCimsHappinesColText.textVerticalAlignment = UIVerticalAlignment.Middle; FavCimsHappinesColText.textHorizontalAlignment = UIHorizontalAlignment.Center; FavCimsHappinesColText.playAudioEvents = true; FavCimsHappinesColText.font = UIDynamicFont.FindByName("OpenSans-Regular"); FavCimsHappinesColText.textScale = 0.7f; FavCimsHappinesColText.textColor = new Color32(204, 204, 51, 40); //r,g,b,a FavCimsHappinesColText.hoveredTextColor = new Color32(204, 102, 0, 20); FavCimsHappinesColText.pressedTextColor = new Color32(153, 0, 0, 0); FavCimsHappinesColText.focusedTextColor = new Color32(102, 153, 255, 147); FavCimsHappinesColText.textPadding.left = 0; FavCimsHappinesColText.tooltipBox = uiView.defaultTooltipBox; //Printing Status FavCimsHappinesColText.relativePosition = new Vector3(FavCimsIndexBgBarSprite.relativePosition.x + 6, FavCimsIndexBgBarSprite.relativePosition.y + 1); //Name FavCimsNameColText = CitizensPanel.AddUIComponent <UIButton> (); FavCimsNameColText.name = "FavCimsNameColText"; FavCimsNameColText.width = 180; FavCimsNameColText.height = FavCimsIndexBgBar.height; FavCimsNameColText.textVerticalAlignment = UIVerticalAlignment.Middle; FavCimsNameColText.textHorizontalAlignment = UIHorizontalAlignment.Center; FavCimsNameColText.playAudioEvents = true; FavCimsNameColText.font = UIDynamicFont.FindByName("OpenSans-Regular"); FavCimsNameColText.textScale = 0.7f; FavCimsNameColText.textColor = new Color32(204, 204, 51, 40); //r,g,b,a FavCimsNameColText.hoveredTextColor = new Color32(204, 102, 0, 20); FavCimsNameColText.pressedTextColor = new Color32(153, 0, 0, 0); FavCimsNameColText.focusedTextColor = new Color32(102, 153, 255, 147); FavCimsNameColText.textPadding.left = 0; FavCimsNameColText.tooltipBox = uiView.defaultTooltipBox; //Printing Name FavCimsNameColText.relativePosition = new Vector3(FavCimsHappinesColText.relativePosition.x + FavCimsHappinesColText.width, FavCimsIndexBgBarSprite.relativePosition.y + 1); //Age Phase FavCimsAgePhaseColText = CitizensPanel.AddUIComponent <UIButton> (); FavCimsAgePhaseColText.name = "FavCimsAgePhaseColText"; FavCimsAgePhaseColText.width = 120; FavCimsAgePhaseColText.height = FavCimsIndexBgBar.height; FavCimsAgePhaseColText.textVerticalAlignment = UIVerticalAlignment.Middle; FavCimsAgePhaseColText.textHorizontalAlignment = UIHorizontalAlignment.Center; FavCimsAgePhaseColText.playAudioEvents = true; FavCimsAgePhaseColText.font = UIDynamicFont.FindByName("OpenSans-Regular"); FavCimsAgePhaseColText.textScale = 0.7f; FavCimsAgePhaseColText.textColor = new Color32(204, 204, 51, 40); //r,g,b,a FavCimsAgePhaseColText.hoveredTextColor = new Color32(204, 102, 0, 20); FavCimsAgePhaseColText.pressedTextColor = new Color32(153, 0, 0, 0); FavCimsAgePhaseColText.focusedTextColor = new Color32(102, 153, 255, 147); FavCimsAgePhaseColText.textPadding.left = 0; FavCimsAgePhaseColText.tooltipBox = uiView.defaultTooltipBox; //Printing Age Phase FavCimsAgePhaseColText.relativePosition = new Vector3(FavCimsNameColText.relativePosition.x + FavCimsNameColText.width, FavCimsIndexBgBarSprite.relativePosition.y + 1); //Age FavCimsAgeColText = CitizensPanel.AddUIComponent <UIButton> (); FavCimsAgeColText.name = "FavCimsAgeColText"; FavCimsAgeColText.width = 40; FavCimsAgeColText.height = FavCimsIndexBgBar.height; FavCimsAgeColText.textVerticalAlignment = UIVerticalAlignment.Middle; FavCimsAgeColText.textHorizontalAlignment = UIHorizontalAlignment.Center; FavCimsAgeColText.playAudioEvents = true; FavCimsAgeColText.font = UIDynamicFont.FindByName("OpenSans-Regular"); FavCimsAgeColText.textScale = 0.7f; FavCimsAgeColText.textColor = new Color32(204, 204, 51, 40); //r,g,b,a FavCimsAgeColText.hoveredTextColor = new Color32(204, 102, 0, 20); FavCimsAgeColText.pressedTextColor = new Color32(153, 0, 0, 0); FavCimsAgeColText.focusedTextColor = new Color32(102, 153, 255, 147); FavCimsAgeColText.textPadding.left = 0; FavCimsAgeColText.tooltipBox = uiView.defaultTooltipBox; //Printing Age FavCimsAgeColText.relativePosition = new Vector3(FavCimsAgePhaseColText.relativePosition.x + FavCimsAgePhaseColText.width, FavCimsIndexBgBarSprite.relativePosition.y + 1); //Education FavCimsEduColText = CitizensPanel.AddUIComponent <UIButton> (); FavCimsEduColText.name = "FavCimsEduColText"; FavCimsEduColText.width = 140; FavCimsEduColText.height = FavCimsIndexBgBar.height; FavCimsEduColText.textVerticalAlignment = UIVerticalAlignment.Middle; FavCimsEduColText.textHorizontalAlignment = UIHorizontalAlignment.Center; FavCimsEduColText.playAudioEvents = true; FavCimsEduColText.font = UIDynamicFont.FindByName("OpenSans-Regular"); FavCimsEduColText.textScale = 0.7f; FavCimsEduColText.textColor = new Color32(204, 204, 51, 40); //r,g,b,a FavCimsEduColText.hoveredTextColor = new Color32(204, 102, 0, 20); FavCimsEduColText.pressedTextColor = new Color32(153, 0, 0, 0); FavCimsEduColText.focusedTextColor = new Color32(102, 153, 255, 147); FavCimsEduColText.textPadding.left = 0; FavCimsEduColText.tooltipBox = uiView.defaultTooltipBox; //Printing Education FavCimsEduColText.relativePosition = new Vector3(FavCimsAgeColText.relativePosition.x + FavCimsAgeColText.width, FavCimsIndexBgBarSprite.relativePosition.y + 1); //Home FavCimsHomeColText = CitizensPanel.AddUIComponent <UIButton> (); FavCimsHomeColText.name = "FavCimsHomeColText"; FavCimsHomeColText.width = 184; FavCimsHomeColText.height = FavCimsIndexBgBar.height; FavCimsHomeColText.textVerticalAlignment = UIVerticalAlignment.Middle; FavCimsHomeColText.textHorizontalAlignment = UIHorizontalAlignment.Center; FavCimsHomeColText.playAudioEvents = true; FavCimsHomeColText.font = UIDynamicFont.FindByName("OpenSans-Regular"); FavCimsHomeColText.textScale = 0.7f; FavCimsHomeColText.textColor = new Color32(204, 204, 51, 40); //r,g,b,a FavCimsHomeColText.hoveredTextColor = new Color32(204, 102, 0, 20); FavCimsHomeColText.pressedTextColor = new Color32(153, 0, 0, 0); FavCimsHomeColText.focusedTextColor = new Color32(102, 153, 255, 147); FavCimsHomeColText.textPadding.left = 0; FavCimsHomeColText.tooltipBox = uiView.defaultTooltipBox; //Printing Home FavCimsHomeColText.relativePosition = new Vector3(FavCimsEduColText.relativePosition.x + FavCimsEduColText.width, FavCimsIndexBgBarSprite.relativePosition.y + 1); //Working Place FavCimsWorkingPlaceColText = CitizensPanel.AddUIComponent <UIButton> (); FavCimsWorkingPlaceColText.name = "FavCimsWorkingPlaceColText"; FavCimsWorkingPlaceColText.width = 180; FavCimsWorkingPlaceColText.height = FavCimsIndexBgBar.height; FavCimsWorkingPlaceColText.textVerticalAlignment = UIVerticalAlignment.Middle; FavCimsWorkingPlaceColText.textHorizontalAlignment = UIHorizontalAlignment.Center; FavCimsWorkingPlaceColText.playAudioEvents = true; FavCimsWorkingPlaceColText.font = UIDynamicFont.FindByName("OpenSans-Regular"); FavCimsWorkingPlaceColText.textScale = 0.7f; FavCimsWorkingPlaceColText.textColor = new Color32(204, 204, 51, 40); //r,g,b,a FavCimsWorkingPlaceColText.hoveredTextColor = new Color32(204, 102, 0, 20); FavCimsWorkingPlaceColText.pressedTextColor = new Color32(153, 0, 0, 0); FavCimsWorkingPlaceColText.focusedTextColor = new Color32(102, 153, 255, 147); FavCimsWorkingPlaceColText.textPadding.left = 0; FavCimsWorkingPlaceColText.tooltipBox = uiView.defaultTooltipBox; //Printing Working Place FavCimsWorkingPlaceColText.relativePosition = new Vector3(FavCimsHomeColText.relativePosition.x + FavCimsHomeColText.width, FavCimsIndexBgBarSprite.relativePosition.y + 1); //Last Activity FavCimsLastActColText = CitizensPanel.AddUIComponent <UIButton> (); FavCimsLastActColText.name = "FavCimsLastActColText"; FavCimsLastActColText.width = 180; FavCimsLastActColText.height = FavCimsIndexBgBar.height; FavCimsLastActColText.textVerticalAlignment = UIVerticalAlignment.Middle; FavCimsLastActColText.textHorizontalAlignment = UIHorizontalAlignment.Center; FavCimsLastActColText.playAudioEvents = true; FavCimsLastActColText.font = UIDynamicFont.FindByName("OpenSans-Regular"); FavCimsLastActColText.textScale = 0.7f; FavCimsLastActColText.textColor = new Color32(204, 204, 51, 40); //r,g,b,a FavCimsLastActColText.hoveredTextColor = new Color32(204, 102, 0, 20); FavCimsLastActColText.pressedTextColor = new Color32(153, 0, 0, 0); FavCimsLastActColText.focusedTextColor = new Color32(102, 153, 255, 147); FavCimsLastActColText.textPadding.left = 0; FavCimsLastActColText.tooltipBox = uiView.defaultTooltipBox; //Printing Last Activity FavCimsLastActColText.relativePosition = new Vector3(FavCimsWorkingPlaceColText.relativePosition.x + FavCimsWorkingPlaceColText.width, FavCimsIndexBgBarSprite.relativePosition.y + 1); //Close Button FavCimsCloseButtonCol = CitizensPanel.AddUIComponent <UIButton> (); FavCimsCloseButtonCol.name = "FavCimsCloseButtonCol"; FavCimsCloseButtonCol.width = 50; FavCimsCloseButtonCol.height = FavCimsIndexBgBar.height; FavCimsCloseButtonCol.textVerticalAlignment = UIVerticalAlignment.Middle; FavCimsCloseButtonCol.textHorizontalAlignment = UIHorizontalAlignment.Center; FavCimsCloseButtonCol.playAudioEvents = true; FavCimsCloseButtonCol.font = UIDynamicFont.FindByName("OpenSans-Regular"); FavCimsCloseButtonCol.textScale = 0.7f; FavCimsCloseButtonCol.textColor = new Color32(204, 204, 51, 40); //r,g,b,a FavCimsCloseButtonCol.hoveredTextColor = new Color32(204, 102, 0, 20); FavCimsCloseButtonCol.pressedTextColor = new Color32(153, 0, 0, 0); FavCimsCloseButtonCol.focusedTextColor = new Color32(102, 153, 255, 147); FavCimsCloseButtonCol.textPadding.right = 6; FavCimsCloseButtonCol.tooltipBox = uiView.defaultTooltipBox; //Printing Close Button FavCimsCloseButtonCol.relativePosition = new Vector3(FavCimsLastActColText.relativePosition.x + FavCimsLastActColText.width, FavCimsIndexBgBarSprite.relativePosition.y + 1); /////////////////////////////////////////////// /////Rows Panel Body /////////////////////////////////////////////// FavCimsCitizenRowsPanel = CitizensPanel.AddUIComponent <UIScrollablePanel> (); FavCimsCitizenRowsPanel.name = "FavCimsCitizenRowsPanel"; FavCimsCitizenRowsPanel.width = FavCimsIndexBgBarSprite.width - 12; FavCimsCitizenRowsPanel.height = 500; FavCimsCitizenRowsPanel.autoLayoutDirection = LayoutDirection.Vertical; FavCimsCitizenRowsPanel.autoLayout = true; FavCimsCitizenRowsPanel.clipChildren = true; FavCimsCitizenRowsPanel.autoLayoutPadding = new RectOffset(0, 0, 0, 0); FavCimsCitizenRowsPanel.relativePosition = new Vector3(FavCimsIndexBgBarSprite.relativePosition.x + 6, FavCimsIndexBgBarSprite.relativePosition.y + FavCimsIndexBgBarSprite.height); //Damn ScrollBar UIScrollablePanel FavCimsCitizenRowsPanelScrollBar = CitizensPanel.AddUIComponent <UIScrollablePanel> (); FavCimsCitizenRowsPanelScrollBar.name = "FavCimsCitizenRowsPanelScrollBar"; FavCimsCitizenRowsPanelScrollBar.width = 10; FavCimsCitizenRowsPanelScrollBar.height = 500; FavCimsCitizenRowsPanelScrollBar.relativePosition = new Vector3(FavCimsIndexBgBarSprite.relativePosition.x + FavCimsIndexBgBarSprite.width, FavCimsCitizenRowsPanel.relativePosition.y); UIScrollbar FavCimsMainPanelScrollBar = FavCimsCitizenRowsPanelScrollBar.AddUIComponent <UIScrollbar> (); FavCimsMainPanelScrollBar.width = 10; FavCimsMainPanelScrollBar.height = FavCimsCitizenRowsPanel.height; FavCimsMainPanelScrollBar.orientation = UIOrientation.Vertical; FavCimsMainPanelScrollBar.pivot = UIPivotPoint.TopRight; FavCimsMainPanelScrollBar.AlignTo(FavCimsMainPanelScrollBar.parent, UIAlignAnchor.TopRight); FavCimsMainPanelScrollBar.minValue = 0; FavCimsMainPanelScrollBar.value = 0; FavCimsMainPanelScrollBar.incrementAmount = 40; UISlicedSprite FavCimsMainPanelTrackSprite = FavCimsMainPanelScrollBar.AddUIComponent <UISlicedSprite> (); FavCimsMainPanelTrackSprite.relativePosition = FavCimsMainPanelScrollBar.relativePosition; FavCimsMainPanelTrackSprite.autoSize = true; FavCimsMainPanelTrackSprite.size = FavCimsMainPanelTrackSprite.parent.size; FavCimsMainPanelTrackSprite.fillDirection = UIFillDirection.Vertical; FavCimsMainPanelTrackSprite.spriteName = "ScrollbarTrack"; FavCimsMainPanelScrollBar.trackObject = FavCimsMainPanelTrackSprite; UISlicedSprite thumbSprite = FavCimsMainPanelScrollBar.AddUIComponent <UISlicedSprite> (); thumbSprite.relativePosition = FavCimsMainPanelScrollBar.relativePosition; thumbSprite.autoSize = true; thumbSprite.width = thumbSprite.parent.width; thumbSprite.fillDirection = UIFillDirection.Vertical; thumbSprite.spriteName = "ScrollbarThumb"; FavCimsMainPanelScrollBar.thumbObject = thumbSprite; FavCimsCitizenRowsPanel.verticalScrollbar = FavCimsMainPanelScrollBar; /* Thx to CNightwing for this piece of code */ FavCimsCitizenRowsPanel.eventMouseWheel += (component, eventParam) => { var sign = Math.Sign(eventParam.wheelDelta); FavCimsCitizenRowsPanel.scrollPosition += new Vector2(0, sign * (-1) * FavCimsMainPanelScrollBar.incrementAmount); }; /* End */ FavCimsCitizenRowsPanel.eventComponentAdded += (component, eventParam) => ReorderRowsBackgrounds(); FavCimsCitizenRowsPanel.eventComponentRemoved += (component, eventParam) => ReorderRowsBackgrounds(); /////////////////////////////////////////////// /////Rows Panel Footer /////////////////////////////////////////////// UITextureSprite FavCimsFooterBgBarSprite = CitizensPanel.AddUIComponent <UITextureSprite> (); FavCimsFooterBgBarSprite.name = "FavCimsFooterBgBarSprite"; FavCimsFooterBgBarSprite.width = FavCimsIndexBgBarSprite.width; FavCimsFooterBgBarSprite.height = 15; FavCimsFooterBgBarSprite.texture = FavCimsIndexBgBar; //Printing FavCimsFooterBgBarSprite.relativePosition = new Vector3(21, FavCimsCitizenRowsPanel.relativePosition.y + FavCimsCitizenRowsPanel.height); //Row End //Load Initial Row (People Renamed) foreach (KeyValuePair <InstanceID, string> FavCitizen in FavCimsCore.FavoriteCimsList()) { if (FavCitizen.Key.Type == InstanceType.Citizen) // || FavCitizen.Key.Type == InstanceType.CitizenInstance { CitizenRow FavCimsCitizenSingleRowPanel = FavCimsCitizenRowsPanel.AddUIComponent(typeof(CitizenRow)) as CitizenRow; FavCimsCitizenSingleRowPanel.MyInstanceID = FavCitizen.Key; FavCimsCitizenSingleRowPanel.MyInstancedName = FavCitizen.Value; } } }
public override void Start() { base.Start(); if (this._showPanel) { this.backgroundSprite = "ButtonMenu"; this.eventMouseEnter += (MouseEventHandler)((component, param) => (component as DropDown).backgroundSprite = "ButtonMenuHovered"); this.eventMouseLeave += (MouseEventHandler)((component, param) => (component as DropDown).backgroundSprite = "ButtonMenu"); } this.zOrder = 1; UIButton uiButton = this.AddUIComponent <UIButton>(); uiButton.width = this.width; uiButton.height = this.height; uiButton.relativePosition = new Vector3(0.0f, 0.0f); if ((UnityEngine.Object) this.Font != (UnityEngine.Object)null) { uiButton.font = this.Font; } uiButton.textScale = 0.8f; uiButton.textVerticalAlignment = UIVerticalAlignment.Middle; uiButton.textHorizontalAlignment = UIHorizontalAlignment.Left; uiButton.textPadding = new RectOffset(6, 0, 4, 0); uiButton.normalFgSprite = "IconDownArrow"; uiButton.hoveredFgSprite = "IconDownArrowHovered"; uiButton.pressedFgSprite = "IconDownArrowPressed"; uiButton.focusedFgSprite = "IconDownArrow"; uiButton.disabledFgSprite = "IconDownArrowDisabled"; uiButton.foregroundSpriteMode = UIForegroundSpriteMode.Fill; uiButton.horizontalAlignment = UIHorizontalAlignment.Right; uiButton.verticalAlignment = UIVerticalAlignment.Middle; uiButton.zOrder = 0; uiButton.eventClick += new MouseEventHandler(this.OnButtonClick); this._triggerButton = uiButton; this.Text = "Default"; UIPanel uiPanel1 = this.AddUIComponent(typeof(UIPanel)) as UIPanel; uiPanel1.name = "PopUpPanel"; uiPanel1.isVisible = false; uiPanel1.width = (double)this.ListWidth > 0.0 ? this.ListWidth : this.width; uiPanel1.height = (float)(this._itemHeight * this._maxVisibleItems); uiPanel1.autoLayoutDirection = LayoutDirection.Horizontal; uiPanel1.autoLayoutStart = LayoutStart.TopLeft; uiPanel1.autoLayoutPadding = new RectOffset(0, 0, 0, 0); uiPanel1.autoLayout = true; uiPanel1.backgroundSprite = "GenericPanelWhite"; uiPanel1.color = (Color32)Color.black; uiPanel1.AlignTo(this._dropDownPanelAlignParent, UIAlignAnchor.TopLeft); this._dropDownPanel = uiPanel1; UIScrollablePanel uiScrollablePanel = uiPanel1.AddUIComponent <UIScrollablePanel>(); uiScrollablePanel.width = uiPanel1.width - 10f; uiScrollablePanel.height = uiPanel1.height; uiScrollablePanel.autoLayoutDirection = LayoutDirection.Vertical; uiScrollablePanel.autoLayoutStart = LayoutStart.TopLeft; uiScrollablePanel.autoLayoutPadding = new RectOffset(0, 0, 0, 0); uiScrollablePanel.autoLayout = true; uiScrollablePanel.clipChildren = true; uiScrollablePanel.backgroundSprite = "GenericPanelWhite"; uiScrollablePanel.color = (Color32)Color.black; this._scrollablePanel = uiScrollablePanel; UIPanel uiPanel2 = uiPanel1.AddUIComponent <UIPanel>(); uiPanel2.width = 10f; uiPanel2.height = uiPanel2.parent.height; uiPanel2.autoLayoutDirection = LayoutDirection.Horizontal; uiPanel2.autoLayoutStart = LayoutStart.TopLeft; uiPanel2.autoLayoutPadding = new RectOffset(0, 0, 0, 0); uiPanel2.autoLayout = true; this._scrollbarPanel = uiPanel2; UIScrollbar scrollbar = uiPanel2.AddUIComponent <UIScrollbar>(); scrollbar.width = 10f; scrollbar.height = uiPanel2.height; scrollbar.orientation = UIOrientation.Vertical; scrollbar.pivot = UIPivotPoint.BottomLeft; scrollbar.AlignTo((UIComponent)uiPanel2, UIAlignAnchor.TopRight); scrollbar.minValue = 0.0f; scrollbar.value = 0.0f; scrollbar.incrementAmount = (float)this._itemHeight; this._scrollbar = scrollbar; UISlicedSprite uiSlicedSprite1 = scrollbar.AddUIComponent <UISlicedSprite>(); uiSlicedSprite1.relativePosition = (Vector3)Vector2.zero; uiSlicedSprite1.autoSize = true; uiSlicedSprite1.size = uiSlicedSprite1.parent.size; uiSlicedSprite1.fillDirection = UIFillDirection.Vertical; uiSlicedSprite1.spriteName = "ScrollbarTrack"; scrollbar.trackObject = (UIComponent)uiSlicedSprite1; UISlicedSprite uiSlicedSprite2 = uiSlicedSprite1.AddUIComponent <UISlicedSprite>(); uiSlicedSprite2.relativePosition = (Vector3)Vector2.zero; uiSlicedSprite2.fillDirection = UIFillDirection.Vertical; uiSlicedSprite2.autoSize = true; uiSlicedSprite2.width = uiSlicedSprite2.parent.width - 4f; uiSlicedSprite2.spriteName = "ScrollbarThumb"; scrollbar.thumbObject = (UIComponent)uiSlicedSprite2; this._scrollablePanel.verticalScrollbar = scrollbar; this._scrollablePanel.eventMouseWheel += (MouseEventHandler)((component, param) => this._scrollablePanel.scrollPosition += new Vector2(0.0f, Mathf.Sign(param.wheelDelta) * -1f * scrollbar.incrementAmount)); }
protected override void OnSizeChanged() { base.OnSizeChanged(); if (height > itemHeight && scrollbar == null) { DestroyScrollbars(parent); // Scrollbar UIScrollbar scroll = parent.AddUIComponent <UIScrollbar>(); scroll.width = 20f; scroll.height = parent.parent.height; scroll.orientation = UIOrientation.Vertical; scroll.pivot = UIPivotPoint.BottomLeft; scroll.thumbPadding = new RectOffset(0, 0, 5, 5); scroll.AlignTo(scroll.parent, UIAlignAnchor.TopRight); scroll.minValue = 0; scroll.value = 0; scroll.incrementAmount = 50; UISlicedSprite tracSprite = scroll.AddUIComponent <UISlicedSprite>(); tracSprite.relativePosition = Vector2.zero; tracSprite.autoSize = true; tracSprite.size = tracSprite.parent.size; tracSprite.fillDirection = UIFillDirection.Vertical; tracSprite.spriteName = ""; // "ScrollbarTrack"; scroll.trackObject = tracSprite; UISlicedSprite thumbSprite = tracSprite.AddUIComponent <UISlicedSprite>(); thumbSprite.relativePosition = Vector2.zero; thumbSprite.fillDirection = UIFillDirection.Vertical; thumbSprite.autoSize = true; thumbSprite.width = thumbSprite.parent.width - 8; thumbSprite.spriteName = "ScrollbarThumb"; scroll.thumbObject = thumbSprite; scrollbar = scroll; } else if (height <= itemHeight && scrollbar != null) { DestroyScrollbars(parent); } // adjust scrollbars in dropdown menus(needed for Yet Another Toolbar & Resize It) if (UIFilterExtra.instance != null) { SamsamTS.UIUtils.DestroyDropDownScrollBar(UIFilterExtra.instance.optionDropDownMenu); SamsamTS.UIUtils.CreateDropDownScrollBar(UIFilterExtra.instance.optionDropDownMenu); SamsamTS.UIUtils.DestroyDropDownScrollBar(UIFilterExtra.instance.assetCreatorDropDownMenu); SamsamTS.UIUtils.CreateDropDownScrollBar(UIFilterExtra.instance.assetCreatorDropDownMenu); SamsamTS.UIUtils.DestroyDropDownScrollBar(UIFilterExtra.instance.DLCDropDownMenu); SamsamTS.UIUtils.CreateDropDownScrollBar(UIFilterExtra.instance.DLCDropDownMenu); } if (UIFilterTag.instance != null) { SamsamTS.UIUtils.DestroyDropDownScrollBar(UIFilterTag.instance.tagDropDownMenu); SamsamTS.UIUtils.CreateDropDownScrollBar(UIFilterTag.instance.tagDropDownMenu); } }
/// <summary> /// Initialises the dialog, populates it with list of incompatible mods, and adds it to the modal stack. /// If the modal stack was previously empty, a blur effect is added over the screen background. /// </summary> public void Initialize() { Log._Debug("IncompatibleModsPanel initialize"); if (mainPanel_ != null) { mainPanel_.OnDestroy(); } modListChanged_ = false; isVisible = true; mainPanel_ = AddUIComponent <UIPanel>(); mainPanel_.backgroundSprite = "UnlockingPanel2"; mainPanel_.color = new Color32(75, 75, 135, 255); width = 600; height = 440; mainPanel_.width = 600; mainPanel_.height = 440; Vector2 resolution = UIView.GetAView().GetScreenResolution(); relativePosition = new Vector3((resolution.x / 2) - 300, resolution.y / 3); mainPanel_.relativePosition = Vector3.zero; warningIcon_ = mainPanel_.AddUIComponent <UISprite>(); warningIcon_.size = new Vector2(40f, 40f); warningIcon_.spriteName = "IconWarning"; warningIcon_.relativePosition = new Vector3(15, 15); warningIcon_.zOrder = 0; title_ = mainPanel_.AddUIComponent <UILabel>(); title_.autoSize = true; title_.padding = new RectOffset(10, 10, 15, 15); title_.relativePosition = new Vector2(60, 12); title_.text = TrafficManagerMod.ModName + " " + Translation.ModConflicts.Get("Window.Title:Detected incompatible mods"); closeButton_ = mainPanel_.AddUIComponent <UIButton>(); closeButton_.eventClick += CloseButtonClick; closeButton_.relativePosition = new Vector3(width - closeButton_.width - 45, 15f); closeButton_.normalBgSprite = "buttonclose"; closeButton_.hoveredBgSprite = "buttonclosehover"; closeButton_.pressedBgSprite = "buttonclosepressed"; UIPanel panel = mainPanel_.AddUIComponent <UIPanel>(); panel.relativePosition = new Vector2(20, 70); panel.size = new Vector2(565, 320); UIHelper helper = new UIHelper(mainPanel_); string checkboxLabel = Translation.ModConflicts.Get("Checkbox:Scan for known incompatible mods on startup"); runModsCheckerOnStartup_ = helper.AddCheckbox( checkboxLabel, GlobalConfig.Instance.Main.ScanForKnownIncompatibleModsAtStartup, RunModsCheckerOnStartup_eventCheckChanged) as UICheckBox; runModsCheckerOnStartup_.relativePosition = new Vector3(20, height - 30f); UIScrollablePanel scrollablePanel = panel.AddUIComponent <UIScrollablePanel>(); scrollablePanel.backgroundSprite = string.Empty; scrollablePanel.size = new Vector2(550, 340); scrollablePanel.relativePosition = new Vector3(0, 0); scrollablePanel.clipChildren = true; scrollablePanel.autoLayoutStart = LayoutStart.TopLeft; scrollablePanel.autoLayoutDirection = LayoutDirection.Vertical; scrollablePanel.autoLayout = true; // Populate list of incompatible mods if (IncompatibleMods.Count != 0) { IncompatibleMods.ForEach( pair => { CreateEntry(ref scrollablePanel, pair.Value, pair.Key); }); } scrollablePanel.FitTo(panel); scrollablePanel.scrollWheelDirection = UIOrientation.Vertical; scrollablePanel.builtinKeyNavigation = true; UIScrollbar verticalScroll = panel.AddUIComponent <UIScrollbar>(); verticalScroll.stepSize = 1; verticalScroll.relativePosition = new Vector2(panel.width - 15, 0); verticalScroll.orientation = UIOrientation.Vertical; verticalScroll.size = new Vector2(20, 320); verticalScroll.incrementAmount = 25; verticalScroll.scrollEasingType = EasingType.BackEaseOut; scrollablePanel.verticalScrollbar = verticalScroll; UISlicedSprite track = verticalScroll.AddUIComponent <UISlicedSprite>(); track.spriteName = "ScrollbarTrack"; track.relativePosition = Vector3.zero; track.size = new Vector2(16, 320); verticalScroll.trackObject = track; UISlicedSprite thumb = track.AddUIComponent <UISlicedSprite>(); thumb.spriteName = "ScrollbarThumb"; thumb.autoSize = true; thumb.relativePosition = Vector3.zero; verticalScroll.thumbObject = thumb; // Add blur effect if applicable blurEffect_ = GameObject.Find("ModalEffect").GetComponent <UIComponent>(); AttachUIComponent(blurEffect_.gameObject); blurEffect_.size = new Vector2(resolution.x, resolution.y); blurEffect_.absolutePosition = new Vector3(0, 0); blurEffect_.SendToBack(); blurEffect_.eventPositionChanged += OnBlurEffectPositionChange; blurEffect_.eventZOrderChanged += OnBlurEffectZOrderChange; blurEffect_.opacity = 0; blurEffect_.isVisible = true; ValueAnimator.Animate( "ModalEffect", val => blurEffect_.opacity = val, new AnimatedFloat(0f, 1f, 0.7f, EasingType.CubicEaseOut)); // Make sure modal dialog is in front of all other UI BringToFront(); }
private void SetupScrollPanel() { ModLogger.Debug("Setting up scroll panel"); // Create the main panel hosting the scrollable panel _mainPanel = AddUIComponent <UIPanel>(); _mainPanel.gameObject.AddComponent <UICustomControl>(); _mainPanel.width = width - UIConstants.MainWindowMainPanelWidthOffset; int[] offsettingItems = new int[] { UIConstants.TitlePanelHeight, UIConstants.CaptionPanelLabelOffset, UIConstants.CaptionPanelHeight, UIConstants.FilterPanelHeight, autoLayoutPadding.bottom * 4, autoLayoutPadding.top * 4 }; _mainPanel.height = height - offsettingItems.Sum(); // taken from http://www.reddit.com/r/CitiesSkylinesModding/comments/2zrz0k/extended_public_transport_ui_provides_addtional/cpnet5q _scrollablePanel = _mainPanel.AddUIComponent <UIScrollablePanel>(); _scrollablePanel.width = _scrollablePanel.parent.width - UIConstants.MainWindowScrollablePanelWidthOffset - 10; _scrollablePanel.height = _scrollablePanel.parent.height; _scrollablePanel.autoLayout = true; _scrollablePanel.autoLayoutDirection = LayoutDirection.Vertical; _scrollablePanel.autoLayoutStart = LayoutStart.TopLeft; _scrollablePanel.autoLayoutPadding = UIConstants.AutoLayoutPadding; _scrollablePanel.clipChildren = true; _scrollablePanel.pivot = UIPivotPoint.TopLeft; _scrollablePanel.AlignTo(_scrollablePanel.parent, UIAlignAnchor.TopLeft); _scrollablePanel.relativePosition = new Vector3(5, 0); UIScrollbar scrollbar = _mainPanel.AddUIComponent <UIScrollbar>(); scrollbar.width = scrollbar.parent.width - _scrollablePanel.width; scrollbar.height = scrollbar.parent.height; scrollbar.orientation = UIOrientation.Vertical; scrollbar.pivot = UIPivotPoint.BottomLeft; scrollbar.AlignTo(scrollbar.parent, UIAlignAnchor.TopRight); scrollbar.minValue = 0; scrollbar.value = 0; scrollbar.incrementAmount = UIConstants.ScrollbarIncrementCount; UISlicedSprite trackSprite = scrollbar.AddUIComponent <UISlicedSprite>(); trackSprite.relativePosition = Vector2.zero; trackSprite.autoSize = true; trackSprite.size = trackSprite.parent.size; trackSprite.fillDirection = UIFillDirection.Vertical; trackSprite.spriteName = UIConstants.ScrollbarTrackSprite; scrollbar.trackObject = trackSprite; UISlicedSprite thumbSprite = trackSprite.AddUIComponent <UISlicedSprite>(); thumbSprite.relativePosition = Vector2.zero; thumbSprite.fillDirection = UIFillDirection.Vertical; thumbSprite.autoSize = true; thumbSprite.width = thumbSprite.parent.width; thumbSprite.spriteName = UIConstants.ScrollbarThumbSprite; scrollbar.thumbObject = thumbSprite; _scrollablePanel.verticalScrollbar = scrollbar; _scrollablePanel.eventMouseWheel += (component, param) => { var sign = Math.Sign(param.wheelDelta); _scrollablePanel.scrollPosition += new Vector2(0, sign * (-1) * UIConstants.ScrollbarMouseWheelOffset); }; ModLogger.Debug("Scroll panel set up"); }