using Godot; using GodotHostTest.GodotDI; using GodotHostTest.Interfaces; namespace GodotHostTest.Game; public partial class Root : Node2D { [Inject] private readonly ICurrentLevel _currentLevel = null!; [Inject] private readonly ILevelDataProvider _levelDataProvider = null!; [Inject] private readonly ISceneInstantiator _sceneInstantiator = null!; [Export] private PackedScene _levelScene = null!; public override void _Ready() { var levelData = _levelDataProvider.GetLevelData(_currentLevel.LevelNumber); AddChild(_sceneInstantiator.Instantiate(_levelScene, (IValueSetter levelSetter) => { levelSetter.Set(levelData); })); } }