Add plastique item

Add Door object
Initial work for look up animation
This commit is contained in:
2026-01-02 17:06:01 -08:00
parent 5b9de11e5a
commit 04543fcfac
32 changed files with 1652 additions and 990 deletions

View File

@@ -4,6 +4,8 @@ public partial class AppLogic
{
public static class Output
{
public readonly record struct Initialize;
public readonly record struct FadeToBlack;
public readonly record struct ShowSplashScreen;

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.MainMenu>();
public override Transition GetInitialState() => To<State.Initialize>();
}

View File

@@ -0,0 +1,21 @@
namespace Zennysoft.Ma.Adapter;
using Chickensoft.Introspection;
using Chickensoft.LogicBlocks;
public partial class AppLogic
{
public partial record State
{
[Meta]
public partial record Initialize : State, IGet<Input.SaveFileLoaded>
{
public Initialize()
{
this.OnEnter(() => Output(new Output.Initialize()));
}
public Transition On(in Input.SaveFileLoaded input) => To<SplashScreen>();
}
}
}

View File

@@ -15,7 +15,7 @@ public partial class AppLogic
this.OnEnter(() => Output(new Output.StartLoadingSaveFile()));
}
public Transition On(in Input.SaveFileLoaded input) => To<GameStarted>();
public Transition On(in Input.SaveFileLoaded input) => To<MainMenu>();
}
}
}

View File

@@ -11,6 +11,7 @@ public partial class AppLogic
{
public MainMenu()
{
OnAttach(() => Output(new Output.ShowMainMenu()));
}
public Transition On(in Input.NewGame input) => To<GameStarted>();

View File

@@ -16,15 +16,17 @@ public partial class AppLogic
this.OnEnter(() => Output(new Output.ShowSplashScreen()));
OnAttach(
() => Get<IAppRepo>().SplashScreenSkipped += OnSplashScreenSkipped
);
() =>
{
Get<IAppRepo>().SplashScreenSkipped += OnSplashScreenSkipped;
});
OnDetach(
() => Get<IAppRepo>().SplashScreenSkipped -= OnSplashScreenSkipped
);
}
public Transition On(in Input.FadeOutFinished input) => To<GameStarted>();
public Transition On(in Input.FadeOutFinished input) => To<MainMenu>();
public void OnSplashScreenSkipped() =>
Output(new Output.HideSplashScreen());