Files
godot-host-test/addons/AetherBind
2026-07-29 11:05:27 +02:00
..
2026-07-29 09:38:54 +02:00
2026-07-29 11:05:27 +02:00
.
2026-07-21 20:49:24 +02:00

TOC:

  • what GodotDI offers (in short):
    • logging
    • configuration
    • possibility to attach extra DI-based services like telemetry)
    • minimal description of what problems DI tackles
  • minimal example with logging, configuration, decoupling of components
  • how to install
  • creation of the root service source
    • example
  • scopes
    • why
    • definition
      • deep dive into why it's all done at composition root
      • using extension methods to split the code as necessary
    • sending data into a scope
    • initializing data in the scope

NOTES

field with [Inject] or method with [Inject] automatically receive injection IF they are between the injected objects of a ServiceSource

a method with [WithProvider] generates a companion method for unwrapping provider. E.g.:

[WithProvider]
private void OnReady(IService1 service1, IService2 service2) 
{
    // ...
}

will generate a companion method similar to:

private void OnReadyWithProvider(IProvider provider)
{
    OnReady(
        provider.Get<IService1>(),
        provider.Get<IService2>()
    );
}