Пример #1
0
 public static void Open(TimelineWindow.TreeNode _node, GEvent e)
 {
     Open();
     rootNode = _node.root;
     curEvt   = e;
     Inst.Repaint();
 }
Пример #2
0
        private int DrawTreeTimeline(GPEditor.TimelineWindow.TreeNode node, int level)
        {
            if (object.Equals(node, null) || string.IsNullOrEmpty(node.name))
            {
                return(level);
            }
            treeIndex2++;
            EditorGUILayout.BeginHorizontal();
            GEvent evt = node.evt;

            if (evt == curEvent)
            {
                GUI.contentColor = Color.green;
            }
            else
            {
                GUI.contentColor = Color.white;
            }
            GEventStyle tStyle           = evt.mStyle;
            FrameRange  validRange       = evt.GetMaxFrameRange();
            FrameRange  rang             = tStyle.range;
            float       sliderStartFrame = rang.Start;
            float       sliderEndFrame   = rang.End;

            EditorGUI.BeginChangeCheck();
            float allW   = position.width - 150f;
            float evtW   = allW * (float)validRange.Length / evt.root.Length;
            float startX = allW * (float)validRange.Start / evt.root.Length;

            GUILayout.Space(startX);
            if (GUILayout.Button(tStyle.Attr.name, GUILayout.Width(60f)))
            {
                SetSelect(node);
            }
            GUILayout.Label(validRange.Start.ToString(), GUILayout.Width(30f));
            EditorGUILayout.MinMaxSlider(ref sliderStartFrame, ref sliderEndFrame, validRange.Start, validRange.End, GUILayout.Width(evtW));
            GUILayout.Label(validRange.End.ToString(), GUILayout.Width(30f));
            if (EditorGUI.EndChangeCheck())
            {
                rang.Start        = (int)sliderStartFrame;
                rang.End          = (int)sliderEndFrame;
                tStyle.range      = rang;
                rootNode.isChange = true;
                evt.OnStyleChange();
                SetSelect(node);
            }
            EditorGUILayout.EndHorizontal();
            EventType eType = Event.current.type;

            if (node.Length == 0)
            {
                return(level);
            }
            for (int i = 0; i < node.childs.Count; i++)
            {
                DrawTreeTimeline(node.childs[i], level + 1);
            }
            return(level);
        }