Пример #1
0
    public Window1()
    {
      InitializeComponent();

      Player = new LokiPlayer(Environment.CurrentDirectory + @"\RecordedMouseInput.loki");
      Recorder = new LokiRecorder(Environment.CurrentDirectory + @"\RecordedMouseInput.loki");
      bPlay.IsEnabled = false;
      bPause.IsEnabled = false;

      Manager = new LokiManager();
      Manager.RegisterListener(LokiManager.Zone2, LokiEventType.ZonePressed, this);
      Manager.RegisterListener(LokiManager.Zone2, LokiEventType.ZoneReleased, this);
      Manager.RegisterListener(LokiManager.Zone4, LokiEventType.ZonePressed, this);
      Manager.RegisterListener(LokiManager.Zone4, LokiEventType.ZoneReleased, this);
      Manager.RegisterListener(LokiManager.Zone5, LokiEventType.ZonePressed, this);
      Manager.RegisterListener(LokiManager.Zone5, LokiEventType.ZoneReleased, this);
      Manager.RegisterListener(LokiManager.Zone6, LokiEventType.ZonePressed, this);
      Manager.RegisterListener(LokiManager.Zone6, LokiEventType.ZoneReleased, this);
      Manager.RegisterListener(LokiManager.Zone7, LokiEventType.ZonePressed, this);
      Manager.RegisterListener(LokiManager.Zone7, LokiEventType.ZoneReleased, this);
      Manager.RegisterListener(LokiManager.Zone8, LokiEventType.ZonePressed, this);
      Manager.RegisterListener(LokiManager.Zone8, LokiEventType.ZoneReleased, this);
      Manager.RegisterListener(LokiManager.Zone9, LokiEventType.ZonePressed, this);
      Manager.RegisterListener(LokiManager.Zone9, LokiEventType.ZoneReleased, this);

      // Ensure the image rendering does not interpolate
      RenderOptions.SetBitmapScalingMode(SensorImage, BitmapScalingMode.NearestNeighbor);

      // Initialise the mouse and register the callback function
      TouchMouseSensorEventManager.Handler += TouchMouseSensorHandler;
      TouchMouseSensorEventManager.Handler += Manager.TouchMouseSensorHandler;

      // Registers callback function for the player
      Player.Handler += new PlaybackTouchMouseSensorHandler(Player_Handler);
      Player.Handler += Manager.PlayerHandler;

      labels.Add(LokiManager.Zone1, lZone1);
      labels.Add(LokiManager.Zone2, lZone2);
      labels.Add(LokiManager.Zone3, lZone3);
      labels.Add(LokiManager.Zone4, lZone4);
      labels.Add(LokiManager.Zone5, lZone5);
      labels.Add(LokiManager.Zone6, lZone6);
      labels.Add(LokiManager.Zone7, lZone7);
      labels.Add(LokiManager.Zone8, lZone8);
      labels.Add(LokiManager.Zone9, lZone9);
    }
    public MainWindow()
    {
      Elephant = new TokiElephant();

      Loki = new LokiManager();
      Loki.RegisterListener(LokiManager.Zone1, LokiEventType.All, this);
      Loki.RegisterListener(LokiManager.Zone2, LokiEventType.All, this);
      Loki.RegisterListener(LokiManager.Zone3, LokiEventType.All, this);
      Loki.RegisterListener(LokiManager.Zone4, LokiEventType.All, this);
      Loki.RegisterListener(LokiManager.Zone5, LokiEventType.All, this);
      Loki.RegisterListener(LokiManager.Zone6, LokiEventType.All, this);
      Loki.RegisterListener(LokiManager.Zone7, LokiEventType.All, this);
      Loki.RegisterListener(LokiManager.Zone8, LokiEventType.All, this);
      Loki.RegisterListener(LokiManager.Zone9, LokiEventType.All, this);

      // Initialise the mouse and register the callback function
      TouchMouseSensorEventManager.Handler += Loki.TouchMouseSensorHandler;

      Levels.Add(new Level() { Steps = new List<Step>() });
      Levels[0].Steps.Add(new Step() { Part = BodyPart.Trunk, Gesture = LokiEventType.ZonePressed });
      Levels[0].Steps.Add(new Step() { Part = BodyPart.GreenEar, Gesture = LokiEventType.ZonePressed });
      Levels[0].Steps.Add(new Step() { Part = BodyPart.YellowEar, Gesture = LokiEventType.ZonePressed });

      Levels.Add(new Level() { Steps = new List<Step>() });
      Levels[1].Steps.Add(new Step() { Part = BodyPart.Trunk, Gesture = LokiEventType.ZonePressed });
      Levels[1].Steps.Add(new Step() { Part = BodyPart.GreenEar, Gesture = LokiEventType.Tap });
      Levels[1].Steps.Add(new Step() { Part = BodyPart.YellowEar, Gesture = LokiEventType.Tap });

      Levels.Add(new Level() { Steps = new List<Step>() });
      Levels[2].Steps.Add(new Step() { Part = BodyPart.Trunk, Gesture = LokiEventType.ZonePressed });
      Levels[2].Steps.Add(new Step() { Part = BodyPart.GreenEar, Gesture = LokiEventType.Tap });
      Levels[2].Steps.Add(new Step() { Part = BodyPart.YellowEar, Gesture = LokiEventType.DoubleTap });

      cTimer = new Timer(LokiApp.Properties.Settings.Default.CalibrationNotRespondTimeOutSeconds * 1000);
      cTimer.Elapsed += new ElapsedEventHandler(cTimer_Elapsed);
      eaTimer = new Timer(LokiApp.Properties.Settings.Default.ErrorAlertSeconds * 1000);
      eaTimer.Elapsed += new ElapsedEventHandler(eaTimer_Elapsed);

      InitializeComponent();
    }