public LCState ChangeState(LightCurvesState newState) { if (newState == LightCurvesState.SelectMeasuringStars) { m_CurrentState = LightCurvesState.SelectMeasuringStars; m_CurrentStateObject = new LCStateSelectMeasuringStars(this); } else if (newState == LightCurvesState.ReadyToRun) { m_CurrentState = LightCurvesState.ReadyToRun; m_CurrentStateObject = new LCStateReadyToRun(this); } else if (newState == LightCurvesState.Running) { m_CurrentState = LightCurvesState.Running; m_CurrentStateObject = new LCStateRunning(this); } else if (newState == LightCurvesState.SelectingFrameTimes) { // HACK: Don't change the m_CurrentStateObject m_CurrentState = LightCurvesState.SelectingFrameTimes; } else if (newState == LightCurvesState.Viewing) { m_CurrentState = LightCurvesState.Viewing; m_CurrentStateObject = new LCStateViewingLightCurve(this); } m_CurrentStateObject.Initialize(); return(m_CurrentStateObject); }
public LCStateMachine(ReduceLightCurveOperation videoOperation, IVideoController videoController) { m_VideoController = videoController; VideoOperation = videoOperation; m_CurrentStateObject = new LCStateSelectMeasuringStars(this); m_CurrentState = LightCurvesState.SelectMeasuringStars; m_CurrentStateObject.Initialize(); }