using Microsoft.UI.Xaml.Controls;
namespace Ghost.Editor.Core.Inspector;
public abstract class ComponentEditor
{
private ComponentObject _componentObject;
///
/// Represents the underlying component object used by this class to manage its functionality.
///
protected ComponentObject ComponentObject => _componentObject;
internal void Initialize(ComponentObject componentObject)
{
_componentObject = componentObject;
}
///
/// Called when the component editor is created.
///
/// The container to add the editor controls to.
public virtual void Create(StackPanel container)
{
}
///
/// Called when the component editor needs to update its UI based on the current state of the component data.
///
public virtual void Update()
{
}
///
/// Called when the component editor is destroyed.
///
public virtual void Destroy()
{
}
}