37 lines
1.5 KiB
C#
37 lines
1.5 KiB
C#
using System;
|
|
using UnityEngine;
|
|
using VContainer;
|
|
using VContainer.Unity;
|
|
|
|
public class GameLifetimeScope : LifetimeScope
|
|
{
|
|
[SerializeField] private PlatformPool pool;
|
|
[SerializeField] private PlatformManager manager;
|
|
[SerializeField] private InputReaderSO inputReader;
|
|
[SerializeField] private Player player;
|
|
[SerializeField] private AudioController audioController;
|
|
|
|
//UI References
|
|
[SerializeField] private GameScreenView gameScreenView;
|
|
[SerializeField] private StartScreenView startScreenView;
|
|
[SerializeField] private DeathScreenView deathScreenView;
|
|
[SerializeField] private PauseScreenView pauseScreenView;
|
|
protected override void Configure(IContainerBuilder builder)
|
|
{
|
|
builder.RegisterComponent(pool).As<IPool>();
|
|
builder.RegisterComponent(manager).As<IPlatformManager>();
|
|
builder.RegisterInstance(inputReader).As<IInputReader>();
|
|
builder.Register<ScoreService>(Lifetime.Singleton);
|
|
builder.RegisterComponent(player);
|
|
builder.RegisterComponent(audioController);
|
|
|
|
builder.Register<GameScreenController>(Lifetime.Singleton).WithParameter(gameScreenView);
|
|
builder.Register<StartScreenController>(Lifetime.Singleton).WithParameter(startScreenView);
|
|
builder.Register<DeathScreenController>(Lifetime.Singleton).WithParameter(deathScreenView);
|
|
builder.Register<PauseScreenController>(Lifetime.Singleton).WithParameter(pauseScreenView);
|
|
|
|
builder.RegisterEntryPoint<GameFlowController>(Lifetime.Singleton);
|
|
|
|
}
|
|
}
|