Ejemplo n.º 1
0
 public override void OnInspectorGUI()
 {
     base.OnInspectorGUI();
     if (GUILayout.Button("Valid"))
     {
         StaticDataBindingKeysSO __target = (StaticDataBindingKeysSO)target;
         __target.Valid();
     }
 }
Ejemplo n.º 2
0
        private void UpdateList()
        {
            datas.Clear();
            datas.Add(new BindingTreeElement("root")
            {
                depth = -1, id = -1
            });
            if (!UnityEditor.EditorApplication.isPlaying)
            {
                if (_saveData == null)
                {
                    string[] path = AssetDatabase.FindAssets("t:StaticDataBindingKeysSO");
                    if (path.Length == 0)
                    {
                        return;
                    }
                    _saveData = AssetDatabase.LoadAssetAtPath <StaticDataBindingKeysSO>(AssetDatabase.GUIDToAssetPath(path[0]));
                }
                if (_saveData == null)
                {
                    return;
                }

                var newList = new List <string>(_saveData.staticKeys);
                newList.Sort();
                int i = 0;
                foreach (var item in newList)
                {
                    var newItem = new BindingTreeElement(item);
                    newItem.id    = i++;
                    newItem.depth = item.Split('.').Length - 1;
                    datas.Add(newItem);
                }
            }
            else
            {
                if (DataBindingManager.Instance == null)
                {
                    return;
                }

                var bindMgr = DataBindingManager.Instance;
                var keys    = new List <string>(bindMgr.root.children.Keys);
                keys.Sort();
                foreach (var key in keys)
                {
                    var provider = bindMgr.root.children[key];
                    UpdateProvider(key, provider, 0);
                }
            }


            if (m_TreeView == null)
            {
                var headerState = BindingTreeView.CreateiColumnHeaderState(multiColumnTreeViewRect.width);
                if (MultiColumnHeaderState.CanOverwriteSerializedFields(m_MultiColumnHeaderState, headerState))
                {
                    MultiColumnHeaderState.OverwriteSerializedFields(m_MultiColumnHeaderState, headerState);
                }
                m_MultiColumnHeaderState = headerState;

                var multiColumnHeader = new MultiColumnHeader(headerState);
                multiColumnHeader.ResizeToFit();
                var treeModel = new TreeModel <BindingTreeElement>(datas);
                m_TreeView = new BindingTreeView(m_TreeViewState, multiColumnHeader, treeModel);
                m_TreeView.ExpandAll();
            }
            else
            {
                m_TreeView.treeModel.SetData(datas);
                m_TreeView.Reload();
            }
        }