Files
GhostEngine/Ghost.Editor/ViewModels/Pages/EngineEditor/InspectorViewModel.cs
2026-02-03 21:49:14 +09:00

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;
}
}