Table of Contents

Interface ILifecycleRunner

Namespace
Framework.Core
Assembly
Assembly-CSharp.dll

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

target IDisposable

해제할 IDisposable 객체.

AddInitializable(IInitializable)

초기화 대상을 등록한다. RunInitializeAsync(CancellationToken) 호출 전에 추가해야 한다.

void AddInitializable(IInitializable target)

Parameters

target IInitializable

초기화할 System.

RunDispose()

등록된 IDisposable을 역순으로 해제한다.

void RunDispose()

RunInitializeAsync(CancellationToken)

등록된 IInitializable을 등록 순서대로 비동기 초기화한다.

UniTask RunInitializeAsync(CancellationToken ct)

Parameters

ct CancellationToken

초기화 중단 신호.

Returns

UniTask