private SimulationSummaryState CreateSimulationSummaryState(SimulationSummary.SimulationSummary simulationSummary)
        {
            var input = new SimulationSummaryStateInput(simulationSummary);
            var state = new SimulationSummaryState(input, simulationSummary);

            var launchQuestionnaire = _photonClient.CurrentRoom.RoomInfo.customProperties[CustomRoomSettingKeys.GameScenario].ToString() == "SPL3";

            var onEndAndLaunchQuestionniareTransition = new OnEventTransition(
                LaunchQuestionnaireState.StateName,
                () => launchQuestionnaire);


            var onEndAndReturnToMenuTransition = new OnEventTransition(
                MenuState.StateName,
                () => !launchQuestionnaire);

            input.ContinueClickedEvent += onEndAndReturnToMenuTransition.ChangeState;
            input.ContinueClickedEvent += onEndAndLaunchQuestionniareTransition.ChangeState;
            input.ContinueClickedEvent += _photonClient.CurrentRoom.Leave;

            state.AddTransitions(
                onEndAndReturnToMenuTransition,
                onEndAndLaunchQuestionniareTransition
                );

            return(state);
        }
Beispiel #2
0
 public RoomState(RoomStateInput roomStateInput, ITAlertPhotonClient photonClient,
                  SimulationSummary.SimulationSummary simulationSummary)
     : base(roomStateInput)
 {
     _director            = roomStateInput.Director;
     _director.Exception += GameExceptionHandler.OnException;
     _photonClient        = photonClient;
     _controllerFactory   = new RoomStateControllerFactory(_director, photonClient, simulationSummary);
 }
Beispiel #3
0
 public PlayingState(Director director, PlayingStateInput input, ITAlertPhotonClient photonClient, SimulationSummary.SimulationSummary simulationSummary) : base(input)
 {
     _director          = director;
     _photonClient      = photonClient;
     _simulationSummary = simulationSummary;
 }
 public RoomStateControllerFactory(Director director, ITAlertPhotonClient photonClient, SimulationSummary.SimulationSummary simulationSummary)
 {
     _director          = director;
     _photonClient      = photonClient;
     _simulationSummary = simulationSummary;
 }