Esempio n. 1
0
        private void OnKeyDown(object e)
        {
            KeyEventArgs args = (KeyEventArgs)e;

            if (IsActive && args.Key == Key.Delete)
            {
                var outliner = CWorkspace.Instance.GetTool <CWorldOutlinerViewModel>();
                if (outliner.SelectedEntityViewModel != null)
                {
                    EditorEntityUtility.DestroyEntity(outliner.SelectedEntityViewModel.EntityId);
                }
            }
        }
        public CWorldOutlinerViewModel()
            : base("World Outliner")
        {
            SetIconSourcePath("Resources/Images/Tabs/outliner.png");

            Content = new WorldOutliner();
            m_view  = Content as IOutlinerView;

            CWorkspace.Instance.OnSelectedEditableObjectChanged += (oldObj, newObj) =>
            {
                if (newObj != null)
                {
                    switch (newObj.Type)
                    {
                    case CEditableObject.EObjectType.Entity:
                        HighlightEntity(newObj.EntityId);
                        break;

                    case CEditableObject.EObjectType.Component:
                        HighlightEntity(newObj.ComponentId.EntityId);
                        break;
                    }
                }
                else
                {
                    SelectedEntityViewModel?.MarkInOutliner(false);
                }
            };

            KeyDownCommand = new CRelayCommand(param =>
            {
                KeyEventArgs args = (KeyEventArgs)param;
                if (IsActive && args.Key == Key.Delete)
                {
                    if (SelectedEntityViewModel != null)
                    {
                        EditorEntityUtility.DestroyEntity(SelectedEntityViewModel.EntityId);
                    }
                }
            });
        }
 private void OnDeleteCommand(object arg)
 {
     EditorEntityUtility.DestroyEntity(EntityId);
 }