21 lines
757 B
C#
21 lines
757 B
C#
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 providers to send data into level scope
|
|
.AddValueProvider<ILevel, RootScope, LevelScope>()
|
|
// value provider for level scope setup
|
|
.AddValueProvider<ITargetCollector, LevelScope>()
|
|
.AddValueProvider<ITargetSpawner, LevelScope>();
|
|
}
|
|
} |