protected override void showBodyContextMenu(Event evt) { TimelineTrack itemTrack = TargetTrack.Behaviour as TimelineTrack; if (itemTrack == null) { return; } List <Type> trackTypes = itemTrack.GetAllowedCutsceneItems(); GenericMenu createMenu = new GenericMenu(); for (int i = 0; i < trackTypes.Count; i++) { ContextData data = getContextData(trackTypes[i]); data.Firetime = (evt.mousePosition.x - state.Translation.x) / state.Scale.x; createMenu.AddItem(new GUIContent(string.Format("Add New/{0}/{1}", data.Category, data.Label)), false, addCutsceneItem, data); } Behaviour b = DirectorCopyPaste.Peek(); PasteContext pasteContext = new PasteContext(evt.mousePosition, itemTrack); if (b != null && DirectorHelper.IsTrackItemValidForTrack(b, itemTrack)) { createMenu.AddItem(new GUIContent("Paste"), false, pasteItem, pasteContext); } else { createMenu.AddDisabledItem(new GUIContent("Paste")); } createMenu.ShowAsContext(); }
private void pasteItem(object userData) { PasteContext data = userData as PasteContext; if (data != null) { float firetime = (data.mousePosition.x - state.Translation.x) / state.Scale.x; GameObject clone = DirectorCopyPaste.Paste(data.track.transform); clone.GetComponent <TimelineItem>().Firetime = firetime; Undo.RegisterCreatedObjectUndo(clone, "Pasted " + clone.name); } }
protected override void showBodyContextMenu(Event evt) { MultiCurveTrack itemTrack = TargetTrack.Behaviour as MultiCurveTrack; if (itemTrack == null) return; Behaviour b = DirectorCopyPaste.Peek(); PasteContext pasteContext = new PasteContext(evt.mousePosition, itemTrack); GenericMenu createMenu = new GenericMenu(); if (b != null && DirectorHelper.IsTrackItemValidForTrack(b, itemTrack)) { createMenu.AddItem(new GUIContent("Paste"), false, pasteItem, pasteContext); } else { createMenu.AddDisabledItem(new GUIContent("Paste")); } createMenu.ShowAsContext(); }
protected override void showBodyContextMenu(Event evt) { ShotTrack itemTrack = TargetTrack.Behaviour as ShotTrack; if (itemTrack == null) { return; } Behaviour b = DirectorCopyPaste.Peek(); PasteContext pasteContext = new PasteContext(evt.mousePosition, itemTrack); GenericMenu createMenu = new GenericMenu(); if (b != null && DirectorHelper.IsTrackItemValidForTrack(b, itemTrack)) { createMenu.AddItem(new GUIContent("Paste"), false, pasteItem, pasteContext); } else { createMenu.AddDisabledItem(new GUIContent("Paste")); } createMenu.ShowAsContext(); }