private void onExecutionStateChanged(ExecutionState newState)
 {
     if(ExecutionStateChangeHandler != null)
     {
         ExecutionStateChangedEventArgs args = new ExecutionStateChangedEventArgs(newState,playTime);
         ExecutionStateChangeHandler(args);
     }
 }
예제 #2
0
 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;
     }
 }