Ejemplo n.º 1
0
        /// <summary>
        /// checks for all Collisions that can occur
        /// and handles the appropriately
        /// </summary>
        public void GameCollisions()
        {
            Collision.ObstacleCollision(player, levelCreator.Obstacles);

            if (Collision.ExitCollision(player, levelCreator.Exits))
            {
                if (GameRunning.map == "short-n-sweet.txt")
                {
                    GameRunning.NewInstance("the-beach.txt");
                    InitializeGameState();
                }
                else
                {
                    GameRunning.NewInstance("short-n-sweet.txt");
                    InitializeGameState();
                }
            }

            var platcol = Collision.PlatformCollision(player, levelCreator.Platforms);

            if (platcol.Item1)
            {
                var v = platcol.Item2;
                player.PlatformTouch = true;
                DropCustomerOff(CustomersPickedUp, v);
            }


            foreach (Customer customer in CustomerList)
            {
                if (Collision.CustomerCollision(player, customer))
                {
                    customer.IsRendered = false;

                    CustomersPickedUp.Add(customer);
                }
            }
        }
Ejemplo n.º 2
0
        public void HandleKeyEvent(string keyValue, string keyAction)
        {
            switch (keyAction)
            {
            case "KEY_PRESS":
                switch (keyValue)
                {
                case "KEY_UP":
                    if (activeMenuButton > 0)
                    {
                        menuButtons[activeMenuButton].SetColor(Color.DarkGray);
                        activeMenuButton--;
                        menuButtons[activeMenuButton].SetColor(Color.White);
                    }
                    else if (activeMenuButton == 0)
                    {
                        menuButtons[activeMenuButton].SetColor(Color.DarkGray);
                        activeMenuButton = 2;
                        menuButtons[activeMenuButton].SetColor(Color.White);
                    }

                    break;

                case "KEY_DOWN":
                    if (activeMenuButton < MainMenu.maxMenuButtons - 1)
                    {
                        menuButtons[activeMenuButton].SetColor(Color.DarkGray);
                        activeMenuButton++;
                        menuButtons[activeMenuButton].SetColor(Color.White);
                    }
                    else if (activeMenuButton == MainMenu.maxMenuButtons - 1)
                    {
                        menuButtons[activeMenuButton].SetColor(Color.DarkGray);
                        activeMenuButton = 0;
                        menuButtons[activeMenuButton].SetColor(Color.White);
                    }

                    break;

                case "KEY_ENTER":

                    if (activeMenuButton == 0)
                    {
                        GameRunning.NewInstance("short-n-sweet.txt");
                        EventBus.GetBus().RegisterEvent(
                            GameEventFactory <object> .CreateGameEventForAllProcessors(
                                GameEventType.GameStateEvent, this, "CHANGE_STATE",
                                "GAME_RUNNING", ""));
                    }
                    else if (activeMenuButton == 1)
                    {
                        EventBus.GetBus().RegisterEvent(
                            GameEventFactory <object> .CreateGameEventForAllProcessors(
                                GameEventType.GameStateEvent, this, "CHANGE_STATE",
                                "CHOOSE_LEVEL", ""));
                    }
                    else if (activeMenuButton == 2)
                    {
                        EventBus.GetBus().RegisterEvent(
                            GameEventFactory <object> .CreateGameEventForAllProcessors(
                                GameEventType.WindowEvent, this, "CLOSE_WINDOW",
                                "", ""));
                    }

                    break;
                }

                break;
            }
        }