diff --git a/Assets/Scripts/DI/GameLifetimeScope.cs b/Assets/Scripts/DI/GameLifetimeScope.cs index ac3d849..e4367cb 100644 --- a/Assets/Scripts/DI/GameLifetimeScope.cs +++ b/Assets/Scripts/DI/GameLifetimeScope.cs @@ -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(Lifetime.Singleton); + builder.Register(Lifetime.Singleton); + builder.Register(Lifetime.Singleton); + + // Scene MonoBehaviour components + builder.RegisterComponent(scoringSystem); + builder.RegisterComponent(currencyBank); + builder.RegisterComponent(gameManager); + builder.RegisterComponent(diceManager); } } -} +} \ No newline at end of file