Files
Torch/Torch.Server/Views/EntitiesControl.xaml.cs
2017-05-15 12:33:00 -07:00

61 lines
1.8 KiB
C#

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
{
/// <summary>
/// Interaction logic for EntitiesControl.xaml
/// </summary>
public partial class EntitiesControl : UserControl
{
public EntityTreeViewModel Entities { get; set; } = new EntityTreeViewModel();
public EntitiesControl()
{
InitializeComponent();
DataContext = Entities;
}
private void TreeView_OnSelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> 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());
}
}
}