public static UICheckBox MakeCheckbox(UIPanel panel, string name, string text, Vector2 position, bool value, CheckboxSetValue setValue) { var label = panel.AddUIComponent <UILabel>(); label.name = name; label.text = text; label.relativePosition = position; label.textScale = 0.8f; label.textColor = Color.black; var checkbox = panel.AddUIComponent <UICheckBox>(); checkbox.AlignTo(label, UIAlignAnchor.TopLeft); checkbox.relativePosition = new Vector3(checkbox.relativePosition.x + 274.0f, checkbox.relativePosition.y - 2.0f); checkbox.size = new Vector2(16.0f, 16.0f); checkbox.isVisible = true; checkbox.canFocus = true; checkbox.isInteractive = true; if (setValue != null) { checkbox.eventCheckChanged += (component, newValue) => { setValue(newValue); }; } var uncheckSprite = checkbox.AddUIComponent <UISprite>(); uncheckSprite.size = new Vector2(16.0f, 16.0f); uncheckSprite.relativePosition = new Vector3(0, 0); uncheckSprite.spriteName = "check-unchecked"; uncheckSprite.isVisible = true; var checkSprite = checkbox.AddUIComponent <UISprite>(); checkSprite.size = new Vector2(16.0f, 16.0f); checkSprite.relativePosition = new Vector3(0, 0); checkSprite.spriteName = "check-checked"; checkbox.isChecked = value; checkbox.checkedBoxObject = checkSprite; return(checkbox); }
private void SetupSizePanel() { layoutPanelSize = AddUIComponent <UIPanel>(); layoutPanelSize.size = new Vector2(width, 10); layoutPanelSize.autoLayout = true; layoutPanelSize.autoLayoutDirection = LayoutDirection.Horizontal; layoutPanelSize.autoFitChildrenHorizontally = true; layoutPanelSize.autoLayoutPadding = new RectOffset(10, 0, 0, 0); layoutPanelSize.zOrder = 0; //size slider sizeLabel = layoutPanelSize.AddUIComponent <UILabel>(); sizeLabel.text = Translation.Instance.GetTranslation("FOREST-BRUSH-BRUSH-OPTIONS-SIZE"); sizeLabel.textScale = Constants.UITextScale; sizeLabel.autoSize = false; sizeLabel.width = 80f; sizeLabel.disabledTextColor = new Color32(100, 100, 100, 255); sizeLabel.textAlignment = UIHorizontalAlignment.Left; sizeLabel.verticalAlignment = UIVerticalAlignment.Middle; sizeLabel.zOrder = 0; sizeSlider = layoutPanelSize.AddUIComponent <UISlider>(); sizeSlider.atlas = ResourceLoader.Atlas; sizeSlider.size = new Vector2(400f - sizeLabel.width - 30f, 5f); sizeSlider.color = new Color32(0, 0, 0, 255); sizeSlider.disabledColor = new Color32(190, 190, 190, 255); sizeSlider.minValue = 1f; sizeSlider.maxValue = ForestBrush.Instance.Tool.Tweaker.MaxSize; sizeSlider.stepSize = 1f; sizeSlider.value = UserMod.Settings.SelectedBrush.Options.Size; sizeSlider.scrollWheelAmount = 1f; sizeSlider.eventValueChanged += SizeSlider_eventValueChanged; sizeSlider.eventMouseUp += SizeSlider_eventMouseUp; sizeSlider.backgroundSprite = ResourceLoader.WhiteRect; sizeSlider.tooltip = UserMod.Settings.SelectedBrush.Options.Size.ToString(); sizeSlider.pivot = UIPivotPoint.TopLeft; sizeSlider.zOrder = 1; UISprite thumb = sizeSlider.AddUIComponent <UISprite>(); thumb.atlas = ResourceLoader.Atlas; thumb.size = new Vector2(20, 20); thumb.spriteName = ResourceLoader.IconPolicyForest; sizeSlider.thumbObject = thumb; }
private static void AddBar(ref UIPanel page) { var bar = page.AddUIComponent <UISprite>(); bar.width = bar.parent.width; bar.height = 3; bar.spriteName = "RocketProgressBarFill"; bar.color = Helper.RGB(80, 80, 80); }
public override void Start() { headerpanel = (UIPanel)this.AddUIComponent(typeof(UIPanel)); headerpanel.height = 20; headerpanel.backgroundSprite = "GenericPanel"; headerpanel.color = new Color32(0, 0, 100, 200); headertext = headerpanel.AddUIComponent <UILabel>(); headertext.text = "CSL Stats Panel - Configuration, v" + System.Reflection.Assembly.GetAssembly(typeof(CSLStatsPanelMod)).GetName().Version;; headertext.CenterToParent(); myConfigWindowPanel = (ConfigSettingsWindow)this.AddUIComponent(typeof(ConfigSettingsWindow)); myConfigWindowPanel.width = this.width; myConfigWindowPanel.name = "CSLStatsConfigurationPanel"; myConfigWindowPanel.color = new Color32(0, 0, 0, 255); //myConfigWindowPanel.eventStatsConfigChanged += new ConfigSettingsWindow.eventStatsConfigChangedHandler(myConfigWindowPanel_eventStatsConfigChanged); //myConfigWindowPanel.eventModeConfigChanged += new ConfigSettingsWindow.eventConfigModeChangedHandler(myConfigWindowPanel_eventModeConfigChanged); //myConfigWindowPanel.eventConfigReset += new ConfigSettingsWindow.eventConfigResetHandler(myConfigWindowPanel_eventConfigReset); //myConfigWindowPanel.eventConfigTransparencyChanged += new ConfigSettingsWindow.eventConfigTransparencyChangeHandler(myConfigWindowPanel_eventConfigTransparencyChanged); myresizepanel = (UIResizeHandle)this.AddUIComponent(typeof(UIResizeHandle)); myresizepanel.name = "CSLStatsConfigurationResizePanel"; myresizepanel.height = 20; myresizepanel.color = new Color32(0, 0, 100, 200); myresizepanel.backgroundSprite = "GenericPanel"; //myresizepanel.anchor = UIAnchorStyle.Bottom; //myresizepanel.anchor = UIAnchorStyle.Right; //resizelabel = myresizepanel.AddUIComponent<UILabel>(); var CloseButton = (UIButton)myresizepanel.AddUIComponent(typeof(UIButton)); CloseButton.width = 125; CloseButton.height = 20; CloseButton.normalBgSprite = "ButtonMenu"; CloseButton.hoveredBgSprite = "ButtonMenuHovered"; CloseButton.focusedBgSprite = "ButtonMenuFocused"; CloseButton.pressedBgSprite = "ButtonMenuPressed"; CloseButton.textColor = new Color32(186, 217, 238, 0); CloseButton.disabledTextColor = new Color32(7, 7, 7, 255); CloseButton.hoveredTextColor = new Color32(7, 132, 255, 255); CloseButton.focusedTextColor = new Color32(255, 255, 255, 255); CloseButton.pressedTextColor = new Color32(30, 30, 44, 255); CloseButton.color = new Color32(CloseButton.color.r, CloseButton.color.g, CloseButton.color.b, 255); //CloseButton.transformPosition = new Vector3(1.2f, -0.93f); CloseButton.BringToFront(); CloseButton.text = "Close"; CloseButton.eventClick += new MouseEventHandler(CloseButton_eventClick); myresizepanel.FitChildrenVertically(); this.CenterToParent(); base.Start(); OnSizeChanged(); this.Update(); this.BringToFront(); }
private void SetupStrengthPanel() { layoutPanelStrength = AddUIComponent <UIPanel>(); layoutPanelStrength.size = new Vector2(width, 10); layoutPanelStrength.autoLayout = true; layoutPanelStrength.autoLayoutDirection = LayoutDirection.Horizontal; layoutPanelStrength.autoFitChildrenHorizontally = true; layoutPanelStrength.autoLayoutPadding = new RectOffset(10, 0, 0, 0); layoutPanelStrength.zOrder = 1; strengthLabel = layoutPanelStrength.AddUIComponent <UILabel>(); strengthLabel.text = Translation.Instance.GetTranslation("FOREST-BRUSH-BRUSH-OPTIONS-STRENGTH"); strengthLabel.textScale = Constants.UITextScale; strengthLabel.autoSize = false; strengthLabel.width = 80f; strengthLabel.disabledTextColor = new Color32(100, 100, 100, 255); strengthLabel.textAlignment = UIHorizontalAlignment.Left; strengthLabel.verticalAlignment = UIVerticalAlignment.Middle; strengthLabel.zOrder = 0; strengthSlider = layoutPanelStrength.AddUIComponent <UISlider>(); strengthSlider.atlas = ResourceLoader.Atlas; strengthSlider.size = new Vector2(400f - strengthLabel.width - 30f, 5f); strengthSlider.color = new Color32(0, 0, 0, 255); strengthSlider.disabledColor = new Color32(190, 190, 190, 255); strengthSlider.minValue = 0.01f; strengthSlider.maxValue = 1f; strengthSlider.stepSize = 0.01f; strengthSlider.value = UserMod.Settings.SelectedBrush.Options.Strength; strengthSlider.scrollWheelAmount = 0.01f; strengthSlider.tooltip = Math.Round(strengthSlider.value * 100, 1, MidpointRounding.AwayFromZero) + "%"; strengthSlider.eventValueChanged += StrengthSlider_eventValueChanged; strengthSlider.eventMouseUp += StrengthSlider_eventMouseUp; strengthSlider.backgroundSprite = ResourceLoader.WhiteRect; strengthSlider.zOrder = 1; strengthSlider.pivot = UIPivotPoint.TopLeft; UISprite thumb1 = strengthSlider.AddUIComponent <UISprite>(); thumb1.atlas = ResourceLoader.Atlas; thumb1.size = new Vector2(20, 20); thumb1.spriteName = ResourceLoader.IconPolicyForest; strengthSlider.thumbObject = thumb1; }
public static UIDropDown MakeDropDown(UIPanel panel, float y, string txt, string[] items, ColossalFramework.UI.PropertyChangedEventHandler <int> eventClick) { UILabel label = panel.AddUIComponent <UILabel>(); UIDropDown dd = panel.AddUIComponent <UIDropDown>(); UIButton ddb = panel.AddUIComponent <UIButton>(); label.name = txt + "Label"; label.text = txt; label.relativePosition = new Vector3(15.0f, y); label.textScale = 0.8f; y += 18; ddb.normalFgSprite = "ButtonPlay"; // PropertyGroupOpen ddb.width = 15; ddb.height = 16; ddb.verticalAlignment = UIVerticalAlignment.Middle; ddb.horizontalAlignment = UIHorizontalAlignment.Right; ddb.relativePosition = new Vector3(14, y + 2); dd.triggerButton = ddb; dd.name = txt; dd.size = new Vector2(200.0f, 20.0f); dd.textScale = 0.8f; dd.items = items; dd.relativePosition = new Vector3(33, y); dd.isVisible = true; dd.enabled = true; dd.isInteractive = true; dd.listBackground = "Servicebar"; //"BrushBackgroundDisabled"; dd.itemHover = "ListItemHover"; dd.itemHighlight = "ListItemHighlight"; dd.normalBgSprite = "BrushBackgroundDisabled"; dd.width = 200; dd.height = 20; dd.listWidth = 200; dd.itemHeight = 20; dd.itemPadding = new RectOffset(4, 20, 4, 4); dd.textFieldPadding = new RectOffset(4, 20, 4, 4); dd.selectedIndex = 0; dd.eventSelectedIndexChanged += eventClick; return(dd); }
private UILabel AddShortcutDescriptionText(UIPanel parent, Vector2 position) { var label = parent.AddUIComponent <UILabel>(); label.textColor = OnScreenDisplayPanel.PALETTE_SHORTCUT_TEXT; label.text = text_; label.autoHeight = true; label.relativePosition = position; return(label); }
UIPanel drawstatsconfigpanel(StatisticsCategoryWrapper scw) { UIPanel catsubpanel = this.AddUIComponent <UIPanel>(); catpanels.Add(catsubpanel); catsubpanel.autoLayout = true; catsubpanel.wrapLayout = true; catsubpanel.autoLayoutDirection = LayoutDirection.Horizontal; catsubpanel.width = this.width - 5; catsubpanel.backgroundSprite = "GenericPanel"; //catsubpanel.height = 15; catsubpanel.autoLayoutPadding = new RectOffset(3, 3, 3, 3); bool catisChecked = CSLStatsPanelConfigSettings.isCatActive(scw.m_category); UIButton catname = catsubpanel.AddUIComponent <UIButton>(); catname.textColor = (catisChecked) ? selectedcolor : deselectedcolor; setcommonbuttonprops(catname); catname.autoSize = true; catname.text = scw.m_category; catname.name = scw.m_category; catsubpanel.color = (catisChecked) ? selectedcolor : deselectedcolor; catsubpanel.autoSize = true; catname.eventClick += new MouseEventHandler(catsubpanel_eventClick); for (int x = 0; x < scw.m_scwlist.Count(); x++) { bool isStatActive = CSLStatsPanelConfigSettings.isStatActive(scw.m_category, scw.m_scwlist[x].m_desc); UIButton statname = catsubpanel.AddUIComponent <UIButton>(); statname.name = scw.m_category + "|" + scw.m_scwlist[x].m_desc; statname.color = (isStatActive) ? selectedcolor : deselectedcolor; statname.textColor = (isStatActive) ? selectedcolor : deselectedcolor; setcommonbuttonprops(statname); statname.text = scw.m_scwlist[x].m_desc; statname.eventClick += new MouseEventHandler(statsubpanel_eventClick); } catsubpanel.FitChildrenVertically(); return(catsubpanel); }
private static void CreateTabStrip(UIPanel mainPanel) { TabPanels = new List <CustomUIPanel>(); TabStrip = mainPanel.AddUIComponent <TabStrip>(); TabStrip.SelectedTabChanged += OnSelectedTabChanged; TabStrip.SelectedTab = -1; TabStrip.width = mainPanel.width - mainPanel.autoLayoutPadding.horizontal; TabStrip.eventSizeChanged += (UIComponent component, Vector2 value) => TabStripSizeChanged(mainPanel); }
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> /// Sets up the building scroll panel. /// </summary> /// <param name="parent"></param> /// <returns></returns> private void AddScrollPanel() { scrollPanel = buildingPanel.AddUIComponent <UIScrollPanel>(); // Basic setup. scrollPanel.name = "RICOScrollPanel"; scrollPanel.autoLayout = false; scrollPanel.autoReset = false; scrollPanel.autoSize = false; scrollPanel.template = "PlaceableItemTemplate"; scrollPanel.itemWidth = 109f; scrollPanel.itemHeight = 100f; scrollPanel.canSelect = true; // Size and position. scrollPanel.size = new Vector2(763, 100); scrollPanel.relativePosition = new Vector3(48, 5); // 'Left' and 'Right' buttons to scroll panel. scrollPanel.leftArrow = ArrowButton("ArrowLeft", 16f); scrollPanel.rightArrow = ArrowButton("ArrowRight", 812f); // Event handler on grandparent size change. buildingPanel.parent.eventSizeChanged += (control, size) => { // If we're visible, resize to match the new grandparent size. if (scrollPanel.isVisible) { // New size. scrollPanel.size = new Vector2((int)((size.x - 40f) / scrollPanel.itemWidth) * scrollPanel.itemWidth, (int)(size.y / scrollPanel.itemHeight) * scrollPanel.itemHeight); // New relative position. scrollPanel.relativePosition = new Vector3(scrollPanel.relativePosition.x, Mathf.Floor((size.y - scrollPanel.height) / 2)); // Move right arrow if it exists. if (scrollPanel.rightArrow != null) { scrollPanel.rightArrow.relativePosition = new Vector3(scrollPanel.relativePosition.x + scrollPanel.width, 0); } } }; }
protected void CreateDragHandle(string title) { UIPanel dragHandlePanel = AddUIComponent <UIPanel>(); dragHandlePanel.atlas = atlas; dragHandlePanel.backgroundSprite = "GenericPanel"; dragHandlePanel.width = width; dragHandlePanel.height = 20; dragHandlePanel.opacity = 100; dragHandlePanel.color = new Color32(21, 140, 34, 255); dragHandlePanel.relativePosition = Vector3.zero; UIDragHandle dragHandle = dragHandlePanel.AddUIComponent <UIDragHandle>(); dragHandle.width = width; dragHandle.height = dragHandle.parent.height; dragHandle.relativePosition = Vector3.zero; dragHandle.target = this; UILabel titleLabel = dragHandlePanel.AddUIComponent <UILabel>(); titleLabel.relativePosition = new Vector3() { x = 50, y = 3, z = 0 }; titleLabel.textAlignment = UIHorizontalAlignment.Center; titleLabel.text = title; titleLabel.isInteractive = false; UIButton headerIcon = dragHandlePanel.AddUIComponent <UIButton>(); headerIcon.atlas = UIHelper.GenerateLinearAtlas("MOM_HeaderIconAtlas", UIHelper.HeaderIconTexture, 1, new string[] { UIHelper.HeaderIconTexture.name }); headerIcon.relativePosition = new Vector3() { x = 5, y = -10 }; headerIcon.width = 40; headerIcon.height = 40; headerIcon.normalFgSprite = UIHelper.HeaderIconTexture.name; height += 2 * dragHandle.height; }
/// <summary> /// Creates the panel object in-game and displays it. /// </summary> private static void Create() { try { // We're now visible - create our gameobject, and give it a unique name for easy finding with ModTools. optionsGameObject = new GameObject("BOBOptionsPanel"); // Attach to game options panel. optionsGameObject.transform.parent = optionsPanel.transform; // Create a base panel attached to our game object, perfectly overlaying the game options panel. UIPanel basePanel = optionsGameObject.AddComponent <UIPanel>(); basePanel.absolutePosition = optionsPanel.absolutePosition; basePanel.width = optionsPanel.width; basePanel.height = 725f; // Add tabstrip. UITabstrip tabStrip = basePanel.AddUIComponent <UITabstrip>(); tabStrip.relativePosition = new Vector3(0, 0); tabStrip.width = basePanel.width; tabStrip.height = basePanel.height; // Tab container (the panels underneath each tab). UITabContainer tabContainer = basePanel.AddUIComponent <UITabContainer>(); tabContainer.relativePosition = new Vector3(0, 30f); tabContainer.width = tabStrip.width; tabContainer.height = tabStrip.height; tabStrip.tabPages = tabContainer; // Add tabs and panels. new GeneralOptionsPanel(tabStrip, 0); new ConfigurationsPanel(tabStrip, 1); new RuiningOptionsPanel(tabStrip, 2); // Disable hotkey while options panel is open. UIThreading.Operating = false; } catch (Exception e) { Logging.LogException(e, "exception creating options panel"); } }
/// <summary> /// Create read-only display of a key binding /// </summary> /// <param name="parent">The panel to host it</param> /// <param name="showKey">The key to display</param> public void CreateKeybindText(UIPanel parent, SavedInputKey showKey, float widthFraction) { var label = parent.AddUIComponent <UILabel>(); label.autoSize = false; label.size = new Vector2(ROW_WIDTH * widthFraction, ROW_HEIGHT); label.text = Keybind.ToLocalizedString(showKey); label.verticalAlignment = UIVerticalAlignment.Middle; label.textAlignment = UIHorizontalAlignment.Center; label.textColor = new Color32(128, 128, 128, 255); // grey }
private UIDragHandle CreateDragHandle(UIPanel parent) { UIDragHandle dragHandle = parent.AddUIComponent <UIDragHandle>(); dragHandle.name = "DragHandle"; dragHandle.width = parent.width - 40f; // Make room for close button? dragHandle.height = 40f; dragHandle.relativePosition = Vector3.zero; dragHandle.target = parent; return(dragHandle); }
public void CreateResetMenuPosition(UIPanel parent) { var btn = parent.AddUIComponent <UIButton>(); btn.size = new Vector2(ROW_WIDTH * 0.3f, ROW_HEIGHT); btn.text = "Reset Menu Position"; btn.hoveredTextColor = new Color32(128, 128, 255, 255); btn.pressedTextColor = new Color32(192, 192, 255, 255); btn.normalBgSprite = "ButtonMenu"; btn.eventClick += OnResetClicked; }
private void CreateLightColorPanel() { UIPanel lightPanel = AddUIComponent <UIPanel>(); lightPanel.size = new Vector2(12.0f, 30.0f); lightColorPanel = lightPanel.AddUIComponent <UIPanel>(); lightColorPanel.size = new Vector2(12.0f, 12.0f); lightColorPanel.atlas = Resources.DefaultAtlas; lightColorPanel.backgroundSprite = "PieChartWhiteFg"; lightColorPanel.relativePosition = new Vector2(0.0f, 9.0f); }
public static void Initialize() { Dispose(); var uiView = UIView.GetAView(); _panel = uiView.AddUIComponent(typeof(UIPanel)) as UIPanel; _panel.name = "WildlifeSpawnerPanel"; _panel.backgroundSprite = "MenuPanel2"; _panel.size = new Vector2(100 + 200 + 12, 72); _panel.isVisible = false; _panel.relativePosition = new Vector3(0, 874); UIUtil.SetupTitle("Wildlife Spawn Point", _panel); var collideLabel = _panel.AddUIComponent <UILabel>(); collideLabel.text = "Animal"; collideLabel.width = 100; collideLabel.height = 24; collideLabel.textScale = 0.8f; collideLabel.relativePosition = new Vector2(4, 44); _animalDropDown = UIUtil.CreateDropDown(_panel); _animalDropDown.width = 200; _animalDropDown.height = 24; _animalDropDown.listWidth = 200; _animalDropDown.tooltip = "Select animal"; _animalDropDown.relativePosition = new Vector2(8 + 100, 44); _animalDropDown.items = new[] { "Random" }.Concat(WildlifeSpawnManager.instance.Animals.m_buffer.Select(index => { var prefab = PrefabCollection <CitizenInfo> .GetPrefab(index); return(prefab != null ? prefab.name : ""); }).Where(s => !string.IsNullOrEmpty(s))).ToArray(); _animalDropDown.listPosition = UIDropDown.PopupListPosition.Above; Reset(); _plopButton = UIView.GetAView().FindUIComponent <UITabstrip>("MainToolstrip").AddUIComponent <UIButton>(); //main button on in game tool strip. _plopButton.size = new Vector2(43, 49); _plopButton.eventClick += (component, param) => { var tool = ToolsModifierControl.SetTool <BuildingTool>(); tool.m_prefab = PrefabCollection <BuildingInfo> .FindLoaded("Wildlife Spawn Point"); }; _plopButton.normalBgSprite = "ToolbarIconGroup6Normal"; _plopButton.normalFgSprite = "IconPolicyBigBusiness"; _plopButton.focusedBgSprite = "ToolbarIconGroup6Focused"; _plopButton.hoveredBgSprite = "ToolbarIconGroup6Hovered"; _plopButton.pressedBgSprite = "ToolbarIconGroup6Pressed"; _plopButton.disabledBgSprite = "ToolbarIconGroup6Disabled"; _plopButton.name = "WildlifeSpawnPointPlopButton"; _plopButton.tooltip = "Place animal spawn point"; }
private static UICheckBox MakeCheckbox(UIPanel panel, string name, string text, float y, bool value, CheckboxSetValue setValue) { var label = panel.AddUIComponent <UILabel>(); label.name = name; label.text = text; label.relativePosition = new Vector3(4.0f, y); label.textScale = 0.8f; var checkbox = panel.AddUIComponent <UICheckBox>(); checkbox.AlignTo(label, UIAlignAnchor.TopLeft); checkbox.relativePosition = new Vector3(checkbox.relativePosition.x + 332.0f, checkbox.relativePosition.y - 6.0f); checkbox.size = new Vector2(20.0f, 20.0f); checkbox.isVisible = true; checkbox.canFocus = true; checkbox.isInteractive = true; checkbox.eventCheckChanged += (component, newValue) => { setValue(newValue); }; var uncheckSprite = checkbox.AddUIComponent <UISprite>(); uncheckSprite.size = new Vector2(20.0f, 20.0f); uncheckSprite.relativePosition = new Vector3(0, 0); uncheckSprite.spriteName = "check-unchecked"; uncheckSprite.isVisible = true; var checkSprite = checkbox.AddUIComponent <UISprite>(); checkSprite.size = new Vector2(20.0f, 20.0f); checkSprite.relativePosition = new Vector3(0, 0); checkSprite.spriteName = "check-checked"; checkbox.isChecked = value; checkbox.checkedBoxObject = checkSprite; return(checkbox); }
/// <summary> /// Adds a slider with a descriptive text label above and an automatically updating value label immediately to the right. /// </summary> /// <param name="parent">Panel to add the control to</param> /// <param name="text">Descriptive label text</param> /// <param name="min">Slider minimum value</param> /// <param name="max">Slider maximum value</param> /// <param name="step">Slider minimum step</param> /// <param name="defaultValue">Slider initial value</param> /// <param name="eventCallback">Slider event handler</param> /// <param name="width">Slider width (excluding value label to right) (default 600)</param> /// <returns>New UI slider with attached labels</returns> internal static UISlider AddSliderWithValue(UIComponent parent, string text, float min, float max, float step, float defaultValue, OnValueChanged eventCallback, float width = 600f, float textScale = 1f) { // Add slider component. UIPanel sliderPanel = parent.AttachUIComponent(UITemplateManager.GetAsGameObject("OptionsSliderTemplate")) as UIPanel; sliderPanel.Find <UILabel>("Label").text = text; // Label. UILabel sliderLabel = sliderPanel.Find <UILabel>("Label"); sliderLabel.autoHeight = true; sliderLabel.width = width; sliderLabel.anchor = UIAnchorStyle.Left | UIAnchorStyle.Top; sliderLabel.relativePosition = Vector3.zero; sliderLabel.relativePosition = Vector3.zero; sliderLabel.textScale = textScale; sliderLabel.text = text; // Slider configuration. UISlider newSlider = sliderPanel.Find <UISlider>("Slider"); newSlider.minValue = min; newSlider.maxValue = max; newSlider.stepSize = step; newSlider.value = defaultValue; // Move default slider position to match resized label. sliderPanel.autoLayout = false; newSlider.anchor = UIAnchorStyle.Left | UIAnchorStyle.Top; newSlider.relativePosition = PositionUnder(sliderLabel); newSlider.width = width; // Increase height of panel to accomodate it all plus some extra space for margin. sliderPanel.autoSize = false; sliderPanel.width = width + 50f; sliderPanel.height = newSlider.relativePosition.y + newSlider.height + 15f; // Value label. UILabel valueLabel = sliderPanel.AddUIComponent <UILabel>(); valueLabel.name = "ValueLabel"; valueLabel.text = newSlider.value.ToString(); valueLabel.relativePosition = PositionRightOf(newSlider, 8f, 1f); // Event handler to update value label. newSlider.eventValueChanged += (component, value) => { valueLabel.text = value.ToString(); eventCallback(value); }; return(newSlider); }
/// <summary> /// Adds options tab to tabstrip. /// </summary> /// <param name="tabStrip">Tab strip to add to</param> /// <param name="tabIndex">Index number of tab</param> internal CalculationsTabBase(UITabstrip parentTabStrip, int tabIndex) { // Add tab and helper. UIPanel panel = PanelUtils.AddIconTab(parentTabStrip, Tooltip, tabIndex, IconNames, AtlasNames, TabWidth); // Add tabstrip. UITabstrip childTabStrip = panel.AddUIComponent <UITabstrip>(); childTabStrip.relativePosition = new Vector3(0, 0); childTabStrip.size = new Vector2(744f, 725f); // Tab container (the panels underneath each tab). UITabContainer tabContainer = panel.AddUIComponent <UITabContainer>(); tabContainer.relativePosition = new Vector3(0, 30f); tabContainer.size = new Vector3(744f, 720); childTabStrip.tabPages = tabContainer; // Add child tabs. AddTabs(childTabStrip); }
public static CustomCheckbox MakeCheckBox(UIPanel panel, string txt, float y, ColossalFramework.UI.MouseEventHandler eventClick, string tooltip = "", float x = 15.0f) { UILabel label = panel.AddUIComponent <UILabel>(); label.name = txt + "Label"; label.text = txt; label.relativePosition = new Vector3(35.0f, y); label.textScale = 0.8f; CustomCheckbox cb = panel.AddUIComponent <CustomCheckbox>(); cb.relativePosition = new Vector3(x, y); cb.size = new Vector2(12, 12); cb.eventClick += eventClick; cb.Show(); cb.color = new Color32(185, 221, 254, 255); cb.enabled = true; cb.isChecked = true; cb.tooltip = tooltip; return(cb); }
public override void Start() { LoadResources(); atlas = UIUtils.GetAtlas("Ingame"); backgroundSprite = "MenuPanel"; color = new Color32(255, 255, 255, 255); isVisible = false; canFocus = true; isInteractive = true; clipChildren = true; width = 580; height = INITIAL_HEIGHT; absolutePosition = new Vector3(670, 300); //make setter! // Title Bar m_title = AddUIComponent <UITitleBar>(); m_title.title = "Notice"; m_title.GetComponentInChildren <UILabel>().textScale = 1.3f; UIPanel panel = AddUIComponent <UIPanel>(); panel.atlas = UIUtils.GetAtlas("Ingame"); panel.backgroundSprite = "GenericPanelDark"; panel.relativePosition = new Vector2(20, 55); panel.size = new Vector2(width - 40, 300); netEle_label = panel.AddUIComponent <UILabel>(); netEle_label.text = "Display Error"; netEle_label.autoSize = false; netEle_label.wordWrap = true; netEle_label.width = 500f; netEle_label.height = 420f; netEle_label.relativePosition = new Vector2(20, 20); okButton = UIUtils.CreateButton(panel); okButton.normalBgSprite = "GenericPanel"; okButton.text = "OK"; okButton.textScale = 1f; okButton.relativePosition = new Vector2(400, 313); okButton.height = 47; okButton.width = 138; okButton.eventClick += (c, p) => { if (isVisible) { instance.Hide(); } }; }
public UILabel CreateLabel(UIPanel parent, string text, float widthFraction) { var label = parent.AddUIComponent <UILabel>(); label.wordWrap = true; label.autoSize = false; label.size = new Vector2(ROW_WIDTH * widthFraction, ROW_HEIGHT); label.text = text; label.verticalAlignment = UIVerticalAlignment.Middle; label.textAlignment = UIHorizontalAlignment.Left; return(label); }
public static void CreateOrUpdateJoinGameButton() { _logger.Info("Creating join game button..."); UIPanel uiView = UIView.GetAView()?.FindUIComponent("Menu") as UIPanel; if (uiView == null) { return; } UIButton joinGameButton = UIView.GetAView().FindUIComponent("JoinGame") as UIButton; // Create the button if it does not exist and assign // the click event. if (joinGameButton == null) { joinGameButton = (UIButton)uiView.AddUIComponent(typeof(UIButton)); joinGameButton.eventClick += (s, e) => { PanelManager.ShowPanel <JoinGamePanel>(); }; } joinGameButton.name = "JoinGame"; joinGameButton.text = "JOIN GAME"; joinGameButton.width = 411; joinGameButton.height = 56; joinGameButton.textHorizontalAlignment = UIHorizontalAlignment.Center; joinGameButton.focusedColor = new Color32(254, 254, 254, 255); joinGameButton.focusedTextColor = new Color32(255, 255, 255, 255); joinGameButton.hoveredColor = new Color32(94, 195, 255, 255); joinGameButton.hoveredFgSprite = "MenuPanelInfo"; joinGameButton.hoveredTextColor = new Color32(7, 123, 255, 255); joinGameButton.bottomColor = new Color32(163, 226, 254, 255); joinGameButton.textColor = new Color32(254, 254, 254, 255); joinGameButton.textScale = 1.5f; joinGameButton.pressedColor = new Color32(185, 221, 254, 255); joinGameButton.pressedFgSprite = "MenuPanelInfo"; joinGameButton.pressedTextColor = new Color32(30, 30, 44, 255); joinGameButton.useDropShadow = true; joinGameButton.useGradient = true; joinGameButton.useGUILayout = true; joinGameButton.dropShadowOffset = new Vector2(0, -1.33f); }
public void Initialise() { UIPanel _uiPanel = UIView.Find <UIPanel>("InfoPanel"); UIPanel _panelTime = _uiPanel == null ? null : _uiPanel.Find <UIPanel>("PanelTime"); _oldDayProgressSprite = _panelTime == null ? null : _panelTime.Find <UISprite>("Sprite"); UILabel _dateLabel = _oldDayProgressSprite == null ? null : _oldDayProgressSprite.Find <UILabel>("Time"); if (_uiPanel != null && _panelTime != null && _oldDayProgressSprite != null && _dateLabel != null) { _newDayProgressSprite = _panelTime.AddUIComponent <UISprite>(); _newDayProgressSprite.name = "NewSprite"; _newDayProgressSprite.relativePosition = _oldDayProgressSprite.relativePosition; _newDayProgressSprite.atlas = _oldDayProgressSprite.atlas; _newDayProgressSprite.spriteName = _oldDayProgressSprite.spriteName; _newDayProgressSprite.size = _oldDayProgressSprite.size; _newDayProgressSprite.fillAmount = 0.5f; _newDayProgressSprite.fillDirection = UIFillDirection.Horizontal; _newDayProgressSprite.color = new Color32(255, 255, 255, 255); _newDayProgressLabel = _newDayProgressSprite.AddUIComponent <UILabel>(); _newDayProgressLabel.name = "NewTime"; _newDayProgressLabel.autoSize = false; _newDayProgressLabel.autoHeight = false; _newDayProgressLabel.font = _dateLabel.font; _newDayProgressLabel.atlas = _dateLabel.atlas; _newDayProgressLabel.color = _dateLabel.color; _newDayProgressLabel.textColor = _dateLabel.textColor; _newDayProgressLabel.size = _newDayProgressSprite.size; _newDayProgressLabel.width = _newDayProgressSprite.width; _newDayProgressLabel.height = _newDayProgressSprite.height; _newDayProgressLabel.textAlignment = UIHorizontalAlignment.Center; _newDayProgressLabel.verticalAlignment = UIVerticalAlignment.Middle; _newDayProgressLabel.relativePosition = new Vector3(0, 0, 0); _newDayProgressLabel.isInteractive = false; _oldDayProgressSprite.Hide(); InitialiseUpdatePanel(_newDayProgressSprite); Update(); } else { Debug.LogWarning("Didn't replace sprite."); } CimTools.CimToolsHandler.CimToolBase.Translation.OnLanguageChanged += new LanguageChangedEventHandler(delegate(string languageIdentifier) { UpdateEventBlocks(); }); Debug.Log("Rush Hour: DateTimeBar initialised"); }
/// <summary> /// Adds a column header icon label. /// </summary> /// <param name="panel">UI panel</param> /// <param name="xPos">Reference X position</param> /// <param name="text">Tooltip text</param> /// <param name="icon">Icon name</param> protected void RowHeaderIcon(UIPanel panel, float yPos, string text, string icon, string atlas) { // Actual icon. UISprite thumbSprite = panel.AddUIComponent <UISprite>(); thumbSprite.relativePosition = new Vector3(Margin, yPos - 2.5f); thumbSprite.width = 35f; thumbSprite.height = 35f; thumbSprite.atlas = UIUtils.GetAtlas(atlas); thumbSprite.spriteName = icon; // Text label. UILabel lineLabel = panel.AddUIComponent <UILabel>(); lineLabel.textScale = 1.0f; lineLabel.text = text; lineLabel.relativePosition = new Vector3(LeftTitle, yPos + 7); lineLabel.verticalAlignment = UIVerticalAlignment.Middle; currentY += 30f; }
public UITextureSprite AddNamedTexture(string name) { UIPanel uIPanel = this.m_Root.AttachUIComponent(UITemplateManager.GetAsGameObject(UIHelperExtension.kDropdownTemplate)) as UIPanel; uIPanel.Find <UILabel>("Label").text = name; UnityEngine.Object.Destroy(uIPanel.Find <UIDropDown>("Dropdown").gameObject); UITextureSprite uITextureSprite = uIPanel.AddUIComponent <UITextureSprite>(); uITextureSprite.isVisible = true; uITextureSprite.name = "TextureSprite"; return(uITextureSprite); }
public static UICheckBox CreateCheckBox(UIComponent parent, int offset, string label) { UIPanel container = parent.AddUIComponent <UIPanel>(); container.height = 25; container.width = 270; container.relativePosition = new Vector3(0, offset, 0); UICheckBox checkBox = container.AddUIComponent <UICheckBox>(); checkBox.width = container.width; checkBox.height = 20f; checkBox.clipChildren = true; checkBox.relativePosition = new Vector3(210, 6); UISprite sprite = checkBox.AddUIComponent <UISprite>(); sprite.spriteName = "ToggleBase"; sprite.size = new Vector2(16f, 16f); sprite.relativePosition = Vector3.zero; checkBox.checkedBoxObject = sprite.AddUIComponent <UISprite>(); ((UISprite)checkBox.checkedBoxObject).spriteName = "ToggleBaseFocused"; checkBox.checkedBoxObject.size = new Vector2(16f, 16f); checkBox.checkedBoxObject.relativePosition = Vector3.zero; UILabel serviceLabel = container.AddUIComponent <UILabel>(); serviceLabel.textScale = 0.8f; serviceLabel.text = label; serviceLabel.relativePosition = new Vector3(15, 6, 0); // algernon serviceLabel.autoSize = false; serviceLabel.width = 180f; serviceLabel.autoHeight = true; serviceLabel.wordWrap = true; return(checkBox); }
public static UITextField CreateTextField(UIComponent parent, float offset, string label) { UIPanel container = parent.AddUIComponent <UIPanel>(); container.height = 25; container.relativePosition = new Vector3(0, offset, 0); UILabel Label = container.AddUIComponent <UILabel>(); Label.textScale = 0.8f; Label.text = label; Label.relativePosition = new Vector3(15, 6, 0); Label.verticalAlignment = UIVerticalAlignment.Middle; Label.autoSize = false; Label.autoHeight = true; Label.width = 170f; Label.wordWrap = true; UITextField textField = container.AddUIComponent <UITextField>(); textField.size = new Vector2(100f, 20f); textField.padding = new RectOffset(6, 6, 3, 3); textField.builtinKeyNavigation = true; textField.isInteractive = true; textField.readOnly = false; //textField.horizontalAlignment = UIHorizontalAlignment.Center; textField.selectionSprite = "EmptySprite"; textField.selectionBackgroundColor = new Color32(0, 172, 234, 255); textField.normalBgSprite = "TextFieldPanelHovered"; textField.disabledBgSprite = "TextFieldPanel"; textField.textColor = new Color32(0, 0, 0, 255); textField.disabledTextColor = new Color32(0, 0, 0, 128); textField.color = new Color32(255, 255, 255, 255); textField.relativePosition = new Vector3(190, 0, 0); return(textField); }
public static UICheckBox MakeCheckbox(UIPanel panel, string name, string text, Vector2 position, bool value, CheckboxSetValue setValue) { var label = panel.AddUIComponent<UILabel>(); label.name = name; label.text = text; label.relativePosition = position; label.textScale = 0.8f; label.textColor = Color.black; var checkbox = panel.AddUIComponent<UICheckBox>(); checkbox.AlignTo(label, UIAlignAnchor.TopLeft); checkbox.relativePosition = new Vector3(checkbox.relativePosition.x + 274.0f, checkbox.relativePosition.y - 2.0f); checkbox.size = new Vector2(16.0f, 16.0f); checkbox.isVisible = true; checkbox.canFocus = true; checkbox.isInteractive = true; if (setValue != null) { checkbox.eventCheckChanged += (component, newValue) => setValue(newValue); } var uncheckSprite = checkbox.AddUIComponent<UISprite>(); uncheckSprite.size = new Vector2(16.0f, 16.0f); uncheckSprite.relativePosition = new Vector3(0, 0); uncheckSprite.spriteName = "check-unchecked"; uncheckSprite.isVisible = true; var checkSprite = checkbox.AddUIComponent<UISprite>(); checkSprite.size = new Vector2(16.0f, 16.0f); checkSprite.relativePosition = new Vector3(0, 0); checkSprite.spriteName = "check-checked"; checkbox.isChecked = value; checkbox.checkedBoxObject = checkSprite; return checkbox; }
public static UIButton MakeButton(UIPanel panel, string name, string text, Vector2 position, ButtonClicked clicked) { var button = panel.AddUIComponent<UIButton>(); button.name = name; button.text = text; button.relativePosition = position; button.size = new Vector2(200.0f, 24.0f); button.normalBgSprite = "ButtonMenu"; button.disabledBgSprite = "ButtonMenuDisabled"; button.hoveredBgSprite = "ButtonMenuHovered"; button.focusedBgSprite = "ButtonMenu"; button.pressedBgSprite = "ButtonMenuPressed"; button.textScale = 0.8f; button.eventClick += (component, param) => clicked(); return button; }
public override void Awake() { size = new Vector2(5, 5); anchor = UIAnchorStyle.Top; helpBg = AddUIComponent<UIPanel>(); helpBg.backgroundSprite = "GenericPanel"; helpBg.color = new Color32(0, 0, 120, 200); helpBg.area = new Vector4(10, 65, 230, 70); usageText = helpBg.AddUIComponent<UILabel>(); usageText.relativePosition = new Vector2(5, 5); usageText.textScale = 0.6f; usageText.text = "Left Click to see all Trafic\n" + "Right Click to see traffic for one direction\n" + "Shift + Right Click for the other direction\n" + "Hover over other roads to see how much is \n" + "going through that location.\n"; reportBreakDown = AddUIComponent<BreakdownPanel>(); reportBreakDown.title.text = "Selected"; reportBreakDown.title.tooltip = "A breakdown of all traffic going through the selected road segement"; reportBreakDown.isVisible = false; reportBreakDown.relativePosition = new Vector2(10, 150); reportBreakDown.eventHighlightType += (String s) => { if (eventHighlightType != null) eventHighlightType(s); }; highlightBreakDown = AddUIComponent<BreakdownPanel>(); highlightBreakDown.title.text = "...highlighted"; highlightBreakDown.isVisible = false; highlightBreakDown.relativePosition = new Vector2(220, 150); base.Awake(); }
private int GenerateOptions(UIPanel panel, int ply, int plx) { ARUT.WriteLog("Entering GenerateOptions"); plOptions = panel.AddUIComponent<UIPanel>(); plOptions.relativePosition = new Vector3(plx, ply); plOptions.isVisible = true; plOptions.tooltip = "Select the type of updates and options to perform."; int y = 1; lSelectable = addLabel(plOptions, y, plx, m_updatetool + m_unavailable, true); y += 25; lInformation = addLabel(plOptions, y, 1, m_defaultInfo, true); y += 25; int cb = 0; foreach (string s in m_options) { bool enable = true; string t = String.Format("Select to display the {0} options", s); options.Add(addCheckbox(plOptions, y, plx, s, t, true)); //Space out the options (We may add building, trees, and props) plx += 100; switch (s) { case "Update": enable = ARUT.ShowUpdate; break; case "Delete": enable = ARUT.ShowDelete; break; case "Districts": enable = (ARUT.ShowDistricts == (mode != LoadMode.LoadMap && mode != LoadMode.NewMap)); break; case "Terrain": enable = (ARUT.ShowTerrain == (mode == LoadMode.LoadMap || mode == LoadMode.NewMap)); break; case "Services": enable = (ARUT.ShowServices == (mode != LoadMode.LoadMap && mode != LoadMode.NewMap)); break; default: break; } options[cb].enabled = enable; options[cb].eventCheckChanged += Options_eventCheckChanged; cb += 1; } y += 25; //set the panal size (two rows, 50) plOptions.size = new Vector2(panel.width, y); return (int)plOptions.height + 20; }
internal void CreateGraphics() { try { var uiView = UIView.GetAView(); TextureDB.LoadFavCimsTextures(); Atlas.LoadAtlasIcons(); //////////////////////////////////////////////// ///////////Favorite Button Manu Panel///////// /////////////////////////////////////////////// //MainMenuPos = UIView.GetAView().FindUIComponent<UITabstrip> ("MainToolstrip"); MainMenuPos = UIView.Find<UITabstrip> ("MainToolstrip"); if(MainMenuPos.Find<FavoritesCimsButton>("FavCimsMenuPanel") != null) { FavCimsMenuPanel = MainMenuPos.Find<FavoritesCimsButton>("FavCimsMenuPanel"); }else{ FavCimsMenuPanel = MainMenuPos.AddUIComponent(typeof(FavoritesCimsButton)) as FavoritesCimsButton; } //////////////////////////////////////////////// ////////////////Favorite Panel//////////////// /////////////////////////////////////////////// FullScreenContainer = UIView.Find<UIPanel> ("FullScreenContainer"); FavCimsPanel = FullScreenContainer.AddUIComponent<FavoriteCimsMainPanel> (); FavCimsPanel.Hide (); FullScreenContainer.eventMouseDown += delegate { if (!FavCimsPanel.containsMouse) { FavCimsPanel.SendToBack (); } else { FavCimsPanel.BringToFront (); } }; //////////////////////////////////////////////// ////////////Humans Button & Subscribe/////////// /////////////////////////////////////////////// FavCimsHumanPanel = FullScreenContainer.Find<UIPanel> ("(Library) CitizenWorldInfoPanel"); if (FavCimsHumanPanel != null) { if(FavCimsHumanPanel.GetComponentInChildren<AddToFavButton>() != null) { FavStarButton = FavCimsHumanPanel.GetComponentInChildren<AddToFavButton>(); }else{ FavStarButton = FavCimsHumanPanel.AddUIComponent(typeof(AddToFavButton)) as AddToFavButton; } } GenerateFamilyDetailsTpl(); } catch (Exception e) { Debug.Error ("OnLoad List Error : " + e.ToString ()); } }
private int GenerateplTypes(UIPanel panel, int ply, int plx) { plTypes = panel.AddUIComponent<UIPanel>(); plTypes.relativePosition = new Vector3(1, ply); plTypes.isVisible = true; plTypes.tooltip = "Select the line types to modify"; int y = 1; addLabel(plTypes, y, 1, "Select the line types to modify", true); y += 25; int x = 5; int step = 0; int cb = 0; //load the update types foreach (string s in m_types) { string t = "These types will be updated."; types.Add(addCheckbox(plTypes, y, x + step, s, t, true)); types[cb].eventCheckChanged += Types_eventCheckChanged; step += 100; cb += 1; } //set the panel size (two rows, 50) y += 20; plTypes.size = new Vector2(panel.width, y); return ply + y; }
private UIButton addButton(UIPanel panel, string text, string tooltip, int y, int x, int w, int h) { UIButton bt = panel.AddUIComponent<UIButton>(); bt.relativePosition = new Vector3(x, y); bt.name = text.Replace(" ", "_"); bt.text = text; bt.tooltip = tooltip; bt.textScale = 0.8f; bt.width = w; bt.height = h; bt.normalBgSprite = "ButtonMenu"; bt.disabledBgSprite = "ButtonMenuDisabled"; bt.hoveredBgSprite = "ButtonMenuHovered"; bt.focusedBgSprite = "ButtonMenu"; bt.pressedBgSprite = "ButtonMenuPressed"; bt.textColor = new Color32(255, 255, 255, 255); bt.disabledTextColor = new Color32(7, 7, 7, 255); bt.hoveredTextColor = new Color32(255, 255, 255, 255); bt.focusedTextColor = new Color32(255, 255, 255, 255); bt.pressedTextColor = new Color32(30, 30, 44, 255); //ARUT.WriteLog("Leaving addButton: " + text + " location: " + bt.relativePosition + "main HeightxWidth: " + panel.height + "x" + panel.width); return bt; }
private UISlider addSlider(UIPanel panel, string name, int y, int x, int w, int h, float min, float max, float step, float defaultValue, string tooltip) { UISlider sl = panel.AddUIComponent<UISlider>(); sl.relativePosition = new Vector3(x, y); sl.name = name; sl.width = w; sl.height = h; sl.tooltip = tooltip; sl.minValue = min; sl.maxValue = max; sl.stepSize = step; sl.value = defaultValue; sl.isVisible = true; sl.color = Color.blue; sl.BringToFront(); if (mode == LoadMode.LoadMap || mode == LoadMode.NewMap) sl.backgroundSprite = "SubcategoriesPanel"; else sl.backgroundSprite = "GenericPanel"; return sl; }
private UIDropDown addDropDown(UIPanel panel, int y, int x, int w, int h, string text, string tooltip) { UIDropDown dd = panel.AddUIComponent<UIDropDown>(); dd.size = new Vector2(w, h); dd.relativePosition = new Vector3(x, y); dd.listBackground = "GenericPanelLight"; dd.itemHeight = 15; dd.itemHover = "ListItemHover"; dd.itemHighlight = "ListItemHighlight"; dd.normalBgSprite = "ListItemHover"; dd.listWidth = 100; dd.listHeight = 350; dd.foregroundSpriteMode = UIForegroundSpriteMode.Stretch; dd.popupColor = new Color32(45, 52, 61, 255); dd.popupTextColor = new Color32(170, 170, 170, 255); dd.zOrder = 1; dd.textScale = 0.8f; dd.verticalAlignment = UIVerticalAlignment.Middle; dd.horizontalAlignment = UIHorizontalAlignment.Left; dd.selectedIndex = 0; dd.textFieldPadding = new RectOffset(8, 0, 8, 0); dd.itemPadding = new RectOffset(14, 0, 0, 0); var dropdownButton = dd.AddUIComponent<UIButton>(); dd.triggerButton = dropdownButton; dropdownButton.text = ""; dropdownButton.size = dd.size; dropdownButton.relativePosition = new Vector3(0.0f, 0.0f); dropdownButton.textVerticalAlignment = UIVerticalAlignment.Middle; dropdownButton.textHorizontalAlignment = UIHorizontalAlignment.Left; dropdownButton.normalFgSprite = "IconDownArrow"; dropdownButton.hoveredFgSprite = "IconDownArrowHovered"; dropdownButton.pressedFgSprite = "IconDownArrowPressed"; dropdownButton.focusedFgSprite = "IconDownArrowFocused"; dropdownButton.disabledFgSprite = "IconDownArrowDisabled"; dropdownButton.foregroundSpriteMode = UIForegroundSpriteMode.Fill; dropdownButton.horizontalAlignment = UIHorizontalAlignment.Right; dropdownButton.verticalAlignment = UIVerticalAlignment.Middle; dropdownButton.zOrder = 0; dropdownButton.textScale = 0.8f; return dd; }
private static UISlider MakeSlider(UIPanel panel, string name, string text, float y, float value, float min, float max, SliderSetValue setValue) { var label = panel.AddUIComponent<UILabel>(); label.name = name + "Label"; label.text = text; label.relativePosition = new Vector3(4.0f, y); label.textScale = 0.8f; var slider = panel.AddUIComponent<UISlider>(); slider.name = name + "Slider"; slider.minValue = min; slider.maxValue = max; slider.stepSize = 0.25f; slider.value = value; slider.relativePosition = new Vector3(200.0f, y); slider.size = new Vector2(158.0f, 16.0f); var thumbSprite = slider.AddUIComponent<UISprite>(); thumbSprite.name = "Thumb"; thumbSprite.spriteName = "SliderBudget"; slider.backgroundSprite = "ScrollbarTrack"; slider.thumbObject = thumbSprite; slider.orientation = UIOrientation.Horizontal; slider.isVisible = true; slider.enabled = true; slider.canFocus = true; slider.isInteractive = true; var valueLabel = panel.AddUIComponent<UILabel>(); valueLabel.name = name + "ValueLabel"; valueLabel.text = slider.value.ToString("0.00"); valueLabel.relativePosition = new Vector3(362.0f, y); valueLabel.textScale = 0.8f; slider.eventValueChanged += (component, f) => { setValue(f); valueLabel.text = slider.value.ToString("0.00"); }; return slider; }
private static UIScrollbar CreateVerticalScrollbar(UIPanel panel, UIScrollablePanel scrollablePanel) { UIScrollbar verticalScrollbar = panel.AddUIComponent<UIScrollbar>(); verticalScrollbar.name = "VerticalScrollbar"; verticalScrollbar.width = 20f; verticalScrollbar.height = panel.height; verticalScrollbar.orientation = UIOrientation.Vertical; verticalScrollbar.pivot = UIPivotPoint.BottomLeft; 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 - 8; 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; }
private FPSCameraUI() { var uiView = FindObjectOfType<UIView>(); var fullscreenContainer = uiView.FindUIComponent("FullScreenContainer"); cameraModeButton = uiView.AddUIComponent(typeof(UIButton)) as UIButton; cameraModeButton.name = "FPSCameraConfigurationButton"; cameraModeButton.gameObject.name = "FPSCameraConfigurationButton"; cameraModeButton.width = 36; cameraModeButton.height = 36; cameraModeButton.pressedBgSprite = "OptionBasePressed"; cameraModeButton.normalBgSprite = "OptionBase"; cameraModeButton.hoveredBgSprite = "OptionBaseHovered"; cameraModeButton.disabledBgSprite = "OptionBaseDisabled"; cameraModeButton.normalFgSprite = "InfoPanelIconFreecamera"; cameraModeButton.foregroundSpriteMode = UIForegroundSpriteMode.Scale; cameraModeButton.scaleFactor = 1.0f; cameraModeButton.tooltip = "FPS Camera configuration"; cameraModeButton.tooltipBox = uiView.defaultTooltipBox; UIComponent escbutton = uiView.FindUIComponent("Esc"); cameraModeButton.relativePosition = new Vector2 ( escbutton.relativePosition.x + escbutton.width / 2.0f - cameraModeButton.width / 2.0f - escbutton.width - 8.0f, escbutton.relativePosition.y + escbutton.height / 2.0f - cameraModeButton.height / 2.0f ); cameraModeButton.eventClick += (component, param) => { panel.isVisible = !panel.isVisible; }; var labelObject = new GameObject(); labelObject.transform.parent = uiView.transform; cameraModeLabel = labelObject.AddComponent<UILabel>(); cameraModeLabel.textColor = new Color32(255, 255, 255, 255); cameraModeLabel.Hide(); FPSCamera.onCameraModeChanged = state => { if (state) { cameraModeLabel.text = String.Format("Press ({0}) to exit first-person mode", FPSCamera.GetToggleUIKey()); cameraModeLabel.color = new Color32(255, 255, 255, 255); cameraModeLabel.AlignTo(cameraModeButton, UIAlignAnchor.BottomRight); cameraModeLabel.relativePosition += new Vector3(-38.0f, -8.0f); cameraModeLabel.Show(); } else { cameraModeLabel.Hide(); } }; FPSCamera.onUpdate = () => { if (cameraModeLabel.color.a > 0) { var c = cameraModeLabel.color; cameraModeLabel.color = new Color32(c.r, c.g, c.b, (byte)(c.a - 1)); } }; panel = fullscreenContainer.AddUIComponent<UIPanel>(); panel.size = new Vector2(400, 700); panel.isVisible = false; panel.backgroundSprite = "SubcategoriesPanel"; panel.relativePosition = new Vector3(cameraModeButton.relativePosition.x - panel.size.x, cameraModeButton.relativePosition.y + 60.0f); panel.name = "FPSCameraConfigPanel"; var titleLabel = panel.AddUIComponent<UILabel>(); titleLabel.name = "Title"; titleLabel.text = "First-person camera configuration"; titleLabel.autoSize = false; titleLabel.size = new Vector2(panel.size.x, 24.0f); titleLabel.AlignTo(panel, UIAlignAnchor.TopLeft); titleLabel.relativePosition = new Vector3(titleLabel.relativePosition.x, titleLabel.relativePosition.y + 2.0f); titleLabel.textAlignment = UIHorizontalAlignment.Center; float y = 48.0f; var hotkeyToggleLabel = panel.AddUIComponent<UILabel>(); hotkeyToggleLabel.name = "ToggleFirstpersonLabel"; hotkeyToggleLabel.text = "Hotkey to toggle first-person"; hotkeyToggleLabel.relativePosition = new Vector3(4.0f, y); hotkeyToggleLabel.textScale = 0.8f; hotkeyToggleButton = MakeButton(panel, "ToggleFirstpersonButton", FPSCamera.instance.config.toggleFPSCameraHotkey.ToString(), y, () => { if (!waitingForChangeCameraHotkey) { waitingForChangeCameraHotkey = true; waitingForShowMouseHotkey = false; waitingForGoFasterHotkey = false; hotkeyToggleButton.text = "Waiting"; } }); y += 28.0f; var hotkeyShowMouseLabel = panel.AddUIComponent<UILabel>(); hotkeyShowMouseLabel.name = "ShowMouseLabel"; hotkeyShowMouseLabel.text = "Hotkey to show cursor (hold)"; hotkeyShowMouseLabel.relativePosition = new Vector3(4.0f, y); hotkeyShowMouseLabel.textScale = 0.8f; hotkeyShowMouseButton = MakeButton(panel, "ShowMouseButton", FPSCamera.instance.config.showMouseHotkey.ToString(), y, () => { if (!waitingForChangeCameraHotkey) { waitingForChangeCameraHotkey = false; waitingForShowMouseHotkey = true; waitingForGoFasterHotkey = false; hotkeyShowMouseButton.text = "Waiting"; } }); y += 28.0f + 16.0f; var hotkeyGoFasterLabel = panel.AddUIComponent<UILabel>(); hotkeyGoFasterLabel.name = "GoFasterLabel"; hotkeyGoFasterLabel.text = "Hotkey to go faster (hold)"; hotkeyGoFasterLabel.relativePosition = new Vector3(4.0f, y); hotkeyGoFasterLabel.textScale = 0.8f; hotkeyGoFasterButton = MakeButton(panel, "GoFasterButton", FPSCamera.instance.config.goFasterHotKey.ToString(), y, () => { if (!waitingForGoFasterHotkey) { waitingForChangeCameraHotkey = false; waitingForShowMouseHotkey = false; waitingForGoFasterHotkey = true; hotkeyGoFasterButton.text = "Waiting"; } }); y += 28.0f; MakeSlider(panel, "GoFasterMultiplier", "\"Go faster\" speed multiplier", y, FPSCamera.instance.config.goFasterSpeedMultiplier, 2.0f, 20.0f, value => { FPSCamera.instance.config.goFasterSpeedMultiplier = value; FPSCamera.instance.SaveConfig(); }); y += 28.0f + 16.0f; if (FPSCamera.instance.hideUIComponent != null) { MakeCheckbox(panel, "HideUI", "HideUI integration", y, FPSCamera.instance.config.integrateHideUI, value => { FPSCamera.instance.config.integrateHideUI = value; FPSCamera.instance.SaveConfig(); }); y += 28.0f + 8.0f; } MakeSlider(panel, "FieldOfView", "Field of view", y, FPSCamera.instance.config.fieldOfView, 30.0f, 120.0f, value => { FPSCamera.instance.SetFieldOfView(value); }); y += 28.0f; MakeSlider(panel, "MovementSpeed", "Movement speed", y, FPSCamera.instance.config.cameraMoveSpeed, 0.25f, 128.0f, value => { FPSCamera.instance.config.cameraMoveSpeed = value; FPSCamera.instance.SaveConfig(); }); y += 28.0f + 16.0f; MakeSlider(panel, "Sensitivity", "Sensitivity", y, FPSCamera.instance.config.cameraRotationSensitivity, 0.25f, 3.0f, value => { FPSCamera.instance.config.cameraRotationSensitivity = value; FPSCamera.instance.SaveConfig(); }); y += 28.0f; MakeCheckbox(panel, "InvertYAxis", "Invert Y-Axis", y, FPSCamera.instance.config.invertYAxis, value => { FPSCamera.instance.config.invertYAxis = value; FPSCamera.instance.SaveConfig(); }); y += 28.0f + 16.0f; MakeCheckbox(panel, "SnapToGround", "Snap to ground", y, FPSCamera.instance.config.snapToGround, value => { FPSCamera.instance.config.snapToGround = value; FPSCamera.instance.SaveConfig(); }); y += 28.0f; MakeSlider(panel, "GroundDistance", "Ground distance", y, FPSCamera.instance.config.groundOffset, 0.25f, 32.0f, value => { FPSCamera.instance.config.groundOffset = value; FPSCamera.instance.SaveConfig(); }); y += 28.0f; MakeCheckbox(panel, "PreventGroundClipping", "Prevent ground clipping", y, FPSCamera.instance.config.preventClipGround, value => { FPSCamera.instance.config.preventClipGround = value; FPSCamera.instance.SaveConfig(); }); y += 28.0f + 16.0f; MakeCheckbox(panel, "AnimatedTransitions", "Animated transitions", y, FPSCamera.instance.config.animateTransitions, value => { FPSCamera.instance.config.animateTransitions = value; FPSCamera.instance.SaveConfig(); }); y += 28.0f; MakeSlider(panel, "TransitionSpeed", "Transition speed", y, FPSCamera.instance.config.animationSpeed, 0.1f, 4.0f, value => { FPSCamera.instance.config.animationSpeed = value; FPSCamera.instance.SaveConfig(); }); y += 28.0f + 16.0f; if (!FPSCamera.editorMode) { MakeCheckbox(panel, "AllowMovementVehicleMode", "Allow movement in vehicle/ citizen mode", y, FPSCamera.instance.config.allowUserOffsetInVehicleCitizenMode, value => { FPSCamera.instance.config.allowUserOffsetInVehicleCitizenMode = value; FPSCamera.instance.SaveConfig(); }); y += 28.0f; MakeCheckbox(panel, "ManualWalkthrough", "Manual switching in walkthrough- mode", y, FPSCamera.instance.config.walkthroughModeManual, value => { FPSCamera.instance.config.walkthroughModeManual = value; FPSCamera.instance.SaveConfig(); }); y += 28.0f; MakeSlider(panel, "StayDuration", "Walkthrough stay duration", y, FPSCamera.instance.config.walkthroughModeTimer, 10.0f, 60.0f, value => { FPSCamera.instance.config.walkthroughModeTimer = value; FPSCamera.instance.SaveConfig(); }); y += 28.0f; MakeCheckbox(panel, "XInputController", "Use XInput Controller (MS Windows only)", y, FPSCamera.instance.config.useController, value => { FPSCamera.instance.config.useController = value; FPSCamera.instance.SaveConfig(); }); y += 28.0f; var walkthroughModeButton = MakeButton(panel, "WalkthroughModeButton", "Enter walkthrough mode", y, () => { FPSCamera.instance.EnterWalkthroughMode(); }); walkthroughModeButton.relativePosition = new Vector3(2.0f, y - 6.0f); walkthroughModeButton.size = new Vector2(200.0f, 24.0f); y += 28.0f + 16.0f; } var resetConfig = MakeButton(panel, "ResetConfigButton", "Reset configuration", y, () => { FPSCamera.instance.ResetConfig(); }); resetConfig.relativePosition = new Vector3(2.0f, y); resetConfig.size = new Vector2(200.0f, 24.0f); }
private static UICheckBox MakeCheckbox(UIPanel panel, string name, string text, float y, bool value, CheckboxSetValue setValue) { var label = panel.AddUIComponent<UILabel>(); label.name = name; label.text = text; label.relativePosition = new Vector3(4.0f, y); label.textScale = 0.8f; var checkbox = panel.AddUIComponent<UICheckBox>(); checkbox.AlignTo(label, UIAlignAnchor.TopLeft); checkbox.relativePosition = new Vector3(checkbox.relativePosition.x + 332.0f, checkbox.relativePosition.y - 6.0f); checkbox.size = new Vector2(20.0f, 20.0f); checkbox.isVisible = true; checkbox.canFocus = true; checkbox.isInteractive = true; checkbox.eventCheckChanged += (component, newValue) => { setValue(newValue); }; var uncheckSprite = checkbox.AddUIComponent<UISprite>(); uncheckSprite.size = new Vector2(20.0f, 20.0f); uncheckSprite.relativePosition = new Vector3(0, 0); uncheckSprite.spriteName = "check-unchecked"; uncheckSprite.isVisible = true; var checkSprite = checkbox.AddUIComponent<UISprite>(); checkSprite.size = new Vector2(20.0f, 20.0f); checkSprite.relativePosition = new Vector3(0, 0); checkSprite.spriteName = "check-checked"; checkbox.isChecked = value; checkbox.checkedBoxObject = checkSprite; return checkbox; }
private static UIButton MakeButton(UIPanel panel, string name, string text, float y, ButtonClicked clicked) { var button = panel.AddUIComponent<UIButton>(); button.name = name; button.text = text; button.relativePosition = new Vector3(200.0f, y - 6.0f); button.size = new Vector2(100.0f, 24.0f); button.normalBgSprite = "ButtonMenu"; button.disabledBgSprite = "ButtonMenuDisabled"; button.hoveredBgSprite = "ButtonMenuHovered"; button.focusedBgSprite = "ButtonMenu"; button.pressedBgSprite = "ButtonMenuPressed"; button.eventClick += (component, param) => { clicked(); }; return button; }
public override void Start() { base.Start (); Debug.PrintMessage ("Start"); this.size = new Vector2 (WIDTH, HEIGHT); this.backgroundSprite = "MenuPanel"; this.canFocus = true; this.isInteractive = true; this.BringToFront (); this.relativePosition = new Vector3 (50, 50); this.Show (); this.cachedName = cacheName; m_challengePanel = (ChallengePanel) this.GetUIView ().AddUIComponent (typeof(ChallengePanel)); Debug.PrintMessage("Start() - Does ChallengePanel Exists? " + (m_challengePanel != null).ToString()); m_challengePanel.manager = this; m_challengePanel.OnChallengeStarted += () => {m_selectButton.Disable ();}; m_challengePanel.OnChallengeEnded += () => {m_selectButton.Enable ();}; m_challengePanel.Hide (); m_title = this.AddUIComponent<UILabel> (); m_title.text = "CHALLENGES OPTIONS"; m_title.relativePosition = new Vector3 (WIDTH / 2 - m_title.width / 2, HEAD / 2 - m_title.height / 2); m_title.textAlignment = UIHorizontalAlignment.Center; m_dragHandle = this.AddUIComponent<UIDragHandle> (); m_dragHandle.size = new Vector2(WIDTH,HEIGHT); m_dragHandle.relativePosition = Vector3.zero; m_dragHandle.target = this; m_closeButton = this.AddUIComponent<UIButton> (); m_closeButton.normalBgSprite = "buttonclose"; m_closeButton.hoveredBgSprite = "buttonclosehover"; m_closeButton.pressedBgSprite = "buttonclosepressed"; m_closeButton.relativePosition = new Vector3 (WIDTH - 35, 5,10); m_closeButton.eventClick += (component, eventParam) => { this.Hide(); }; m_challengeListPanel = this.AddUIComponent<UIPanel> (); m_challengeListPanel.size = new Vector2 (LIST_PANEL_WIDTH, LIST_PANEL_HEIGHT); m_challengeListPanel.relativePosition = new Vector3 (0, HEAD); m_challengeBrowser = m_challengeListPanel.AddUIComponent<UIListBox> (); m_challengeBrowser.size = new Vector2 (LIST_PANEL_WIDTH - SPACING * 2, LIST_PANEL_HEIGHT - SELECT_BUTTON_HEIGHT - SPACING * 2); m_challengeBrowser.relativePosition = new Vector3 (SPACING, SPACING); m_challengeBrowser.normalBgSprite = "GenericPanelDark"; //m_challengeBrowser.bottomColor = Color.green; m_challengeBrowser.itemHighlight = "ListItemHighlight"; m_challengeBrowser.itemHover = "ListItemHover"; m_challengeBrowser.itemPadding.left = 10; m_challengeBrowser.itemPadding.top = 4; m_challengeBrowser.listPadding.top = 10; m_challengeBrowser.listPadding.bottom = 10; m_challengeBrowser.colorizeSprites = true; LoadChallenges (); m_selectButton = m_challengeListPanel.AddUIComponent<UIButton> (); m_selectButton.text = "START"; m_selectButton.size = new Vector2 (LIST_PANEL_WIDTH - SPACING * 2, SELECT_BUTTON_HEIGHT - SPACING); m_selectButton.textScale = 1.25f; m_selectButton.textVerticalAlignment = UIVerticalAlignment.Middle; m_selectButton.textHorizontalAlignment = UIHorizontalAlignment.Center; m_selectButton.normalBgSprite = "ButtonMenu"; m_selectButton.hoveredBgSprite = "ButtonMenuHovered"; m_selectButton.pressedBgSprite = "ButtonMenuPressed"; m_selectButton.disabledBgSprite = "ButtonMenuDisabled"; m_selectButton.color = Color.green; m_selectButton.focusedColor = m_selectButton.color; m_selectButton.hoveredColor = m_selectButton.color; m_selectButton.pressedColor = m_selectButton.color; m_selectButton.relativePosition = new Vector3 (SPACING, LIST_PANEL_HEIGHT - SELECT_BUTTON_HEIGHT); m_selectButton.Disable (); m_selectButton.eventClick += ChallengeSelected; m_refresh = this.AddUIComponent<UIButton> (); m_refresh.size = new Vector2 (60,24); m_refresh.text = "Refresh"; m_refresh.textScale = 0.875f; m_refresh.normalBgSprite = "ButtonMenu"; m_refresh.hoveredBgSprite = "ButtonMenuHovered"; m_refresh.pressedBgSprite = "ButtonMenuPressed"; m_refresh.disabledBgSprite = "ButtonMenuDisabled"; //m_refresh.color = new Color32(255,0,0,255); //m_refresh.focusedColor = m_refresh.color; //m_refresh.hoveredColor = m_refresh.color; //m_refresh.pressedColor = m_refresh.color; m_refresh.relativePosition = m_closeButton.relativePosition + new Vector3 (-60 -SPACING,6f); m_refresh.eventClick += (component, eventParam) => {LoadChallenges();}; m_challengeDetailsPanel = this.AddUIComponent<UIPanel> (); m_challengeDetailsPanel.size = new Vector2 (WIDTH - LIST_PANEL_WIDTH, HEIGHT - HEAD); //m_challengeDetailsPanel.backgroundSprite = "GenericPanel"; m_challengeDetailsPanel.relativePosition = new Vector3 (LIST_PANEL_WIDTH, HEAD); m_challengeName = m_challengeDetailsPanel.AddUIComponent<UILabel> (); m_challengeName.text = "Name\n"; m_challengeName.disabledTextColor = Color.gray; m_challengeName.Disable (); m_challengeDesc = m_challengeDetailsPanel.AddUIComponent<UILabel> (); m_challengeDesc.text = "Description\n"; //m_challengeDesc.backgroundSprite = "GenericPanel"; m_challengeDesc.width = m_challengeDetailsPanel.width; m_challengeDesc.minimumSize = new Vector2 (m_challengeDetailsPanel.width - SPACING * 2, 20); m_challengeDesc.wordWrap = true; m_challengeDesc.disabledTextColor = Color.gray; m_challengeDesc.Disable (); m_challengeBreakdown = m_challengeDetailsPanel.AddUIComponent<UILabel> (); m_challengeBreakdown.text = "Breakdown\n"; //m_challengeBreakdown.backgroundSprite = "GenericPanel"; m_challengeBreakdown.minimumSize = new Vector2 (m_challengeDetailsPanel.width - SPACING * 2, 20); m_challengeBreakdown.wordWrap = true; m_challengeBreakdown.disabledTextColor = Color.gray; m_challengeBreakdown.Disable (); m_challengeReward = m_challengeDetailsPanel.AddUIComponent<UILabel> (); m_challengeReward.text = "Reward\n"; //m_challengeBreakdown.backgroundSprite = "GenericPanel"; m_challengeReward.minimumSize = new Vector2 (m_challengeDetailsPanel.width - SPACING * 2, 20); m_challengeReward.wordWrap = true; m_challengeReward.autoSize = true; m_challengeReward.disabledTextColor = Color.gray; m_challengeReward.Disable (); m_challengePenalty = m_challengeDetailsPanel.AddUIComponent<UILabel> (); m_challengePenalty.text = "Penalty\n"; //m_challengeBreakdown.backgroundSprite = "GenericPanel"; m_challengePenalty.minimumSize = new Vector2 (m_challengeDetailsPanel.width - SPACING * 2, 20); m_challengePenalty.wordWrap = true; m_challengePenalty.autoSize = true; m_challengePenalty.disabledTextColor = Color.gray; m_challengePenalty.Disable (); m_challengeDeadline = m_challengeDetailsPanel.AddUIComponent<UILabel> (); m_challengeDeadline.text = "Duration\n"; m_challengeDeadline.disabledTextColor = Color.gray; m_challengeDeadline.Disable (); FormatDetails (); if (m_temp_challenge != null) { m_challengePanel.SetCurrentChallenge (m_temp_challenge,true); //m_temp_challenge = null; } }
//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; } } }
private UITextField addTextBox(UIPanel panel, string name, string text, int y, int x, int width, int height, string tooltip, bool numeric, bool allowFloats) { UITextField tf = panel.AddUIComponent<UITextField>(); tf.relativePosition = new Vector3(x, y); tf.size = new Vector3(width, height); tf.name = name; tf.text = text; tf.width = width; tf.height = height; tf.tooltip = tooltip; tf.numericalOnly = numeric; tf.allowFloats = allowFloats; tf.textScale = 0.8f; tf.color = Color.black; tf.cursorBlinkTime = 0.45f; tf.cursorWidth = 1; tf.horizontalAlignment = UIHorizontalAlignment.Left; tf.selectionBackgroundColor = new Color(233, 201, 148, 255); tf.selectionSprite = "EmptySprite"; tf.verticalAlignment = UIVerticalAlignment.Middle; tf.padding = new RectOffset(5, 0, 5, 0); tf.foregroundSpriteMode = UIForegroundSpriteMode.Fill; tf.normalBgSprite = "TextFieldPanel"; tf.hoveredBgSprite = "TextFieldPanelHovered"; tf.focusedBgSprite = "TextFieldPanel"; tf.isInteractive = true; tf.enabled = true; tf.readOnly = false; tf.builtinKeyNavigation = true; return tf; }
private void GenerateplServices(UIPanel panel, int ply, int plx) { //Show the road type option plServices = panel.AddUIComponent<UIPanel>(); plServices.relativePosition = new Vector3(1, ply); plServices.isVisible = false; plServices.tooltip = "Select the type of services to toggle on and off."; int cb = 0; int y = 1; for (int i = 0; i < m_services.Length; i++) { string s = m_services[i]; string t = "These items will be toggled On or Off."; if (s == "Auto Bulldozer") { addLabel(plServices, y, 10, s, true); y += 25; services.Add(addCheckbox(plServices, y, 15, "Abandoned", "Check to delete abandoned buildings.", true)); services[cb].eventCheckChanged += ServiceTypes_eventCheckChanged; cb += 1; services.Add(addCheckbox(plServices, y, 150, "Burned", "Check to delete burned buildings.", true)); services[cb].eventCheckChanged += ServiceTypes_eventCheckChanged; cb += 1; } else if (s == "Select Options") { addLabel(plServices, y, 5, s, true); } else if (s == "Chirper") { addLabel(plServices, y, 10, s, true); y += 25; services.Add(addCheckbox(plServices, y, 15, s, "Checked to Show, unchecked to Hide Chirper.", true)); services[cb].eventCheckChanged += ServiceTypes_eventCheckChanged; cb += 1; } else if (s.StartsWith("Label ")) { addLabel(plServices, y, 5, s.Replace("Label ", ""), true); t = "Check to turn on services, unchecked to turn them off."; y += 25; cbToggle = addCheckbox(plServices, y, 10, "Check to turn Sevices On, Uncheck for Off.", t, true); } else { s = m_services[i]; services.Add(addCheckbox(plServices, y, 15, s, t, true)); services[cb].eventCheckChanged += ServiceTypes_eventCheckChanged; i++; cb += 1; if (i < m_services.Length) { s = m_services[i]; services.Add(addCheckbox(plServices, y, 285, s, t, true)); services[cb].eventCheckChanged += ServiceTypes_eventCheckChanged; cb += 1; } } y += 25; } //no need for this dropdown plServices.size = new Vector2(panel.width, y + 25); }
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"); }
private int GenerateplRoads(UIPanel panel, int ply, int plx) { //Show the road type option plRoads = panel.AddUIComponent<UIPanel>(); plRoads.relativePosition = new Vector3(1, ply); plRoads.isVisible = false; plRoads.tooltip = "Select the Road types to convert from and to"; int x1 = 10; int x2 = 280; int y = 1; int cb = 0; int step = 0; //load the update types but hide them foreach (string s in m_roads) { if (s.StartsWith("Label ")) { try { addLabel(plRoads, y, x1 - 5, "From ==> ", true); addLabel(plRoads, y, x2 - 5, "To ==> ", true); y += 20; } catch (Exception ex) { ARUT.WriteError("Error in GenerateplTypes: ", ex); } } else { string t = ""; if (s == "Ground" || s == "Bridge" || s == "Tunnel" || s == "Slope" || s == "Curve") { t = "These types will be updated."; deletes.Add(addCheckbox(plDelete, y, x1 + step, s, t, true)); step += 110; if (s == "Curve") y += 25; } else { t = String.Format("If checked {0} sections will be displayed.", s); fromTypes.Add(addCheckbox(plRoads, y, x1, s, t, true)); toTypes.Add(addCheckbox(plRoads, y, x2, s, t, true)); fromTypes[cb].eventCheckChanged += FromTypes_eventCheckChanged; toTypes[cb].eventCheckChanged += ToTypes_eventCheckChanged; } y += 25; cb++; } } plRoads.size = new Vector2(panel.width, 200); //return the top of the roads panels return ply + y; }
private UILabel addLabel(UIPanel panel, int yPos, int xPos, string text, string t, bool hidden) { UILabel lb = panel.AddUIComponent<UILabel>(); lb.relativePosition = new Vector3(xPos, yPos); lb.height = 0; lb.width = 80; lb.text = text; lb.tooltip = t; lb.isVisible = hidden; return lb; }
private void GenerateplDistricts(UIPanel panel, int ply, int plx) { //ARUT.WriteLog("Entering GenerateplDistricts"); //Show the road type option plDistricts = panel.AddUIComponent<UIPanel>(); plDistricts.relativePosition = new Vector3(1, ply); plDistricts.isVisible = false; plDistricts.tooltip = "Select an area to update the district."; addLabel(plDistricts, 1, 1, "Toggle the check box to create or delete the district. (Undo is not available)", true); addLabel(plDistricts, 20, 1, "Add to an existing District by starting the selection within the district.", true); cbDistrictToggle = addCheckbox(plDistricts, 40, 15, "Checked for Create (Update), unchecked for delete", "Check to create a district, uncheck to delete", true); // WriteLog("Leaving GenerateplDistricts"); }
private UICheckBox addCheckbox(UIPanel panel, int yPos, int xPos, string text, string tooltip, bool hidden) { var cb = panel.AddUIComponent<UICheckBox>(); cb.relativePosition = new Vector3(xPos, yPos); cb.height = 0; cb.width = 80; var label = panel.AddUIComponent<UILabel>(); label.relativePosition = new Vector3(xPos + 25, yPos + 3); cb.label = label; cb.label.tabIndex = cb.GetInstanceID(); cb.text = text; UISprite uncheckSprite = cb.AddUIComponent<UISprite>(); uncheckSprite.height = 20; uncheckSprite.width = 20; uncheckSprite.relativePosition = new Vector3(0, 0); uncheckSprite.spriteName = "check-unchecked"; UISprite checkSprite = cb.AddUIComponent<UISprite>(); checkSprite.height = 20; checkSprite.width = 20; checkSprite.relativePosition = new Vector3(0, 0); checkSprite.spriteName = "check-checked"; cb.checkedBoxObject = checkSprite; cb.disabledColor = new Color(127.0f / 255.0f, 127.0f / 255.0f, 127.0f / 255.0f, 1.0f); label.disabledColor = new Color(127.0f / 255.0f, 127.0f / 255.0f, 127.0f / 255.0f, 1.0f); cb.tooltip = tooltip; label.tooltip = cb.tooltip; cb.isChecked = false; cb.label.isVisible = hidden; cb.isVisible = hidden; return cb; }
public static void AddThemesTab() { if (container != null) { return; } UITabstrip tabstrip = ToolsModifierControl.policiesPanel.Find("Tabstrip") as UITabstrip; // Add a custom tab tab = tabstrip.AddTab("Themes"); tab.stringUserData = "Themes"; tab.textScale = 0.875f; // recalculate the width of the tabs for (int i = 0; i < tabstrip.tabCount; i++) { tabstrip.tabs[i].width = tabstrip.width / ((float)tabstrip.tabCount - 1); } // The container for the policies was created by the game when we added the tab var pageIndex = tabstrip.tabPages.childCount - 1; container = (UIPanel)tabstrip.tabPages.components[pageIndex]; container.autoLayout = true; container.autoLayoutDirection = LayoutDirection.Vertical; container.autoLayoutPadding.top = 5; // Only make the container visible if our tab was selected when the panel was closed last time container.isVisible = tabstrip.selectedIndex == pageIndex; // Theme buttons themePolicyButtons = UIFastList.Create<UIThemePolicyItem>(container); themePolicyButtons.width = 364f; themePolicyButtons.rowHeight = 49f; themePolicyButtons.autoHideScrollbar = true; // The panel holding the controls controls = container.AddUIComponent<UIPanel>(); controls.width = container.width; controls.height = 100f; controls.autoLayout = true; controls.autoLayoutDirection = LayoutDirection.Vertical; controls.autoLayoutPadding.top = 5; // Add a checkbox to toggle "Blacklist Mode" UICheckBox blacklistModeCheckBox = CreateCheckBox(controls); blacklistModeCheckBox.name = "Blacklist Mode Checkbox"; blacklistModeCheckBox.gameObject.AddComponent<BlacklistModeCheckboxContainer>(); blacklistModeCheckBox.text = "Allow buildings which are not in any theme"; blacklistModeCheckBox.isChecked = false; blacklistModeCheckBox.eventCheckChanged += delegate(UIComponent component, bool isChecked) { lock (component) { var districtId1 = ToolsModifierControl.policiesPanel.targetDistrict; Singleton<BuildingThemesManager>.instance.ToggleBlacklistMode(districtId1, isChecked); } }; // Add a checkbox to "Enable Theme Management for this district" UICheckBox enableThemeManagementCheckBox = CreateCheckBox(controls); enableThemeManagementCheckBox.name = "Theme Management Checkbox"; enableThemeManagementCheckBox.gameObject.AddComponent<ThemeManagementCheckboxContainer>(); enableThemeManagementCheckBox.text = "Enable Theme Management for this district"; enableThemeManagementCheckBox.isChecked = false; enableThemeManagementCheckBox.eventCheckChanged += delegate(UIComponent component, bool isChecked) { lock (component) { var districtId1 = ToolsModifierControl.policiesPanel.targetDistrict; Singleton<BuildingThemesManager>.instance.ToggleThemeManagement(districtId1, isChecked); } }; // Add a button to show the Building Theme Manager UIButton showThemeManager = GUI.UIUtils.CreateButton(controls); showThemeManager.width = controls.width; showThemeManager.text = "Theme Manager"; showThemeManager.eventClick += (c, p) => GUI.UIThemeManager.instance.Toggle(); RefreshThemesContainer(); }
private void GenerateRoadPanels(UIPanel panel, ref UIPanel pFrom, ref UIPanel pTo, List<UICheckBox> lFrom, List<UICheckBox> lTo, string[] road, string name, int ply, int plx) { //Show the road from option pFrom = panel.AddUIComponent<UIPanel>(); pFrom.relativePosition = new Vector3(1, ply); pFrom.size = new Vector2(25 * 12, panel.width / 2); pFrom.isVisible = false; pFrom.tooltip = "Select the type of road to convert."; //Show the road to option pTo = panel.AddUIComponent<UIPanel>(); pTo.relativePosition = new Vector3(285, ply); pTo.size = new Vector2(25 * 12, panel.width / 2); pTo.isVisible = false; pTo.tooltip = "Select the type of road to convert to."; addLabel(pFrom, 1, 5, pFrom.tooltip, true); addLabel(pTo, 1, 5, pTo.tooltip, true); int cb = 0; int y = 22; //load the update roads but hide them foreach (string s in road) { string t = String.Format("If checked {0} sections will be converted.", s); lFrom.Add(addCheckbox(pFrom, y, 11, s, t, true)); t = String.Format("If checked sections will convert to {0}.", s); lTo.Add(addCheckbox(pTo, y, 11, s, t, true)); lFrom[cb].eventCheckChanged += FromRoad_eventCheckChanged; lTo[cb].eventCheckChanged += ToRoad_eventCheckChanged; cb++; y += 25; } }
private void GenerateplDelete(UIPanel panel, int ply, int plx) { //Show the road type option plDelete = panel.AddUIComponent<UIPanel>(); plDelete.relativePosition = new Vector3(1, ply); plDelete.isVisible = false; plDelete.tooltip = "Select the type of items to delete."; int cb = 0; int x = 15; int y = 1; //load the bulldoze road type options addLabel(plDelete, y, 5, "Select your delete options.", true); y += 20; foreach (string s in m_deletes) { if (s == "Label Lines") { lLines = addLabel(plDelete, y, 10, "Lines", true); y += 20; } else if (s == "Label Properties") { lProperties = addLabel(plDelete, y, 10, "Properties", true); y += 20; } else { string t = "These items will be deleted."; if (s.StartsWith("B ")) { deletes.Add(addCheckbox(plDelete, y, x + 210, s.Replace("B ", ""), t, true)); y += 25; } else { deletes.Add(addCheckbox(plDelete, y, x, s, t, true)); if (s == "Buildings" || s == "Trees" || s == "Props") { y += 25; } } deletes[cb].eventCheckChanged += DeleteTypes_eventCheckChanged; cb += 1; } } plDelete.size = new Vector2(panel.width, y + 25); }
private 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 - _buttons.height - 20 - 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 (0, 0, 1, 1); _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 = 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 = 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 static UISlider CreateSlider(UIPanel parent, float min, float max) { UIPanel bg = parent.AddUIComponent<UIPanel>(); bg.backgroundSprite = "ChirpScrollbarTrack"; bg.size = new Vector2(parent.width - (parent.autoLayoutPadding.left * 2), 17); UISlider slider = bg.AddUIComponent<UISlider>(); slider.area = new Vector4(8, 0, bg.width - 16, 15); slider.height = 17; slider.autoSize = false; //slider.backgroundSprite = "ChirpScrollbarTrack"; slider.maxValue = max; slider.minValue = min; slider.fillPadding = new RectOffset(10, 10, 0, 0); UISprite thumb = slider.AddUIComponent<UISprite>(); thumb.size = new Vector2(16, 16); thumb.position = new Vector2(0, 0); thumb.spriteName = "ToolbarIconZoomOutGlobeDisabled"; slider.value = 0.0f; slider.thumbObject = thumb; return slider; }
/// <summary> /// Creates all objects based on the given settings. Call this first. /// </summary> /// <param name="settings">The settings (only uses x and y position).</param> public void start(BBPanelSettings settings) { relativePosition = new Vector3(settings.x, settings.y); canFocus = true; isInteractive = true; isVisible = true; backgroundSprite = "MenuPanel2"; color = new Color32(255, 255, 255, 255); size = new Vector2(400,344); name = "Better Budget - Custom Panel Creator"; UILabel label = AddUIComponent<UILabel>(); label.text = "Custom Panel Creator"; label.transform.parent = this.transform; label.relativePosition = new Vector3((width/2) - ((label.text.Length/2)*8), 12); label.name = "Title Label"; UIDragHandle draghandler = AddUIComponent<UIDragHandle>(); draghandler.relativePosition = new Vector3(0,0); draghandler.transform.parent = this.transform; draghandler.target = this; draghandler.name = "Drag Handler"; // icon _icon = AddUIComponent<UISprite>(); _icon.relativePosition = new Vector3(2, 2); _icon.spriteName = "MoneyThumb"; _icon.size = new Vector2(40, 40); _icon.eventClick += togglePanel; _icon.BringToFront(); // container Unselected _containerUnselected = AddUIComponent<UIPanel>(); _containerUnselected.name = "Slider Container Unselected"; _containerUnselected.backgroundSprite = "GenericPanel"; _containerUnselected.relativePosition = new Vector3(30, 60); _containerUnselected.size = new Vector2(145, 145); _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, 145); _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 icons for(int i = 0; i < spriteIcon.Length; i++) { UISprite sprite = _containerUnselected.AddUIComponent<UISprite>(); sprite.name = serviceSlider[i]; sprite.spriteName = spriteIcon[i]; sprite.size = new Vector2(30, 30); sprite.eventClick += toggleSprite; sprite.isInteractive = true; } // text field _textfield = AddUIComponent<UITextField>(); _textfield.name = "Text Field Name"; _textfield.size = new Vector2(340,25); _textfield.relativePosition = new Vector3(30, 225); _textfield.text = "Budget"; _textfield.enabled = true; _textfield.builtinKeyNavigation = true; _textfield.isInteractive = true; _textfield.readOnly = false; _textfield.submitOnFocusLost = true; _textfield.horizontalAlignment = UIHorizontalAlignment.Left; _textfield.selectionSprite = "EmptySprite"; _textfield.selectionBackgroundColor = new Color32(0, 171, 234, 255); _textfield.normalBgSprite = "TextFieldPanel"; _textfield.textColor = new Color32(174, 197, 211, 255); _textfield.disabledTextColor = new Color32(254, 254, 254, 255); _textfield.textScale = 1.3f; _textfield.opacity = 1f; _textfield.color = new Color32(58, 88, 104, 255); _textfield.disabledColor = new Color32(254, 254, 254, 255); // is Left toggle button and label _checkbox = AddUIComponent<UISprite>(); _checkbox.name = "Checkbox"; _checkbox.size = new Vector2(25, 25); _checkbox.relativePosition = new Vector3(122, 262); _checkbox.spriteName = "AchievementCheckedFalse"; _checkbox.isInteractive = true; _checkbox.eventClick += toggleIsLeft; UILabel labelCheckbox = AddUIComponent<UILabel>(); labelCheckbox.name = "Checkbox Label"; labelCheckbox.text = "Rightsided"; labelCheckbox.relativePosition = new Vector3(165, 263); labelCheckbox.textScale = 1.3f; // create button UIButton button = AddUIComponent<UIButton>(); button.name = "Create Button"; button.size = new Vector2(340, 30); button.relativePosition = new Vector3(30, 300); button.normalBgSprite = "ButtonMenu"; button.focusedBgSprite = "ButtonMenuFocused"; button.hoveredBgSprite = "ButtonMenuHovered"; button.pressedBgSprite = "ButtonMenuPressed"; button.text = "Create Custom Panel"; button.textScale = 1.3f; button.eventClick += createPanel; isOpen = false; updateState(); }
private void GenerateplTerrain(UIPanel panel, int ply, int plx) { //Show the road type option plTerrain = panel.AddUIComponent<UIPanel>(); plTerrain.relativePosition = new Vector3(1, ply); plTerrain.isVisible = false; plTerrain.tooltip = "Select or enter the height desired."; int x = 1; int y = 1; int inset = 65; string s = "Enter a value for the new terrain height"; string t = "Enter the height desired."; addLabel(plTerrain, y, x, s, t, true); y += 25; s = "Current: "; t = "Look here for current new Terrain height."; addLabel(plTerrain, y, x, s, t, true); s = "0.00"; lHeight = addLabel(plTerrain, y, x + inset, s, t, true); lHeight.autoSize = false; lHeight.width = 100; lHeight.height = 50; lHeight.textAlignment = UIHorizontalAlignment.Right; y += 25; s = "Height"; addLabel(plTerrain, y, x, s, t, true); tfTerrainHeight = addTextBox(plTerrain, "TerrainHeight", "0,00", y, x + inset, 100, 25, "Use values between 2000 and 0.0", true, true); tfTerrainHeight.horizontalAlignment = UIHorizontalAlignment.Right; tfTerrainHeight.eventKeyDown += TerrainHeight_eventKeyDown; tfTerrainHeight.eventTextChanged += TerrainHeight_eventTextChanged; btValidate = addButton(plTerrain, "Validate", "Validate the number in the text field.", y, x + inset + 105, 125, 25); btValidate.isVisible = true; btValidate.state = UIButton.ButtonState.Disabled; btValidate.eventClick += Validate_eventClick; y += 25; s = "Game Height"; t = "Click to load in the current Games set Terrain Height"; UIButton GameHeight = addButton(plTerrain, s, t, y, x, 100, 25); GameHeight.eventClick += GameHeight_eventClick; }