public HalloweenFlying( Dimmer3 eyes, ThroughputDevice fogStairsPump1, ThroughputDevice fogStairsPump2, StrobeColorDimmer3 fogStairsLight1, StrobeColorDimmer3 fogStairsLight2, AudioPlayer audioPlayer, [System.Runtime.CompilerServices.CallerMemberName] string name = "") : base(name) { pulsatingLow.ConnectTo(eyes); OutputPower.Subscribe(x => { if (x) { LockDevices(eyes); pulsatingLow.Start(token: this.controlToken); } else { pulsatingLow.Stop(); UnlockDevices(); } }); PowerOn .RunAction(ins => { pulsatingLow.Stop(); eyes.SetBrightness(1); audioPlayer.PlayEffect("Who is that knocking.wav"); ins.WaitFor(S(2.5)); fogStairsPump1.SetThroughput(0.4); fogStairsLight1.SetColor(Color.Purple, 1.0); fogStairsPump2.SetThroughput(0.4); fogStairsLight2.SetColor(Color.Purple, 1.0); ins.WaitFor(S(1.0)); fogStairsPump1.SetThroughput(0); fogStairsPump2.SetThroughput(0); ins.WaitFor(S(1.0)); fogStairsLight1.SetBrightness(0); fogStairsLight2.SetBrightness(0); }) .TearDown(ins => { pulsatingLow.Start(token: this.controlToken); }); }
public HalloweenMrPumpkin( Dimmer3 light, DigitalOutput2 air, AudioPlayer audioPlayer, [System.Runtime.CompilerServices.CallerMemberName] string name = "") : base(name) { pulsatingLow.ConnectTo(light); levelsPlayback.Output.Controls(b => light.SetBrightness(b, this.controlToken)); OutputPower.Subscribe(x => { if (x) { LockDevices(air, light); air.SetValue(true, this.controlToken); pulsatingLow.Start(token: this.controlToken); } else { pulsatingLow.Stop(); UnlockDevices(); } }); PowerOn .RunAction(ins => { pulsatingLow.Stop(); audioPlayer.PlayEffect("125919__klankbeeld__horror-what-are-you-doing-here-cathedral.wav", levelsPlayback); levelsPlayback.Start(this.controlToken); ins.WaitFor(S(8)); }) .TearDown(ins => { pulsatingLow.Start(token: this.controlToken); }); }
public HalloweenGrumpyCat( Dimmer3 light, DigitalOutput2 air, AudioPlayer audioPlayer, [System.Runtime.CompilerServices.CallerMemberName] string name = "") : base(name) { pulsatingLow.ConnectTo(light); pulsatingHigh.ConnectTo(light); OutputPower.Subscribe(x => { if (x) { LockDevices(air, light); air.SetValue(true, this.controlToken); pulsatingLow.Start(token: this.controlToken); } else { pulsatingLow.Stop(); UnlockDevices(); } }); PowerOn .SetLoop(true) .SetMaxRuntime(S(20)) .SetUp(ins => { pulsatingLow.Stop(); pulsatingHigh.Start(token: this.controlToken); }) .RunAction(ins => { switch (random.Next(5)) { case 0: audioPlayer.PlayEffect("266 Monster Growl 7.wav", 1.0, 1.0); ins.WaitFor(S(2.0)); break; case 1: audioPlayer.PlayEffect("285 Monster Snarl 2.wav", 1.0, 1.0); ins.WaitFor(S(3.0)); break; case 2: audioPlayer.PlayEffect("286 Monster Snarl 3.wav", 1.0, 1.0); ins.WaitFor(S(2.5)); break; case 3: audioPlayer.PlayEffect("287 Monster Snarl 4.wav", 1.0, 1.0); ins.WaitFor(S(1.5)); break; default: ins.WaitFor(S(3.0)); break; } }) .TearDown(ins => { //TODO: Fade out pulsatingHigh.Stop(); pulsatingLow.Start(token: this.controlToken); }); PowerOff .RunAction(ins => { audioPlayer.PlayEffect("How you doing.wav", 0.15); ins.WaitFor(S(5)); }); }