Files
2026-07-19 19:18:01 +02:00

16 lines
813 B
C#

using System;
using Godot;
using OwofGames.GodotLume;
namespace GodotHostTest.AetherBind;
public interface ISceneInstantiator
{
/// <summary>
/// Instantiate a packed scene, just like <see cref="PackedScene.Instantiate"/>, but also looks for a scope between the top level children of the instantiated scene and triggers the dependency injection mechanism when found.
/// </summary>
/// <param name="packedScene">The packed scene to instantiate.</param>
/// <param name="onScopeCreated">An optional callback invoked once the scope has been created, but before instantiating the scene, with the provider as argument.</param>
/// <returns>The created node, with its dependencies satisfied.</returns>
Node Instantiate(PackedScene packedScene, Action<IProvider>? onScopeCreated = null);
}