using Ghost.Core;
namespace Ghost.Editor.Core.AppState;
internal interface IAppState
{
///
/// Called when exiting the state.
///
public Task OnExitingAsync();
///
/// Called when entering the state, right after OnEnteringAsync.
/// can be used to pass data into the state, such as a project to load.
///
public Task OnEnteringAsync(object? parameter);
///
/// Called when exiting the state, specifically for pose transitions.
///
public Task OnExitedAsync();
///
/// Called when entered the state, specifically after the state has been fully initialized and is ready for interaction.
///
/// can be used to pass data into the state, such as a project to load.
public Task OnEnteredAsync(object? parameter);
}