/// <summary> /// Setups the Adventure gameplay state /// </summary> public void Setup(IStateFactory stateFactory) { var initial = stateFactory.Initial("Initial"); var final = stateFactory.Final("Final"); var gameplayLoading = stateFactory.TaskWait("Gameplay Loading"); var gameplay = stateFactory.State("Gameplay"); initial.Transition().Target(gameplayLoading); initial.OnExit(SubscribeEvents); gameplayLoading.WaitingFor(LoadGameplay).Target(gameplay); gameplay.OnEnter(OpenGameplayUi); final.OnEnter(UnsubscribeEvents); }
/// <summary> /// Setups the Initial Loading state /// </summary> public void Setup(IStateFactory stateFactory) { var initial = stateFactory.Initial("Initial"); var final = stateFactory.Final("Final"); var dataLoading = stateFactory.TaskWait("Initial device data loading"); var uiLoading = stateFactory.TaskWait("Initial Ui loading"); initial.Transition().Target(dataLoading); initial.OnExit(SubscribeEvents); dataLoading.OnEnter(InitPlugins); dataLoading.OnEnter(LoadGameData); dataLoading.WaitingFor(LoadConfigs).Target(uiLoading); dataLoading.OnExit(_gameLogic.Init); uiLoading.WaitingFor(LoadInitialUi).Target(final); final.OnEnter(UnsubscribeEvents); }