Restructure loading of game

This commit is contained in:
2025-09-25 02:50:55 -07:00
parent e7f5da5b1a
commit 84f0f8338f
266 changed files with 696 additions and 675 deletions

View File

@@ -11,6 +11,7 @@ public partial class AppLogic
public readonly record struct LoadGameFinished;
public readonly record struct FadeInFinished;
public readonly record struct FadeOutFinished;
public readonly record struct QuitGame;
@@ -20,5 +21,9 @@ public partial class AppLogic
public readonly record struct ShowLoadingScreen;
public readonly record struct SaveFileLoaded;
public readonly record struct EnemyViewerOpened;
public readonly record struct GalleryOpened;
}
}

View File

@@ -29,5 +29,9 @@ public partial class AppLogic
public readonly record struct GameOver;
public readonly record struct StartLoadingSaveFile;
public readonly record struct EnemyViewerOpened;
public readonly record struct GalleryOpened;
}
}

View File

@@ -9,5 +9,5 @@ public interface IAppLogic : ILogicBlock<AppLogic.State>;
[LogicBlock(typeof(State), Diagram = true)]
public partial class AppLogic : LogicBlock<AppLogic.State>, IAppLogic
{
public override Transition GetInitialState() => To<State.GameStarted>();
public override Transition GetInitialState() => To<State.MainMenu>();
}

View File

@@ -0,0 +1,24 @@
using Chickensoft.Introspection;
using Chickensoft.LogicBlocks;
using Zennysoft.Game.Abstractions;
namespace Zennysoft.Ma.Adapter;
public partial class AppLogic
{
public partial record State
{
[Meta]
public partial record EnemyViewer : State
{
public EnemyViewer()
{
this.OnEnter(() =>
{
Output(new Output.EnemyViewerOpened());
});
}
}
}
}

View File

@@ -0,0 +1,20 @@
using Chickensoft.Introspection;
namespace Zennysoft.Ma.Adapter;
public partial class AppLogic
{
public partial record State
{
[Meta]
public partial record MainMenu : State, IGet<Input.NewGame>, IGet<Input.EnemyViewerOpened>
{
public MainMenu()
{
}
public Transition On(in Input.NewGame input) => To<GameStarted>();
public Transition On(in Input.EnemyViewerOpened input) => To<EnemyViewer>();
}
}
}