private void onExecutionStateChanged(ExecutionState newState) { if(ExecutionStateChangeHandler != null) { ExecutionStateChangedEventArgs args = new ExecutionStateChangedEventArgs(newState,playTime); ExecutionStateChangeHandler(args); } }
private void MExecutionComponent_ExecutionStateChangeHandler(ExecutionStateChangedEventArgs args) { switch(args.State) { case ExecutionState.RUNNING: btnExecuteEmulator.Invoke(new Action(()=> { btnExecuteEmulator.Text = "Terminate Emulator"; })); break; case ExecutionState.TERMINATED: btnExecuteEmulator.Invoke(new Action(() => { btnExecuteEmulator.Text = "Begin Emulator"; })); if(mSelectedRomData != null) { mSelectedRomData.TimePlayed += args.PlayTime; this.Invoke(new Action(() => { SetGameInfoLabels(mSelectedRomData.GameName, mSelectedRomData.GamePublisher, mSelectedRomData.GameSystem, mSelectedRomData.GameImage, true, mSelectedRomData.TimePlayed); })); mRomDataComponent.UpdateGamePlayTime(mSelectedRomId, mSelectedRomData); } break; } }