コード例 #1
0
        private void InitTypeItems()
        {
            NodeType         nodeType = _nodeAttr.Node.GetNodeType();
            CustomDefineType type     = CustomDefine.GetTypeByNodeType(nodeType);

            _typeNameList = CustomDefine.GetCustomDefineListByType(type);
            for (int i = 0; i < _typeNameList.Count; i++)
            {
                GameObject    item = ResourceManager.GetInstance().GetPrefab("Prefabs/Views/EditViews", "SelectCustomizedTypeItem");
                RectTransform tf   = item.GetComponent <RectTransform>();
                tf.SetParent(_itemContainerTf, false);
                Text typeNameText = tf.Find("CustomizedTypeText").GetComponent <Text>();
                typeNameText.text = _typeNameList[i];
                item.GetComponent <Image>().color = UnSelectedColor;
                int itemIndex = i;
                UIEventListener.Get(item).AddClick(() => {
                    OnItemClickHandler(itemIndex, false);
                });
                _itemList.Add(item);
            }
            // 计算content面板的高度
            float preferredHeight = _typeNameList.Count * 30 + 5;

            _contentPreferredHeight    = preferredHeight < _contentDefaultSize.y ? _contentDefaultSize.y : preferredHeight;
            _itemContainerTf.sizeDelta = new Vector2(_contentDefaultSize.x, _contentPreferredHeight);
            _contentScrollRect.Rebuild(CanvasUpdate.PostLayout);
            _curSelectedItemIndex = -1;
            // 默认选中节点值的那个item,如果没有对应的,则不选中任何一个
            int index = _typeNameList.IndexOf(_nodeAttr.GetValueString());

            OnItemClickHandler(index, true);
        }
コード例 #2
0
        public override void BindItem(RectTransform parentTf)
        {
            base.BindItem(parentTf);
            List <Dropdown.OptionData> optionList = new List <Dropdown.OptionData>();
            CustomDefineType           type       = CustomDefine.GetTypeByNodeType(_node.GetNodeType());
            List <string> list = CustomDefine.GetCustomDefineListByType(type);

            for (int i = 0; i < list.Count; i++)
            {
                optionList.Add(new Dropdown.OptionData(list[i]));
            }
            _dropDown.options = optionList;
            _dropDown.onValueChanged.AddListener(OnDropdownValueChangedHandler);

            UIEventListener.Get(_editBtnGo).AddClick(OnEditBtnClickHandler);
        }