Class SceneSystem
ISceneSystem 구현체. Unity SceneManager 기반 비동기 씬 로드/언로드.
public class SceneSystem : ISceneSystem, IInitializable
- Inheritance
-
objectSceneSystem
- Implements
Remarks
InitializeAsync에서 현재 씬 이름을 초기화. LoadAsync는 OnSceneLoadStart → SceneManager.LoadSceneAsync → OnSceneLoadComplete 순으로 실행. [금지] 씬 전환 조건 판단. 조건 판단은 StateMachine(SceneFlowSystem) 또는 Controller 책임. 씬 이름은 매직 스트링 대신 SceneNames 상수를 사용한다.
Constructors
SceneSystem(ILogSystem)
public SceneSystem(ILogSystem log)
Parameters
logILogSystem
Properties
CurrentScene
현재 활성 씬 이름.
public string CurrentScene { get; }
Property Value
- string
Methods
Dispose()
public void Dispose()
InitializeAsync(CancellationToken)
현재 활성 씬 이름을 초기화.
public UniTask InitializeAsync(CancellationToken ct = default)
Parameters
ctCancellationToken
Returns
- UniTask
LoadAsync(string, CancellationToken)
씬 비동기 로드. OnSceneLoadStart/OnSceneLoadComplete 이벤트 발행.
public UniTask LoadAsync(string sceneName, CancellationToken ct = default)
Parameters
sceneNamestring로드할 씬 이름. SceneNames 상수 사용.
ctCancellationToken로드 취소 신호.
Returns
- UniTask
UnloadAsync(string, CancellationToken)
씬 비동기 언로드.
public UniTask UnloadAsync(string sceneName, CancellationToken ct = default)
Parameters
sceneNamestring언로드할 씬 이름.
ctCancellationToken언로드 취소 신호.
Returns
- UniTask
Events
OnSceneLoadComplete
씬 로드 완료 시 발행. 인자: 로드된 씬 이름.
public event Action<string> OnSceneLoadComplete
Event Type
- Action<string>
OnSceneLoadStart
씬 로드 시작 시 발행. 인자: 로드 대상 씬 이름.
public event Action<string> OnSceneLoadStart
Event Type
- Action<string>