Files
godot-host-test/Game/Level/LevelServices.cs
T
2026-07-25 22:26:07 +02:00

24 lines
880 B
C#

using System.Diagnostics;
using GodotHostTest.AetherBind;
using GodotHostTest.Interfaces;
using OwofGames.GodotLume;
namespace GodotHostTest.Game.Level;
public static class LevelServices
{
public static void AddLevelServices(this Builder builder, LevelsData levelsData)
{
builder
// current level / level data management
.AddSingleton<ICurrentLevel, CurrentLevel>()
.AddInstance<ILevelDataProvider, LevelsData>(levelsData)
// value provider for activity
.AddValueProvider<Activity, LevelScope>()
// value providers to send data into level scope
.AddValueProvider<ILevel, RootScope, LevelScope>()
// value provider for level scope setup
.AddValueProvider<ITargetCollector, LevelScope>()
.AddValueProvider<ITargetSpawner, LevelScope>();
}
}