コード例 #1
0
        public void Effect(int effectID)
        {
            switch (effectID)
            {
            case 0:
                //heart container
                Character.maxHearts++;
                destroy = true;
                break;

            case 1:
                //kite
                Character.moveSpeed += 0.3f;
                destroy              = true;
                break;

            case 2:
                //medkit
                Game1.objectHandler.SearchFirst <Character>().Heal(2);
                destroy = true;
                break;

            case 3:
                //extended mag
                Character.persistentEffects.Add(3);
                destroy = true;
                break;

            case 4:
                //rapid fire
                Character.persistentEffects.Add(4);
                destroy = true;
                break;

            case 5:
                //diamond
                Game1.coinCount += 50;
                destroy          = true;
                break;

            case 6:
                //reroller
                ProcGen2.GeneratePurchasables(true);
                break;

            default:
                break;
            }
        }
コード例 #2
0
        /// <summary>
        /// Allows the game to run logic such as updating the world,
        /// checking for collisions, gathering input, and playing audio.
        /// </summary>
        /// <param name="gameTime">Provides a snapshot of timing values.</param>
        protected override void Update(GameTime gameTime)
        {
            if (Key.IsPressed(Keys.D1))
            {
                weaponHandler.ChangeWeapon(new Wand());
                playPressed = true;
            }
            else if (Key.IsPressed(Keys.D2))
            {
                weaponHandler.ChangeWeapon(new Pistol());
                playPressed = true;
            }


            if (Key.IsPressed(Keys.Back))
            {
                Exit();
            }

            if (!started)
            {
                TileHandler.GenerateTiles();
                SpawnCharacter();
                character          = objectHandler.SearchFirst <Character>();
                currentDoorTexture = doorTexture;

                ProcGen2.GenerateDungeon();
                Minimap.GenerateMinimap();

                Minimap.MinimapDebug();
                RoomShower.StartingThing();
                RoomShower.SpawnRoom();
                objectHandler.AddObject(new ReloadIndicator());
                if (!File.Exists("scores.txt"))
                {
                    File.Create("scores.txt");
                    Console.WriteLine("score file created");
                }
                started = true;
            }
            if (Character.life <= 0)
            {
                gameOver = true;
            }
            else
            {
                gameOver = false;
            }
            MagicMissile.maxMissiles = objectHandler.SearchFirst <Character>().level + 3;
            List <Slime> slimes = objectHandler.SearchArray <Slime>();

            //input
            var mouseState = Mouse.GetState();

            Key.Update(gameTime);
            mouseOneTap.Update(gameTime);
            if (Key.IsPressed(Keys.Tab))
            {
                showMiniMap = !showMiniMap;
            }

            // TODO: Add your update logic here
            objectHandler.Update(gameTime);
            heartManager.Update(gameTime);
            debugTimer.Update(gameTime);
            weaponHandler.Update(gameTime);

            foreach (MinimapRoom miniRoom in minirooms)
            {
                miniRoom.Update(gameTime);
            }
            base.Update(gameTime);
        }