Files
godot-host-test/Game/Root/Root.cs
T
2026-07-19 19:18:01 +02:00

27 lines
860 B
C#

using System;
using Godot;
using GodotHostTest.AetherBind;
using GodotHostTest.Interfaces;
using OwofGames.AetherBind;
using OwofGames.GodotLume;
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,
OnInstantiate(levelValueSetter => levelValueSetter.Set(levelData))));
}
[ServiceMethod]
private partial Action<IProvider> OnInstantiate(Action<IValueSetter<ILevel>> a);
}