public App(UI ui, Uhr uhr, MP3 mp3, Entrypoints ep) { ui.Start_gefordert += ep.Wecker_starten; ui.Stopp_gefordert += ep.Wecker_stoppen; ep.Restzeit += ui.Restzeit_anzeigen; ep.Weckzeit_erreicht += mp3.Abspielen; ep.Wecker_läuft += ui.Wecker_läuft; ep.Wecker_gestoppt += ui.Wecker_läuft_nicht; uhr.Uhrzeit += ui.Uhrzeit_anzeigen; uhr.Uhrzeit_starten(); Application.Run(ui); }
public Entrypoints(Uhr uhr) { _uhr = uhr; _wecker_starten += weckauftrag => { var ablaufdauer = weckauftrag.VerbleibendeZeit; _uhr.Countdown_starten(ablaufdauer); this.Wecker_läuft(); }; _wecker_stoppen += () => { _uhr.Countdown_stoppen(); Wecker_gestoppt(); }; _uhr.Countdown += r => Restzeit(r); _uhr.Countdown_abgelaufen += () => { Weckzeit_erreicht(); Wecker_gestoppt(); }; }