DisplayTreeView() public method

Called from OnGUI or EditorWindow.OnGUI
public DisplayTreeView ( TreeViewControl, displayType ) : void
displayType TreeViewControl,
return void
Beispiel #1
0
    void OnGUI()
    {
        //可以增加gui函数更新的速度.
        wantsMouseMove = true;
        if (null != Event.current &&
            Event.current.type == EventType.MouseMove)
        {
            Repaint();
        }

        if (skillTree == null)
        {
            return;
        }

        //显示树结构
        skillTree.DisplayTreeView(TreeViewControl.DisplayTypes.USE_SCROLL_VIEW);

        if (curItem == null)
        {
            return;
        }

        ItemData curItemData = curItem.DataContext as ItemData;

        if (curItemData.type == ItemType.Root)
        {
            skillId = EditorGUILayout.IntField("技能ID", skillId);
            if (GUILayout.Button("添加技能"))
            {
                AddSkill(curItem, skillId, true);
            }
        }
        if (curItemData.type == ItemType.Skill)
        {
            GUILayout.BeginHorizontal();
            string[] list = { "--请选择--", "AnimEvent" };
            selectIndex1 = EditorGUILayout.Popup("添加事件", selectIndex1, list);
            if (GUILayout.Button("添加") && selectIndex1 != 0)
            {
                AddEvent(curItem, list[selectIndex1], true);
            }
            GUILayout.EndHorizontal();
        }

        if (curItemData.type == ItemType.Event)
        {
            GUILayout.BeginHorizontal();
            List <string> list = new List <string>();
            list.Add("--请选择--");
            list.AddRange(actionNames);
            selectIndex2 = EditorGUILayout.Popup("添加行为", selectIndex2, list.ToArray());
            if (GUILayout.Button("添加") && selectIndex2 != 0)
            {
                AddAction(curItem, list[selectIndex2], true);
            }
            GUILayout.EndHorizontal();
        }
    }
Beispiel #2
0
        private void OnGUI()
        {
            if (_treeViewControl == null)
            {
                return;
            }

            wantsMouseMove = true;
            if (Event.current != null && Event.current.type == EventType.MouseMove)
            {
                Repaint();
            }
            _treeViewControl.DisplayTreeView(TreeViewControl.DisplayTypes.USE_SCROLL_VIEW);

            if (SkillEditorManager.SelectedItem == null)
            {
                return;
            }

            //根据选择的不同标签,显示不同的button
            var data = SkillEditorManager.SelectedItem.DataContext as ItemData;

            switch (data.SelectedType)
            {
            case SelectedType.Root:
                if (GUILayout.Button("AddSkill"))
                {
                    SkillEditorManager.CreateSkill();
                }
                break;

            case SelectedType.Skill:

                GUILayout.BeginHorizontal();
                //1.获得当前的种类

                var list = GetActionTypes();
                _index = EditorGUILayout.Popup("Choice Action", _index, list.ToArray());
                GUILayout.EndHorizontal();
                if (GUILayout.Button("AddAction"))
                {
                    var actionType = (from type in Assembly.GetAssembly(typeof(ActionBase)).GetTypes()
                                      where type.Name == list[_index]
                                      select type).ToList()[0];

                    SkillEditorManager.CreateAction(actionType);
                }
                break;

            case SelectedType.Action:
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
Beispiel #3
0
    int selectIdx = 0; //选择的事件
    void OnGUI()
    {
        if (null == m_treeViewControl)
        {
            return;
        }

        if (_curItem == null)
        {
            return;
        }

        wantsMouseMove = true;
        if (null != Event.current &&
            Event.current.type == EventType.MouseMove)
        {
            Repaint();
        }
        m_treeViewControl.DisplayTreeView(TreeViewControl.DisplayTypes.USE_SCROLL_VIEW);

        if ((_curItem.DataContext as SkillBase).type == ItemType.None)
        {
            skillId = EditorGUILayout.IntField("技能id:", skillId);
            GUILayout.BeginVertical();
            if (GUILayout.Button("创建技能"))
            {
                AddSkill(skillId);
            }
            GUILayout.EndVertical();
        }
        else if ((_curItem.DataContext as SkillBase).type == ItemType.Root)
        {
            GUILayout.BeginHorizontal();
            string[] list = new string[] { "-------请选择------", SkillEventType.AnimaEvent.ToString() };
            selectIdx = EditorGUILayout.Popup("选择事件", selectIdx, list);
            if (GUILayout.Button("添加事件"))
            {
                AddSkillEventNode(_curItem, list[selectIdx]);
            }
            GUILayout.EndHorizontal();
        }
        else if ((_curItem.DataContext as SkillBase).type == ItemType.SkillEvent)
        {
            GUILayout.BeginHorizontal();
            List <string> list = new List <string>();
            list.Add("-------请选择------");
            list.AddRange(_skillActionName);
            selectIdx = EditorGUILayout.Popup("选择行为", selectIdx, list.ToArray());
            if (GUILayout.Button("添加行为"))
            {
                AddSkillAction(_curItem, list[selectIdx]);
            }
            GUILayout.EndHorizontal();
        }
    }
Beispiel #4
0
 void OnGUI()
 {
     if (null == m_treeViewControl)
     {
         return;
     }
     wantsMouseMove = true;
     if (null != Event.current &&
         Event.current.type == EventType.MouseMove)
     {
         Repaint();
     }
     m_treeViewControl.DisplayTreeView(TreeViewControl.DisplayTypes.USE_SCROLL_VIEW);
 }