using OwofGames.GodotLume; namespace GodotHostTest.AetherBind; public static class BuilderExtensions { public static Builder AddValueProvider(this Builder builder) where TSourceScope : RootScope where TDestinationScope : TSourceScope { var valueProvider = new ValueProvider(); return builder .AddScoped, IValueSetter, TSourceScope>(Builder.NoDependencies, _ => valueProvider.Setter) .AddScoped, IValueGetter, TDestinationScope>(Builder.NoDependencies, _ => valueProvider.Getter); } public static Builder AddValueProvider(this Builder builder) where TScope : RootScope { return builder.AddValueProvider(); } }