Files
GameJamDungeon/Zennysoft.Game.Ma.Implementation/Game/state/states/GameLogic.State.Playing.cs
2025-03-08 13:49:46 -08:00

37 lines
795 B
C#

using Chickensoft.Introspection;
namespace Zennysoft.Ma.Godot.Adapter;
public partial class GameLogic
{
public partial record State
{
[Meta]
public partial record Playing : State,
IGet<Input.AskForTeleport>,
IGet<Input.PauseGame>,
IGet<Input.GoToOverworld>
{
public Playing()
{
OnAttach(() =>
{
Output(new Output.StartGame());
});
}
public void OnEnded() => Input(new Input.GameOver());
public Transition On(in Input.AskForTeleport input) => To<AskForTeleport>();
public Transition On(in Input.PauseGame input) => To<Paused>();
public Transition On(in Input.GoToOverworld input)
{
Output(new Output.GoToOverworld());
return ToSelf();
}
}
}
}