public static void Run()
        {
            // Invoker
            RemoteControlWithUndo remoteControl = new RemoteControlWithUndo();

            // Receivers
            Light      livingRoomLight = new Light("Living Room");
            Light      kitchenLight    = new Light("Kitchen");
            CeilingFan ceilingFan      = new CeilingFan("Living Room");
            GarageDoor garageDoor      = new GarageDoor("");
            Stereo     stereo          = new Stereo("Living Room");

            // Set Commands
            remoteControl.SetCommand(0, () => { livingRoomLight.On(); }, () => { livingRoomLight.Off(); });
            remoteControl.SetCommand(1, () => { kitchenLight.On(); }, () => { kitchenLight.Off(); });
            remoteControl.SetCommand(2, () => { ceilingFan.Low(); }, () => { ceilingFan.Off(); });
            remoteControl.SetCommand(3, () => { ceilingFan.Medium(); }, () => { ceilingFan.Off(); });
            remoteControl.SetCommand(4, () => { ceilingFan.High(); }, () => { ceilingFan.Off(); });
            remoteControl.SetCommand(5, () => { garageDoor.Up(); }, () => { garageDoor.Down(); });

            Action stereoOnWithCD = () => { stereo.On(); stereo.SetCd(); stereo.SetVolume(11); };

            remoteControl.SetCommand(6, stereoOnWithCD, () => { stereo.Off(); });

            // Invoke Commands
            Console.WriteLine("==================================================");
            Console.WriteLine("============= Testing Remote Loader  =============");
            Console.WriteLine("==================================================");
            Console.WriteLine();
            Console.WriteLine(remoteControl);
            Console.WriteLine();
            for (int i = 0; i < remoteControl.numberOfSlots; i++)
            {
                remoteControl.OnButtonWasPushed(i);
                remoteControl.OffButtonWasPushed(i);
            }
        }
コード例 #2
0
 public void Execute()
 {
     _stereo.On();
     _stereo.SetCd();
     _stereo.SetVolume(11);
 }
コード例 #3
0
 public void Execute()
 {
     stereo.On();
     stereo.SetCd();
     stereo.SetVolume();
 }
コード例 #4
0
ファイル: ICommand.cs プロジェクト: KirillBy/.net_smallDemo
 public void Execute()
 {
     _stereo.On();
     _stereo.SetCd();
 }
コード例 #5
0
ファイル: ICommand.cs プロジェクト: KirillBy/.net_smallDemo
 public void Undo()
 {
     _stereo.On();
     _stereo.SetCd();
 }
コード例 #6
0
 public void Execute(object parameter)
 {
     _stereo.On();
     _stereo.SetCd();
     _stereo.SetVolume(11);
 }
コード例 #7
0
 public void Undo()
 {
     _stereo.On();
     _stereo.SetCd("The Hunna - Dare");
     _stereo.SetVolume(10);
 }
コード例 #8
0
 public void Execute()
 {
     _stereo.On();
     _stereo.SetCd("The Hunna - Dare");
     _stereo.SetVolume(10);
 }
 public void Undo()
 {
     _stereo.On();
     _stereo.SetCd();
     _stereo.SetVolume(11);
 }
コード例 #10
0
 public void Execute()
 {
     _stereo.On();
     _stereo.SetCd();
     _stereo.SetVolume(11); // Why 11? Well, it's better than 10, right?
 }