Interface ILifecycleRunner
IInitializable, IDisposable 대상을 등록받아 일괄 실행·해제하는 계약.
public interface ILifecycleRunner
Examples
_lifecycleRunner.AddInitializable(sceneSystem);
_lifecycleRunner.AddInitializable(assetSystem);
_lifecycleRunner.AddDisposable(assetSystem);
await _lifecycleRunner.RunInitializeAsync(ct);
// 종료 시:
_lifecycleRunner.RunDispose();
Remarks
구현체: Systems/Lifecycle/LifecycleRunner.cs
초기화는 AddInitializable(IInitializable) 등록 순서대로 순차 실행된다.
해제는 AddDisposable(IDisposable) 등록 역순으로 실행된다.
Methods
AddDisposable(IDisposable)
해제 대상을 등록한다. RunDispose() 호출 시 역순으로 Dispose된다.
void AddDisposable(IDisposable target)
Parameters
targetIDisposable해제할 IDisposable 객체.
AddInitializable(IInitializable)
초기화 대상을 등록한다. RunInitializeAsync(CancellationToken) 호출 전에 추가해야 한다.
void AddInitializable(IInitializable target)
Parameters
targetIInitializable초기화할 System.
RunDispose()
등록된 IDisposable을 역순으로 해제한다.
void RunDispose()
RunInitializeAsync(CancellationToken)
등록된 IInitializable을 등록 순서대로 비동기 초기화한다.
UniTask RunInitializeAsync(CancellationToken ct)
Parameters
ctCancellationToken초기화 중단 신호.
Returns
- UniTask