[Add] UI, menu, pause and timer
This commit is contained in:
@@ -16,18 +16,38 @@ namespace Minesweeper.Infrastructure
|
||||
public sealed class MinesweeperLifetimeScope : LifetimeScope
|
||||
{
|
||||
[SerializeField] private MinesweeperGameConfig gameConfig;
|
||||
[SerializeField] private MainMenuView mainMenuView;
|
||||
[SerializeField] private GameView gameView;
|
||||
|
||||
protected override void Configure(IContainerBuilder builder)
|
||||
{
|
||||
builder.RegisterInstance(GetConfig());
|
||||
builder.Register<GameStateService>(Lifetime.Singleton).As<IGameStateService>();
|
||||
builder.Register<BoardService>(Lifetime.Singleton).As<IBoardService>();
|
||||
builder.Register<GamePauseService>(Lifetime.Singleton).As<IGamePauseService>();
|
||||
builder.Register<GameTimerService>(Lifetime.Singleton).As<IGameTimerService>().As<ITickable>();
|
||||
builder.Register<BoardEcsSyncService>(Lifetime.Singleton).As<IBoardEcsSyncService>();
|
||||
builder.Register<GameReadModel>(Lifetime.Singleton).As<IGameReadModel>();
|
||||
builder.Register<GameStateViewAdapter>(Lifetime.Singleton).As<IGameStateViewAdapter>();
|
||||
builder.Register<CellViewFactory>(Lifetime.Singleton).As<ICellViewFactory>();
|
||||
builder.Register<NullMainMenuView>(Lifetime.Singleton).As<IMainMenuView>();
|
||||
builder.Register<NullGameView>(Lifetime.Singleton).As<IGameView>();
|
||||
|
||||
if (mainMenuView != null)
|
||||
{
|
||||
builder.RegisterComponent(mainMenuView).As<IMainMenuView>();
|
||||
}
|
||||
else
|
||||
{
|
||||
builder.Register<NullMainMenuView>(Lifetime.Singleton).As<IMainMenuView>();
|
||||
}
|
||||
|
||||
if (gameView != null)
|
||||
{
|
||||
builder.RegisterComponent(gameView).As<IGameView>();
|
||||
}
|
||||
else
|
||||
{
|
||||
builder.Register<NullGameView>(Lifetime.Singleton).As<IGameView>();
|
||||
}
|
||||
|
||||
builder.Register<SelectFieldCommandHandler>(Lifetime.Singleton);
|
||||
builder.Register<StartGameCommandHandler>(Lifetime.Singleton);
|
||||
|
||||
Reference in New Issue
Block a user