private void HandleCanvasContextClick(object sender, PointerGraphicalElementEventArgs e) { IList <TestableEditorElements.MenuOption> options = new List <TestableEditorElements.MenuOption>(); options.Add(new TestableEditorElements.MenuItem(new GUIContent("Add step"), false, () => { IStep step = EntityFactory.CreateStep("New Step"); step.StepMetadata.Position = e.PointerPosition; AddStepWithUndo(step); })); if (SystemClipboard.IsStepInClipboard()) { options.Add(new TestableEditorElements.MenuItem(new GUIContent("Paste step"), false, () => { Paste(e.PointerPosition); })); } else { options.Add(new TestableEditorElements.DisabledMenuItem(new GUIContent("Paste step"))); } TestableEditorElements.DisplayContextMenu(options); }
private void HandleCanvasContextClick(object sender, PointerGraphicalElementEventArgs e) { TestableEditorElements.DisplayContextMenu(new List <TestableEditorElements.MenuOption> { new TestableEditorElements.MenuItem(new GUIContent("Add step"), false, () => { IStep step = new Step("New Step"); step.StepMetadata.Position = e.PointerPosition; RevertableChangesHandler.Do(new TrainingCommand(() => { AddStep(step); chapter.ChapterMetadata.LastSelectedStep = step; }, () => { DeleteStep(step); } )); }) }); }