public override void Execute(object parameter)
 {
     // ReSharper disable once ObjectCreationAsStatement
     new Part {
         Parent = SelectionService.First()
     };
 }
Example #2
0
        public override void Execute(object parameter)
        {
            var typeName = (string)parameter;
            var sel      = SelectionService.First(x => x is Model);
            var parent   = sel ?? Game.Workspace;

            ScriptService.NewInstance(typeName, parent);
        }
        public void OnObjectMouseDown(ObjectEntry entry, MouseButtonEventArgs args)
        {
            try
            {
                if (args.ClickCount == 2)
                {
                    switch (_mode)
                    {
                    case Mode.None:
                        break;

                    case Mode.Objects:
                        var inst = ScriptService.NewInstance(entry.Name, SelectionService.First() ?? Game.Workspace);
                        if (SelectInsertedObject)
                        {
                            SelectionService.Service.Select(inst, true);

                            ExplorerItem explorerItem;             // expand parent
                            if (ExplorerViewModel.ExplorerItems[inst.Parent].TryGetTarget(out explorerItem))
                            {
                                explorerItem.IsExpanded = true;
                            }
                        }
                        break;

                    case Mode.Expressions:
                        break;

                    case Mode.Snippets:
                        break;

                    default:
                        throw new ArgumentOutOfRangeException();
                    }
                }
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message, DisplayName);
            }
        }
Example #4
0
        protected virtual void OnMouseInput(InputObject input)
        {
            if (input.InputType != InputType.MouseButton1 || input.InputState != InputState.Begin ||
                BaseHandles.IsMouseOverHandle)
            {
                return;
            }

            var sel = SelectionService.First();

            if (_target == null)
            {
                Game.Selection.ClearSelection();
                return;
            }

            if (_target.IsSelected)
            {
                ToolManager.PrimaryItem = _target;
                return;
            }

            if (InputService.Service.IsKeyDown(Key.LeftControl))
            {
                if (_target != sel)
                {
                    Game.Selection.Select(_target);
                }
                else
                {
                    Game.Selection.Deselect(_target);
                }
            }
            else
            {
                Game.Selection.Select(_target, true);
            }
        }