31 lines
808 B
C#
31 lines
808 B
C#
using CommunityToolkit.Mvvm.ComponentModel;
|
|
using Ghost.Editor.Core.Contracts;
|
|
|
|
namespace Ghost.Editor.ViewModels.Pages.EngineEditor;
|
|
|
|
internal partial class InspectorViewModel(IInspectorService inspectorService) : ObservableObject, INavigationAware
|
|
{
|
|
[ObservableProperty]
|
|
public partial IInspectable? Inspectable
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
|
|
public void OnNavigatedTo(object? parameter)
|
|
{
|
|
inspectorService.OnSelectionChanged += OnSelectionChanged;
|
|
Inspectable = inspectorService.Selected;
|
|
}
|
|
|
|
public void OnNavigatedFrom()
|
|
{
|
|
inspectorService.OnSelectionChanged -= OnSelectionChanged;
|
|
Inspectable = null;
|
|
}
|
|
|
|
private void OnSelectionChanged(object? sender, EventArgs e)
|
|
{
|
|
Inspectable = inspectorService.Selected;
|
|
}
|
|
} |