From 549fffd69e025e3e60449242defd791e79303935 Mon Sep 17 00:00:00 2001 From: Konstantin Dyachenko Date: Sun, 1 Mar 2026 06:31:21 +0700 Subject: [PATCH] [Fix] DI --- Assets/Scripts/DI/GameLifetimeScope.cs | 33 ++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) 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