public TickStateController Create(ITAlertPhotonClient photonClient)
		{
		    var simulationSummary = new SimulationSummary.SimulationSummary();

			// Loading
			var loadingState = new LoadingState(new LoadingStateInput());
			loadingState.AddTransitions(new OnCompletedTransition(loadingState, LoginState.StateName));

			// Login
			var loginState = new LoginState();
			loginState.AddTransitions(new OnCompletedTransition(loginState, MenuState.StateName));

			// Menu
			var menuState = new MenuState(photonClient);

			// Room
			var roomStateInput = new RoomStateInput(photonClient);
			var roomState = new RoomState(roomStateInput, photonClient, simulationSummary);


			// Test Simulation Summary
			var simulationSummaryStateInput = new SimulationSummaryStateInput(simulationSummary);
			var simulationSummaryState = new SimulationSummaryState(simulationSummaryStateInput, simulationSummary);

			// Add states to controller
			var stateController = new TickStateController(loadingState, loginState, menuState, roomState, simulationSummaryState);
		    stateController.SetParent(ParentStateController);


		    roomState.SetSubstateParentController(stateController);
		    menuState.SetSubstateParentController(stateController);

            return stateController;
		}
 public SimulationSummaryStateInput(SimulationSummary simulationSummary)
 {
     _simulationSummary = simulationSummary;
 }
 public SimulationSummaryState(TickStateInput stateInput, SimulationSummary simulationSummary) : base(stateInput)
 {
     _simulationSummary = simulationSummary;
 }