Files
godot-host-test/Game/Root.cs
T

20 lines
696 B
C#

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<ILevel> levelSetter) => { levelSetter.Set(levelData); }));
}
}