Class SceneFlowSystem
ISceneFlowSystem 구현체. StateMachine<string> 기반 씬 전환 흐름 상태 관리.
public class SceneFlowSystem : ISceneFlowSystem
- Inheritance
-
objectSceneFlowSystem
- Implements
Examples
// PlaySceneScope.RegisterBuildCallback에서
sceneFlowSystem.RegisterFlow("Play", resolver.Resolve<PlayFlowState>());
await sceneFlowSystem.TransitionAsync("Play", ct);
Remarks
플로우 이름을 키로 IState를 등록하고, ChangeStateAsync로 비동기 전환한다. 내부적으로 ISceneSystem을 주입받아 실제 씬 로드를 각 IState(OnEnterAsync)에서 처리한다. Scope의 RegisterBuildCallback에서 RegisterFlow로 플로우를 등록한다.
Constructors
SceneFlowSystem(ISceneSystem)
public SceneFlowSystem(ISceneSystem sceneSystem)
Parameters
sceneSystemISceneSystem
Properties
CurrentFlow
현재 활성 플로우 이름.
public string CurrentFlow { get; }
Property Value
- string
Methods
Dispose()
public void Dispose()
RegisterFlow(string, IState)
IState 플로우 등록. Scope의 RegisterBuildCallback에서 호출한다.
public void RegisterFlow(string flowName, IState state)
Parameters
flowNamestring플로우 식별 키.
stateIState해당 플로우의 IState 구현체.
TransitionAsync(string, CancellationToken)
대상 플로우로 비동기 전환. Exit 완료 후 Enter 실행.
public UniTask TransitionAsync(string targetFlow, CancellationToken ct = default)
Parameters
targetFlowstring전환할 플로우 이름 (SceneNames 상수 사용 권장).
ctCancellationToken전환 취소 신호.
Returns
- UniTask