Inheritance: MonoBehaviour
Exemplo n.º 1
0
        private void Init()
        {
            dropdownContext              = new DropdownContext();
            dropdownContext.OnSelection += (data) =>
            {
                if (enumEntry != null)
                {
                    enumEntry.Value = data.Text;
                }
            };

            label = CreateLabel();
            {
                label.Alignment = TextAnchor.UpperLeft;
            }

            dropdown = CreateChild <DropdownButton>("dropdown");
            {
                dropdown.Anchor = AnchorType.BottomStretch;
                dropdown.Pivot  = PivotType.Bottom;
                dropdown.SetOffsetHorizontal(8f);
                dropdown.Y       = 8f;
                dropdown.Height  = 30f;
                dropdown.Context = dropdownContext;
            }
        }
Exemplo n.º 2
0
        private void Init()
        {
            context = new DropdownContext();
            context.ImportFromEnum <MapCategoryType>(Model.Options.Category.Value);
            context.OnSelection += (data) =>
            {
                var category = Model.Options.Category;
                if (data != null && !category.RawValue.ToString().Equals(data.ExtraData.ToString()))
                {
                    category.RawValue = data.ExtraData;
                }
            };

            label.Text = "Rank state";

            dropdown = CreateChild <DropdownButton>("dropdown", 1);
            {
                dropdown.Anchor = AnchorType.Fill;
                dropdown.Offset = new Offset(0f, 24f, 0f, 0f);
                dropdown.BackgroundSprite.Color = new Color(1f, 1f, 1f, 0.25f);

                dropdown.Context       = context;
                dropdown.UseAutoSelect = false;
            }

            OnEnableInited();
        }
Exemplo n.º 3
0
 //Handle mouse hovering.
 private void OnDestroy()
 {
     if (hoveredButton != this)
     {
         return;
     }
     hoveredButton = null;
 }
Exemplo n.º 4
0
 public void OnPointerExit(PointerEventData eventData)
 {
     if (hoveredButton != this)
     {
         return;
     }
     hoveredButton = null;
     image.color   = defaultColor;
 }
Exemplo n.º 5
0
        public override object Deserialize(Cell _data, ConversionContext _context = null)
        {
            object         data = base.Deserialize(_data);
            DropdownButton ddButton;

            if (data == null)
            {
                ddButton = new DropdownButton();
            }
            else
            {
                ddButton = data as DropdownButton;
            }

            if (_context == null ||
                _context.Field == null ||
                _context.Field.Metadata == null)
            {
                return(ddButton);
            }

            if (!_context.Field.Metadata.IsLoaded)
            {
                _context.Field.Metadata.Load();
            }

            var metadata = _context.Field.Metadata.FirstOrDefault(m => m.Key == ModuleRepository.DropdownButtonMetadataKey);

            if (metadata != null &&
                !String.IsNullOrWhiteSpace(metadata.Value))
            {
                var json  = new JavaScriptSerializer();
                var items = json.Deserialize <string[]>(metadata.Value);

                if (items != null)
                {
                    foreach (var i in items)
                    {
                        if (!String.IsNullOrWhiteSpace(i))
                        {
                            // avoid adding empty entries to the dictionary
                            ddButton.ValidValues.Add(i.EscapeName(), i);
                        }
                    }
                }
            }

            return(ddButton);
        }
Exemplo n.º 6
0
 void Update()
 {
     // pause updating if CollapseAllExceptCurrentlyExpanded() is still running
     if (!collapsing)
     {
         foreach (DropdownButton dropdown in dropdownList)
         {
             if (dropdown.body.activeSelf && !dropdown.Equals(currentlyExpandedDropdown))
             {
                 currentlyExpandedDropdown = dropdown;
                 CollapseAllExceptCurrentlyExpanded();
             }
         }
     }
 }
Exemplo n.º 7
0
        public void Test_Deserialize_DropdownButton_Null()
        {
            // Arrange
            var value = new DropdownButton {
                SelectedValue = null
            };
            object retData = SerializeAndDeserialize(value);

            // Assert
            Assert.IsNotNull(retData);
            Assert.IsInstanceOfType(retData, typeof(DropdownButton));

            DropdownButton result = (DropdownButton)retData;

            Assert.IsNull(result.SelectedValue);
        }
Exemplo n.º 8
0
        //TODO: Reset view wnr tab wisselt
        //TODO: Reset tab wnr je menu opent
        //TODO: UI een extra 5px buffer onderaan?????
        //TODO: Als nav dicht is niet nog nav knoppen laten werken
        //TODO: Wnr dropdown open is knoppen onder niet laten werken
        //TODO: IsActive() Variable in gebruik stellen.

        public NavigatorContent(ContentManager content, Vector2i position, Vector2i size, int offsetX = 0, int offsetY = 0) : base(content, position, size, "Navigator", offsetX, offsetY)
        {
            hiddenLine = new Image(content, "Menu/Navigator/hiddenLine", Vector2.Zero);
            backdrop   = new Image(content, "Menu/Navigator/backdrop", Vector2.Zero);

            int width = size.X - 2 * 8;

            width = width / 4;
            this.updateContentVar = content;

            delay          = new Timer(400);
            delay.Elapsed += Delay_Elapsed;

            menuButtons = new List <InMenuButton>();
            menuButtons.Add(new InMenuButton(content, width, () => { foreach (InMenuButton menuButton in menuButtons)
                                                                     {
                                                                         menuButton.Deselect();
                                                                     }
                                                                     RetroEnvironment.GetGame().GetClientManager().SendPacket(new NavigatorSearchEvent("official_view", "")); }, "navigator.toplevelview.official_view"));
            menuButtons.Add(new InMenuButton(content, width, () => { foreach (InMenuButton menuButton in menuButtons)
                                                                     {
                                                                         menuButton.Deselect();
                                                                     }
                                                                     RetroEnvironment.GetGame().GetClientManager().SendPacket(new NavigatorSearchEvent("hotel_view", "")); }, "navigator.toplevelview.hotel_view"));
            menuButtons.Add(new InMenuButton(content, width, () => { foreach (InMenuButton menuButton in menuButtons)
                                                                     {
                                                                         menuButton.Deselect();
                                                                     }
                                                                     RetroEnvironment.GetGame().GetClientManager().SendPacket(new NavigatorSearchEvent("roomads_view", "")); }, "navigator.toplevelview.roomads_view"));
            menuButtons.Add(new InMenuButton(content, width, () => { foreach (InMenuButton menuButton in menuButtons)
                                                                     {
                                                                         menuButton.Deselect();
                                                                     }
                                                                     RetroEnvironment.GetGame().GetClientManager().SendPacket(new NavigatorSearchEvent("myworld_view", "")); }, "navigator.toplevelview.myworld_view"));
            menuButtons.First().SetActive();

            dropdown = new DropdownButton(content, 116, position,
                                          new DropdownItem("navigator.filter.anything", () => { }),
                                          new DropdownItem("navigator.filter.room.name", () => { }),
                                          new DropdownItem("navigator.filter.owner", () => { }),
                                          new DropdownItem("navigator.filter.tag", () => { }),
                                          new DropdownItem("navigator.filter.group", () => { })
                                          );

            view = new ScrollView(content, new Vector2i(0, 0), new Vector2i(388, 356), "menu/Navigator/backdrop", null);
        }
    public void SetOptions(DropdownOption[] options)
    {
        //Check to make sure the dropdown option exists
        if (DropdownOption == null)
        {
            FindDropdownOption();
        }
        //Instantiate each option
        int i = 0;

        foreach (DropdownOption option in options)
        {
            DropdownButton createdMenu = Object.Instantiate <DropdownButton>(DropdownOption, transform);
            createdMenu.Setup(option.displayName, option.callback);
            //Make the button on top of everything so pointer intercepts work.
            createdMenu.transform.localPosition = new Vector3(0, startingPosition + optionDistance * (i++));
        }
    }
Exemplo n.º 10
0
    public void AddButtons()
    {
        DropdownButton button = buttonprefab.GetComponent <DropdownButton>();
        var            name   = "All";

        button.Setup(name, dropdownlistPT);
        for (int i = 0; i < layers.Count; i++)
        {
            name = layers[i].gameObject.name;
            button.Setup(name, dropdownlistPT);
        }
        button.Setup(name, dropdownlistLS);
        for (int i = 0; i < layers.Count; i++)
        {
            name = layers[i].gameObject.name;
            button.Setup(name, dropdownlistLS);
        }
    }
Exemplo n.º 11
0
        private void Init()
        {
            context = new DropdownContext();
            context.ImportFromEnum <MapSortType>(Model.Options.Sort.Value);
            context.OnSelection += (data) =>
            {
                var sort = Model.Options.Sort;
                if (data != null && !sort.RawValue.ToString().Equals(data.ExtraData.ToString()))
                {
                    sort.RawValue = data.ExtraData;
                }
            };

            label.Text = "Sort by";

            dropdown = CreateChild <DropdownButton>("dropdown", 1);
            {
                dropdown.Anchor = AnchorType.LeftStretch;
                dropdown.Pivot  = PivotType.Left;
                dropdown.X      = 0f;
                dropdown.SetOffsetVertical(24f, 0f);
                dropdown.Width = 140f;
                dropdown.BackgroundSprite.Color = new Color(1f, 1f, 1f, 0.25f);

                dropdown.Context       = context;
                dropdown.UseAutoSelect = false;
            }
            toggle = CreateChild <LabelledToggle>("toggle", 2);
            {
                toggle.Anchor = AnchorType.Fill;
                toggle.Offset = new Offset(156f, 24f, 0f, 0f);

                toggle.LabelText = "Descending";

                toggle.OnTriggered += Model.Options.ToggleIsDescending;
            }

            OnEnableInited();
        }
Exemplo n.º 12
0
        private void Init()
        {
            context              = new DropdownContext();
            context.OnSelection += (data) =>
            {
                if (bindable != null && data != null && !bindable.RawValue.ToString().Equals(data.ExtraData.ToString()))
                {
                    bindable.RawValue = data.ExtraData;
                }
            };

            dropdown = container.CreateChild <DropdownButton>("dropdown", 1);
            {
                dropdown.Anchor = AnchorType.Fill;
                dropdown.Offset = new Offset(106f, 12f, 16f, 12f);
                dropdown.BackgroundSprite.Color = new Color(1f, 1f, 1f, 0.125f);

                dropdown.Context       = context;
                dropdown.UseAutoSelect = false;
            }

            OnEnableInited();
        }
Exemplo n.º 13
0
 public static DropdownButton <THelper> SetDropup <THelper>(this DropdownButton <THelper> dropdownButton, bool dropup = true)
     where THelper : BootstrapHelper <THelper>
 {
     dropdownButton.ToggleCss(Css.Dropup, dropup);
     return(dropdownButton);
 }
 private void FindDropdownOption()
 {
     DropdownOption = Resources.Load <DropdownButton>("UserInterface/DropdownButton");
 }
    public void CreateList()
    {
        if (activeButtons.Count > 0)
        {
            foreach (DropdownButton but in activeButtons)
            {
                Image img = but.button.image;
                if (img.gameObject != null)
                {
                    Destroy(img.gameObject);
                }
            }
            activeButtons.Clear();
        }
        buttonCount = refList.Count;
        if (buttonCount > 0)
        {
            RectTransform itemRectTransform      = contentPanelPrefab.gameObject.GetComponent <RectTransform>();
            RectTransform containerRectTransform = mainPanel.gameObject.GetComponent <RectTransform>();

            // Calculate width and height of content panels
            float width    = containerRectTransform.rect.width / columnCount;
            float ratio    = width / itemRectTransform.rect.width;
            float height   = itemRectTransform.rect.height * ratio;
            int   rowCount = buttonCount / columnCount;
            if (buttonCount % rowCount > 0)
            {
                rowCount++;
            }

            // Calculate size of parent panel
            float scrollHeight = height * rowCount;
            containerRectTransform.offsetMin = new Vector2(containerRectTransform.offsetMin.x, -scrollHeight / 2);
            containerRectTransform.offsetMax = new Vector2(containerRectTransform.offsetMax.x, scrollHeight / 2);

            // Create objects
            int counter = 0;
            for (int i = 0; i < buttonCount; i++)
            {
                if (i % columnCount == 0) // Only matters if columnCount > 1
                {
                    counter++;
                }

                Image newItem = Instantiate(contentPanelPrefab);
                newItem.name = "DropdownEntry: " + refList[i].text;
                newItem.transform.SetParent(mainPanel.transform);
                Text[] texts = newItem.GetComponentsInChildren <Text>();
                texts[0].text = refList[i].text;
                if (parameters.Count > 0)
                {
                    SetButtonCallback(newItem.GetComponentInChildren <Button>(), refList[i].action_job, parameters[i]);
                }
                else
                {
                    SetButtonCallback(newItem.GetComponentInChildren <Button>(), refList[i].action);
                }
                DropdownButton newButton = new DropdownButton(refList[i].action, refList[i].text);
                newButton.button = newItem.GetComponent <Button>();
                activeButtons.Add(newButton);
                // Move and scale object
                RectTransform rectTransform = newItem.GetComponent <RectTransform>();
                float         x             = -containerRectTransform.rect.width / 2 + width * (i % columnCount);
                float         y             = containerRectTransform.rect.height / 2 - height * counter;
                rectTransform.offsetMin = new Vector2(x, y);

                x = rectTransform.offsetMin.x + width;
                y = rectTransform.offsetMin.y + height;
                rectTransform.offsetMax = new Vector2(x, y);
            }
        }
    }
Exemplo n.º 16
0
 public void OnPointerEnter(PointerEventData eventData)
 {
     hoveredButton = this;
     image.color   = overColor;
 }