public static void KickOff() { basero icc = image_manager.manager.Load("StudioLogo"); icc.rerect(new identical_rect(ro_root.guiroot.tblr)); renderable.AlphaFadeEffect Fader = new renderable.AlphaFadeEffect(icc); Fader.OnEnd += delegate() { baseso moo = sound_manager.manager.Load("moo"); moo.OnEnd += delegate(baseso src) { renderable.AlphaFadeEffect DeFader = new renderable.AlphaFadeEffect(icc, true); DeFader.OnEnd += TransitionTwo; }; moo.Play(); }; Fader.push_onto(ro_root.guiroot); }
Oddly enough (if perhaps slightly unsuprising), the nested anonymous delegates behave properly. The logo fades in, "moo" is played, and then the logo fades out.