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