Example #1
0
        public static void Draw(InAudioNode node)
        {
            //node.ScrollPosition = GUILayout.BeginScrollView(node.ScrollPosition);

            EditorGUILayout.BeginVertical();
            var trackData = (node._nodeData as InTrackData);

            NodeTypeDataDrawer.DrawName(node);

            //UndoHelper.GUIUndo(trackData, "Track length", ref trackData.TrackLength, () => EditorGUILayout.FloatField("Track length", trackData.TrackLength));


            selectedArea = GUILayout.SelectionGrid(selectedArea, new [] { "Track", "Standard Settings" }, 2);
            EditorGUILayout.HelpBox("Hold control to drag a child node onto a track.", MessageType.None);

            if (selectedArea == 1)
            {
                NodeTypeDataDrawer.Draw(node);
            }
            else
            {
                EditorGUILayout.BeginVertical();
                ScrollArea = EditorGUILayout.BeginScrollView(ScrollArea, false, false);
                EditorGUILayout.BeginVertical();

                foreach (var layer in trackData.Layers)
                {
                    DrawItem(node, layer);
                }

                if (GUILayout.Button("Add Layer", GUILayout.Width(150)))
                {
                    InUndoHelper.RecordObjectFull(trackData, "Add layer");
                    trackData.Layers.Add(new InLayerData());
                }


                EditorGUILayout.EndVertical();
                EditorGUILayout.EndScrollView();
                EditorGUILayout.EndVertical();
            }
            EditorGUILayout.EndVertical();
            if (toRemove != null)
            {
                if (trackData.Layers.Remove(toRemove))
                {
                    GUI.FocusControl("none");
                    InUndoHelper.RegisterUndo(trackData, "Removed Layer");
                }
            }
            //GUILayout.EndScrollView();
        }
Example #2
0
        //private static InAudioNode activeNode;

        public static void Draw(InAudioNode node)
        {
            EditorGUILayout.BeginVertical();
            var trackData = (node.NodeData as InTrackData);

            NodeTypeDataDrawer.DrawName(node);

            UndoHelper.GUIUndo(trackData, "Track length", ref trackData.TrackLength, () => EditorGUILayout.FloatField("Track length", trackData.TrackLength));
            UndoHelper.GUIUndo(trackData, "Zoom", ref trackData.Zoom, () => EditorGUILayout.FloatField("Zoom", trackData.Zoom));

            selectedArea = GUILayout.SelectionGrid(selectedArea, new [] { "Track", "Normal" }, 2);

            if (selectedArea == 1)
            {
                NodeTypeDataDrawer.Draw(node);
            }
            else
            {
                EditorGUILayout.BeginVertical();
                ScrollArea = EditorGUILayout.BeginScrollView(ScrollArea, false, true);

                foreach (var layer in trackData.Layers)
                {
                    DrawItem(node, layer);
                }

                if (GUILayout.Button("Add Layer", GUILayout.Width(150)))
                {
                    UndoHelper.RecordObjectFull(trackData, "Add layer");
                    trackData.Layers.Add(new InLayerData());
                }

                if (GUILayout.Button("Delete Last Layer", GUILayout.Width(150)))
                {
                    UndoHelper.RecordObjectFull(trackData, "Remove layer");
                    {
                        if (trackData.Layers.Count > 0)
                        {
                            trackData.Layers.RemoveAt(trackData.Layers.Count - 1);
                        }
                    }
                }
                EditorGUILayout.EndScrollView();
                EditorGUILayout.EndVertical();
            }
            EditorGUILayout.EndVertical();
        }