private FeedbackState CreateFeedbackState(ITAlertPhotonClient photonClient)
        {
            var input = new FeedbackStateInput(photonClient, _director);
            var state = new FeedbackState(input, photonClient);

            var onLobbyStateSync = new OnMessageTransition(
                photonClient,
                ITAlertChannel.GameState,
                typeof(LobbyMessage),
                LobbyState.StateName);

            var onSendAndSimulationSummaryTransition = new OnEventTransition(
                SimulationSummaryState.StateName,
                () => _simulationSummary.HasData);

            var onSendAndNoSimulationSummaryTransition = new OnEventTransition(
                MenuState.StateName,
                () => !_simulationSummary.HasData);

            input.FeedbackSendClickedEvent += onSendAndSimulationSummaryTransition.ChangeState;
            input.FeedbackSendClickedEvent += onSendAndNoSimulationSummaryTransition.ChangeState;

            state.AddTransitions(
                onLobbyStateSync,
                onSendAndSimulationSummaryTransition,
                onSendAndNoSimulationSummaryTransition);

            return(state);
        }
Пример #2
0
 public void SetInterface(FeedbackStateInput inter)
 {
     _input = inter;
 }