18 lines
614 B
C#
18 lines
614 B
C#
|
|
namespace Theriapolis.GodotHost.Scenes.Steps;
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// Common contract for character-creation step scenes. Mirrors
|
||
|
|
/// <c>app.jsx</c>'s per-step <c>validate</c> pattern: each step inspects
|
||
|
|
/// the shared draft and returns null when its requirements are met, or
|
||
|
|
/// a short error string otherwise.
|
||
|
|
///
|
||
|
|
/// Step classes also extend <see cref="Godot.Control"/> so they can be
|
||
|
|
/// parented into the wizard's StepHost. Bind() is called once after
|
||
|
|
/// instantiation; Godot drives the lifecycle as usual.
|
||
|
|
/// </summary>
|
||
|
|
public interface IStep
|
||
|
|
{
|
||
|
|
void Bind(UI.CharacterDraft draft);
|
||
|
|
string? Validate();
|
||
|
|
}
|