using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; using Torch.Server.ViewModels; using Torch.Server.ViewModels.Blocks; using Torch.Server.ViewModels.Entities; using Torch.Server.Views.Blocks; using VRage.Game.ModAPI; namespace Torch.Server.Views { /// /// Interaction logic for EntitiesControl.xaml /// public partial class EntitiesControl : UserControl { public EntityTreeViewModel Entities { get; set; } = new EntityTreeViewModel(); public EntitiesControl() { InitializeComponent(); DataContext = Entities; } private void TreeView_OnSelectedItemChanged(object sender, RoutedPropertyChangedEventArgs e) { if (e.NewValue is EntityViewModel vm) { Entities.CurrentEntity = vm; if (e.NewValue is BlockViewModel bvm) EditorFrame.Content = new BlockView { DataContext = bvm }; } else Entities.CurrentEntity = null; } private void Delete_OnClick(object sender, RoutedEventArgs e) { if (Entities.CurrentEntity?.Entity is IMyCharacter) return; TorchBase.Instance.Invoke(() => Entities.CurrentEntity?.Entity.Close()); } private void Stop_OnClick(object sender, RoutedEventArgs e) { TorchBase.Instance.Invoke(() => Entities.CurrentEntity?.Entity.Physics?.ClearSpeed()); } } }