Table of Contents

Class SceneSystem

Namespace
Framework.Systems.Scene
Assembly
Assembly-CSharp.dll

ISceneSystem 구현체. Unity SceneManager 기반 비동기 씬 로드/언로드.

public class SceneSystem : ISceneSystem, IInitializable
Inheritance
object
SceneSystem
Implements

Remarks

InitializeAsync에서 현재 씬 이름을 초기화. LoadAsync는 OnSceneLoadStart → SceneManager.LoadSceneAsync → OnSceneLoadComplete 순으로 실행. [금지] 씬 전환 조건 판단. 조건 판단은 StateMachine(SceneFlowSystem) 또는 Controller 책임. 씬 이름은 매직 스트링 대신 SceneNames 상수를 사용한다.

Constructors

SceneSystem(ILogSystem)

public SceneSystem(ILogSystem log)

Parameters

log ILogSystem

Properties

CurrentScene

현재 활성 씬 이름.

public string CurrentScene { get; }

Property Value

string

Methods

Dispose()

public void Dispose()

InitializeAsync(CancellationToken)

현재 활성 씬 이름을 초기화.

public UniTask InitializeAsync(CancellationToken ct = default)

Parameters

ct CancellationToken

Returns

UniTask

LoadAsync(string, CancellationToken)

씬 비동기 로드. OnSceneLoadStart/OnSceneLoadComplete 이벤트 발행.

public UniTask LoadAsync(string sceneName, CancellationToken ct = default)

Parameters

sceneName string

로드할 씬 이름. SceneNames 상수 사용.

ct CancellationToken

로드 취소 신호.

Returns

UniTask

UnloadAsync(string, CancellationToken)

씬 비동기 언로드.

public UniTask UnloadAsync(string sceneName, CancellationToken ct = default)

Parameters

sceneName string

언로드할 씬 이름.

ct CancellationToken

언로드 취소 신호.

Returns

UniTask

Events

OnSceneLoadComplete

씬 로드 완료 시 발행. 인자: 로드된 씬 이름.

public event Action<string> OnSceneLoadComplete

Event Type

Action<string>

OnSceneLoadStart

씬 로드 시작 시 발행. 인자: 로드 대상 씬 이름.

public event Action<string> OnSceneLoadStart

Event Type

Action<string>