示例#1
0
        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);
        }
示例#2
0
        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);
                    }
                                                                    ));
                })
            });
        }