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

26 lines
792 B
C#

using Godot;
using GodotHostTest.AetherBind;
using GodotHostTest.Interfaces;
using OwofGames.AetherBind;
namespace GodotHostTest.Game.Root;
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()
{
AddChild(_sceneInstantiator.Instantiate(_levelScene, OnInstantiateWithProvider));
}
[WithProvider]
private void OnInstantiate(IValueSetter<ILevel> levelValueSetter)
{
var levelData = _levelDataProvider.GetLevelData(_currentLevel.LevelNumber);
levelValueSetter.Set(levelData);
}
}