public override void Execute(object parameter) { // ReSharper disable once ObjectCreationAsStatement new Part { Parent = SelectionService.First() }; }
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); } }
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); } }