public void ProcessEvents(int maxTimeMilliseconds) { Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); while (EdkDll.EE_EngineGetNextEvent(this.hEvent) == 0) { if (maxTimeMilliseconds != 0 && stopwatch.ElapsedMilliseconds >= (long)maxTimeMilliseconds) { break; } uint num = 0u; EdkDll.EE_EmoEngineEventGetUserId(this.hEvent, out num); EmoEngineEventArgs e = new EmoEngineEventArgs(num); EdkDll.EE_Event_t eE_Event_t = EdkDll.EE_EmoEngineEventGetType(this.hEvent); EdkDll.EE_Event_t eE_Event_t2 = eE_Event_t; if (eE_Event_t2 != EdkDll.EE_Event_t.EE_UserAdded) { if (eE_Event_t2 != EdkDll.EE_Event_t.EE_UserRemoved) { if (eE_Event_t2 != EdkDll.EE_Event_t.EE_EmoStateUpdated) { if (eE_Event_t2 != EdkDll.EE_Event_t.EE_CognitivEvent) { if (eE_Event_t2 != EdkDll.EE_Event_t.EE_ExpressivEvent) { if (eE_Event_t2 == EdkDll.EE_Event_t.EE_InternalStateChanged) { this.OnInternalStateChanged(e); } } else { switch (EdkDll.EE_ExpressivEventGetType(this.hEvent)) { case EdkDll.EE_ExpressivEvent_t.EE_ExpressivTrainingStarted: this.OnExpressivTrainingStarted(e); break; case EdkDll.EE_ExpressivEvent_t.EE_ExpressivTrainingSucceeded: this.OnExpressivTrainingSucceeded(e); break; case EdkDll.EE_ExpressivEvent_t.EE_ExpressivTrainingFailed: this.OnExpressivTrainingFailed(e); break; case EdkDll.EE_ExpressivEvent_t.EE_ExpressivTrainingCompleted: this.OnExpressivTrainingCompleted(e); break; case EdkDll.EE_ExpressivEvent_t.EE_ExpressivTrainingDataErased: this.OnExpressivTrainingDataErased(e); break; case EdkDll.EE_ExpressivEvent_t.EE_ExpressivTrainingRejected: this.OnExpressivTrainingRejected(e); break; case EdkDll.EE_ExpressivEvent_t.EE_ExpressivTrainingReset: this.OnExpressivTrainingReset(e); break; } } } else { switch (EdkDll.EE_CognitivEventGetType(this.hEvent)) { case EdkDll.EE_CognitivEvent_t.EE_CognitivTrainingStarted: this.OnCognitivTrainingStarted(e); break; case EdkDll.EE_CognitivEvent_t.EE_CognitivTrainingSucceeded: this.OnCognitivTrainingSucceeded(e); break; case EdkDll.EE_CognitivEvent_t.EE_CognitivTrainingFailed: this.OnCognitivTrainingFailed(e); break; case EdkDll.EE_CognitivEvent_t.EE_CognitivTrainingCompleted: this.OnCognitivTrainingCompleted(e); break; case EdkDll.EE_CognitivEvent_t.EE_CognitivTrainingDataErased: this.OnCognitivTrainingDataErased(e); break; case EdkDll.EE_CognitivEvent_t.EE_CognitivTrainingRejected: this.OnCognitivTrainingRejected(e); break; case EdkDll.EE_CognitivEvent_t.EE_CognitivTrainingReset: this.OnCognitivTrainingReset(e); break; case EdkDll.EE_CognitivEvent_t.EE_CognitivAutoSamplingNeutralCompleted: this.OnCognitivAutoSamplingNeutralCompleted(e); break; case EdkDll.EE_CognitivEvent_t.EE_CognitivSignatureUpdated: this.OnCognitivSignatureUpdated(e); break; } } } else { EmoState emoState = new EmoState(); EmoEngine.errorHandler(EdkDll.EE_EmoEngineEventGetEmoState(this.hEvent, emoState.GetHandle())); EmoStateUpdatedEventArgs e2 = new EmoStateUpdatedEventArgs(num, emoState); this.OnEmoStateUpdated(e2); if (!emoState.EmoEngineEqual(this.lastEmoState[num])) { e2 = new EmoStateUpdatedEventArgs(num, new EmoState(emoState)); this.OnEmoEngineEmoStateUpdated(e2); } if (!emoState.AffectivEqual(this.lastEmoState[num])) { e2 = new EmoStateUpdatedEventArgs(num, new EmoState(emoState)); this.OnAffectivEmoStateUpdated(e2); } if (!emoState.CognitivEqual(this.lastEmoState[num])) { e2 = new EmoStateUpdatedEventArgs(num, new EmoState(emoState)); this.OnCognitivEmoStateUpdated(e2); } if (!emoState.ExpressivEqual(this.lastEmoState[num])) { e2 = new EmoStateUpdatedEventArgs(num, new EmoState(emoState)); this.OnExpressivEmoStateUpdated(e2); } this.lastEmoState[num] = (EmoState)emoState.Clone(); } } else { this.OnUserRemoved(e); } } else { this.OnUserAdded(e); } } }