public void SendEventToController(PICEvent e) { if (controller != null) { controller.Incoming_Events.Enqueue(e); } }
private void HandleEvent(PICEvent e) { Debug.WriteLine("[EVENT::FROM_VIEW] " + e); if (e is BreakPointChangedEvent) { BreakPointChangedEvent ce = e as BreakPointChangedEvent; breakpoints[ce.Position] = ce.Value; } else if (e is ChangePICModeEvent) { ChangePICModeEvent ce = e as ChangePICModeEvent; Mode = ce.Value; } else if (e is ManuallyRegisterChangedEvent) { ManuallyRegisterChangedEvent ce = e as ManuallyRegisterChangedEvent; SetUnbankedRegister(ce.Position, ce.Value); } else if (e is ExternalClockChangedEvent) { ExternalClockChangedEvent ce = e as ExternalClockChangedEvent; if (ce.ClockID < 4) { Clocks[ce.ClockID].UpdateState(ce); } } else { throw new ArgumentException(e.ToString()); } }