public void submit_missions_to([NotNull] MissionControl mission_control) { var tell_overlord_when_all_work_is_done = new MissionDescription<OverlordThrone>(() => this); tell_overlord_when_all_work_is_done.send_new_fool_when<DoMyBidding>(); tell_overlord_when_all_work_is_done.fools_shall_do<AppQuit>(stop_program); mission_control.send_out_fools_to(tell_overlord_when_all_work_is_done); }
private MissionDescription<OrcishRaidProgress> orc_raid() { var raid = new MissionDescription<OrcishRaidProgress>(() => new OrcishRaidProgress(9)); raid.send_new_fool_when<ElvesFound>() .and_have_it(_start_new_raid); raid.fools_shall_do<SayGo>(_begin_raiding); return raid; }