Files
TheriapolisV3/Theriapolis.Godot/Scenes/Steps/IStep.cs
T

18 lines
614 B
C#
Raw Normal View History

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