Exemplo n.º 1
0
        private void MenuKeyDown(object sender, KeyEventArgs e)
        {
            if (gridInteract.Visibility == Visibility.Visible)
            {
                gridInteract.Visibility = Visibility.Hidden;
            }
            if (moveAction.StoryboardAnimation.AnimationComplete)
            {
                moveAction.StoryboardAnimation.MainStoryboard.Completed += new EventHandler(AnimationCompleted);
                var max      = MapGrid.RowDefinitions.Count - 1;
                var selected = moveAction.GetDirection(e.Key, max);
                if (selected > 0)
                {
                    if (!conflictChecker.WallConflict(moveAction, MapData.ListMap))
                    {
                        if (conflictChecker.PortalConflict(moveAction, MapData.ListMap))
                        {
                            moveAction.SpriteAnimation.CreateSprite(e.Key, PlayerImage);
                            moveAction.Pos = moveAction.LastPos;
                        }
                        else
                        {
                            moveAction.StoryboardAnimation.CreateStoryboard(e.Key, MapCanvas);
                            moveAction.StoryboardAnimation.CreateStoryboard(e.Key, PlayerCanvas, true);
                            moveAction.SpriteAnimation.CreateSprite(e.Key, PlayerImage);
                            moveAction.StoryboardAnimation.MainStoryboard.Begin();
                            moveAction.StoryboardAnimation.SetCanvasZIndex((int)moveAction.Pos.Y, PlayerCanvas);
                            CheckConflict(moveAction);
                        }
                    }
                    else
                    {
                        moveAction.Pos = moveAction.LastPos;
                    }
                }
                else if (selected == -1)
                {
                    Debug.WriteLine("E3001");
                }
                else if (selected < -1)
                {
                    if (selected == -2)
                    {
                        if (conflictChecker.PortalInteract(moveAction, MapData.ListMap))
                        {
                            if (moveAction.PortalKey != null)
                            {
                                NavigateToPage(new BattlePage("Boss"));
                                End = true;
                            }
                            else
                            {
                                txtBlkInteract.Text     = "You don't have key!";
                                gridInteract.Visibility = Visibility.Visible;
                            }
                        }
                    }
                    else if (selected == -3)
                    {
                        NavigateToPage(new PartyMenuPage(1));
                    }
                }
            }

            //test.Text = "Room " + MapData.RoomID + "; Count: " + App.levelList.LevelsList.Count;
        }