[Fix] DI
This commit is contained in:
@@ -1,12 +1,41 @@
|
||||
using UnityEngine;
|
||||
using VContainer;
|
||||
using VContainer.Unity;
|
||||
using YachtDice.Economy;
|
||||
using YachtDice.Events;
|
||||
using YachtDice.Game;
|
||||
using YachtDice.Modifiers.Definition;
|
||||
using YachtDice.Modifiers.Pipeline;
|
||||
using YachtDice.Modifiers.Runtime;
|
||||
using YachtDice.Scoring;
|
||||
|
||||
namespace YachtDice
|
||||
namespace YachtDice.DI
|
||||
{
|
||||
public class GameLifetimeScope : LifetimeScope
|
||||
{
|
||||
[SerializeField] private ModifierCatalogSO modifierCatalog;
|
||||
|
||||
[Header("Scene References")]
|
||||
[SerializeField] private ScoringSystem scoringSystem;
|
||||
[SerializeField] private CurrencyBank currencyBank;
|
||||
[SerializeField] private GameManager gameManager;
|
||||
[SerializeField] private DiceManager diceManager;
|
||||
|
||||
protected override void Configure(IContainerBuilder builder)
|
||||
{
|
||||
// SO catalog
|
||||
builder.RegisterInstance(modifierCatalog);
|
||||
|
||||
// Core modifier services
|
||||
builder.Register<ModifierRegistry>(Lifetime.Singleton);
|
||||
builder.Register<ModifierPipeline>(Lifetime.Singleton);
|
||||
builder.Register<GameEventBus>(Lifetime.Singleton);
|
||||
|
||||
// Scene MonoBehaviour components
|
||||
builder.RegisterComponent(scoringSystem);
|
||||
builder.RegisterComponent(currencyBank);
|
||||
builder.RegisterComponent(gameManager);
|
||||
builder.RegisterComponent(diceManager);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user