Files
FlowScope/Packages/com.flowscope.gamecore/Runtime/Flow/FeatureBase.cs
2026-06-04 14:54:49 +08:00

32 lines
711 B
C#

using System.Threading.Tasks;
namespace FlowScope.Flow
{
public abstract class FeatureBase : IFeature
{
protected FeatureContext Context { get; private set; }
public virtual Task LoadAsync(FeatureContext context)
{
Context = context;
return Task.CompletedTask;
}
public virtual Task EnterAsync(FeatureContext context)
{
return Task.CompletedTask;
}
public virtual Task ExitAsync(FeatureContext context)
{
context?.Disposables.Clear();
return Task.CompletedTask;
}
public virtual void Dispose()
{
Context = null;
}
}
}