public static void DeleteNode(InAudioEventNode node) { InUndoHelper.DoInGroup(() => { InUndoHelper.RegisterUndo(node._parent, "Event Deletion"); node._parent._children.Remove(node); DeleteNodeRec(node); }); }
private void CreateChild(InAudioEventNode node, EventNodeType type) { InUndoHelper.DoInGroup(() => { InUndoHelper.RegisterUndo(node, "Event Creation"); AudioEventWorker.CreateNode(node, type); }); node.EditorSettings.IsFoldedOut = true; }
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(); }