public void OnUndo() { _editorCache.Refresh(); FInspectorWindow.SetEvents(_selectedEvents); FInspectorWindow.SetTracks(_selectedTracks); }
private void SelectTrack(FTrackEditor trackEditor) { if (trackEditor == null || trackEditor.IsSelected()) { return; } Undo.RegisterCompleteObjectUndo(new Object[] { trackEditor, this }, "select Track"); _selectedTracks.Add(trackEditor); trackEditor.OnSelect(); FInspectorWindow.SetTracks(_selectedTracks); }
private void DeselectAll() { int numEvents = _selectedEvents.Count; int numTracks = _selectedTracks.Count; int totalSelected = numEvents + numTracks; if (totalSelected == 0) { return; } // tracks + events + window Object[] objsToSave = new Object[totalSelected + 1]; int i = 0; for (int j = 0; j != numEvents; ++i, ++j) { objsToSave[i] = _selectedEvents[j]; } for (int j = 0; j != numTracks; ++i, ++j) { objsToSave[i] = _selectedTracks[j]; } objsToSave[totalSelected] = this; Undo.RegisterCompleteObjectUndo(objsToSave, "deselect all"); for (int j = 0; j != numEvents; ++j) { _selectedEvents[j].OnDeselect(); } for (int j = 0; j != numTracks; ++j) { _selectedTracks[j].OnDeselect(); } _selectedEvents.Clear(); _selectedTracks.Clear(); FInspectorWindow.SetEvents(null); FInspectorWindow.SetTracks(null); }