public DemoScene1(IEnumerable<string> args)
{
pulsatingEffect1 = new Effect.Pulsating(S(2), 0.1, 1.0, false, "Pulse FX 1");
light1 = new StrobeColorDimmer("Small RGB");
buttonTestSound = new DigitalInput("Test sound");
buttonPlayBackground = new DigitalInput("Play Background");
buttonPauseBackground = new DigitalInput("Pause Background");
buttonTrigger1 = new DigitalInput("Test seq");
buttonTestLight1 = new DigitalInput("Test light");
buttonTestLight2 = new DigitalInput("Test pulse");
switchTest1 = new Switch("Switch test 1");
audioPlayer = new AudioPlayer("Audio Player");
raspberry.DigitalInputs[4].Connect(buttonTrigger1, true);
raspberry.DigitalOutputs[7].Connect(switchTest1);
raspberry.Connect(audioPlayer);
var demoSeq = new Controller.Sequence("Demo Sequence");
demoSeq.WhenExecuted
.Execute(instance =>
{
audioPlayer.PlayEffect("laugh");
switchTest1.SetPower(true);
light1.SetColor(Color.Orange, 1.0);
instance.WaitFor(TimeSpan.FromSeconds(1));
switchTest1.SetPower(false);
light1.RunEffect(new Effect2.Fader(1.0, 0.0), S(1.0));
});
buttonTestSound.ActiveChanged += (sender, e) =>
{
if (e.NewState)
{
audioPlayer.PlayEffect("sixthsense-deadpeople");
}
};
buttonPlayBackground.ActiveChanged += (sender, e) =>
{
if (e.NewState)
{
audioPlayer.PlayBackground();
}
};
buttonPauseBackground.ActiveChanged += (sender, e) =>
{
if (e.NewState)
{
audioPlayer.PauseBackground();
}
};
buttonTestLight1.ActiveChanged += (sender, e) =>
{
if (e.NewState)
{
light1.SetOnlyColor(Color.White);
light1.RunEffect(new Effect2.Fader(0.0, 1.0), S(1.0));
Thread.Sleep(S(1));
light1.RunEffect(new Effect2.Fader(1.0, 0.0), S(1.0));
}
};
buttonTestLight2.ActiveChanged += (sender, e) =>
{
if (e.NewState)
{
pulsatingEffect1.Start();
}
else
{
pulsatingEffect1.Stop();
}
};
buttonTrigger1.ActiveChanged += (sender, e) =>
{
if (e.NewState)
{
Executor.Current.Execute(demoSeq);
}
};
pulsatingEffect1.AddDevice(light1);
}