private void TSHandleLokiEvent(LokiZone zone, LokiEventType lEvent) { Console.WriteLine("LokiEvent: {0} in {1}", lEvent, zone); foreach (LokiZone tmpZ in labels.Keys) { Label tmpL = (Label)labels[tmpZ]; tmpL.Content = String.Empty; } Label zoneLabel = (Label)labels[zone]; zoneLabel.Content = lEvent; }
public void HandleLokiEvent(LokiZone zone, LokiEventType lEvent) { Dispatcher.Invoke((Action<LokiZone, LokiEventType>)TSHandleLokiEvent, zone, lEvent); }
private void HandleInteractiveModeEvent(LokiZone zone, LokiEventType lEvent) { if (lEvent == LokiEventType.ZoneReleased) { if (zone == LokiUtil.LokiManager.Zone2) Elephant.Trunk = false; if (zone == LokiUtil.LokiManager.Zone4) Elephant.YellowEar = false; if (zone == LokiUtil.LokiManager.Zone6) Elephant.GreenEar = false; if (zone == LokiUtil.LokiManager.Zone7) Elephant.BlueHand = false; if (zone == LokiUtil.LokiManager.Zone9) Elephant.GreenHand = false; if (zone == LokiUtil.LokiManager.Zone8) Elephant.Belly = false; } else if (lEvent == LokiEventType.ZonePressed) { if (zone == LokiUtil.LokiManager.Zone2) Elephant.Trunk = true; if (zone == LokiUtil.LokiManager.Zone4) Elephant.YellowEar = true; if (zone == LokiUtil.LokiManager.Zone6) Elephant.GreenEar = true; if (zone == LokiUtil.LokiManager.Zone7) Elephant.BlueHand = true; if (zone == LokiUtil.LokiManager.Zone9) Elephant.GreenHand = true; if (zone == LokiUtil.LokiManager.Zone8) Elephant.Belly = true; } }
private void HandleLokiInputEvent(LokiZone zone, LokiEventType lEvent) { if (lEvent == LokiEventType.ZoneReleased) return; BodyPart part = BodyPartConverter.GetBodyPart(zone); if (CurrentLevel.CurrentStep.Gesture == lEvent && CurrentLevel.CurrentStep.Part == part) { if (CurrentLevel.CurrentStepIndex != CurrentLevel.Steps.Count) { CurrentLevel.CurrentStepIndex++; } else //finished the level { if (CurrentLevelIndex != Levels.Count) { CurrentLevelIndex++; CurrentState = GameState.LevelStart; } else //finished the game, starts all over again { CurrentLevelIndex = 1; Levels.ForEach(delegate(Level level) { level.CurrentStepIndex = 1; }); CurrentState = GameState.LevelStart; } } } else //wrong combination { CurrentState = GameState.ErrorAlert; eaTimer.Start(); } }
public void HandleLokiEvent(LokiZone zone, LokiEventType lEvent) { if (CurrentState != GameState.LokiInput && CurrentState != GameState.ErrorAlert && CurrentState != GameState.InteractiveMode) return; lock (this) { if (CurrentState == GameState.InteractiveMode) HandleInteractiveModeEvent(zone, lEvent); else if (CurrentState == GameState.LokiInput || CurrentState == GameState.ErrorAlert) HandleLokiInputEvent(zone, lEvent); Console.WriteLine("LokiEvent: {0} in {1}", lEvent, zone); } }