Files
GameJamDungeon/Zennysoft.Game.Ma.Implementation/Game/state/states/GameLogic.State.Playing.cs
2025-03-07 20:42:56 -08:00

37 lines
866 B
C#

using Chickensoft.Introspection;
namespace Zennysoft.Game.Ma.Implementation;
public partial class GameLogic
{
public partial record State
{
[Meta]
public partial record Playing : State,
IGet<Input.GameOver>,
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.GameOver input) => To<Quit>();
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();
}
}
}
}