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; } }
/// <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); }