public StateContext(IProgramState internalState, UserInterfaceOutputFacade outputFacade, GameController gameController, TrackingManager trackingManager, TrackingResultProcessing trackingResultProcessing) { InternalState = internalState; OutputFacade = outputFacade; GameController = gameController; TrackingManager = trackingManager; TrackingResultProcessing = trackingResultProcessing; }
public UserInterfaceInputFacade(UserInterfaceOutputFacade outputFacade, UserDefinedParametersPrototypeFactory userParameters) { var programStateController = new ProgramStateController(); ProgramState = programStateController; OutputFacade = outputFacade; GameController = new GameController(outputFacade, ProgramState); TrackingResultProcessing = new TrackingResultProcessing(outputFacade, GameController, ProgramState); TrackingManager = new TrackingManager(OutputFacade, TrackingResultProcessing, userParameters, ProgramState); programStateController.SetInitialContext(outputFacade, GameController, TrackingManager, TrackingResultProcessing); }
public void SetInitialContext(UserInterfaceOutputFacade outputFacade, GameController gameController, TrackingManager trackingManager, TrackingResultProcessing trackingResultProcessing) { StateContext = new StateContext(null, outputFacade, gameController, trackingManager, trackingResultProcessing); var initialState = new NoGameRunningState(StateContext); StateContext.InternalState = initialState; }