public void CheckCollisions() { List <Entity> colliding = CollisionSolver.GetAllColliding(this); foreach (Entity e in colliding) { Type eType = e.GetType(); if (eType == typeof(Pickup)) { ToungeGrabbed(e); } if (eType == typeof(BadFrog)) { BadFrog b = (BadFrog)e; if (GetStrengthOfMotion() > b.GetStrengthOfMotion()) { b.Kill(); } else { Kill(); } //dramatic effect Renderer.cam.SetShake(2f, 0.4f); } if (eType == typeof(Frog) && e != this && x == e.x && y == e.y) //don't get stuck on each other { AddForce(1, 0); } } }
static void SpawnEnemy() { int spawnX = rng.Next(8, (Renderer.cam.width / Renderer.cam.scale) - 16); int spawnY = rng.Next(8, (Renderer.cam.height / Renderer.cam.scale) - 16); BadFrog badFrog = new BadFrog(spawnX, spawnY); EntityManager.AddEntity(badFrog); }
public void ToungeGrabbed(Entity e) { e.forRemoval = true; if (e.GetType() == typeof(Pickup)) { Pickup p = (Pickup)e; if (p.pType == Pickup.PickupType.HoloFrog) { if (teamCount < maxTeamCount) { BadFrog newBadFrog = new BadFrog(p.x, p.y); EntityManager.AddEntity(newBadFrog); EntityManager.AddEntity(new Popup(Popup.PopupType.NewBadFrog, x + 2, y - 4)); } } //if (p.pType == Pickup.PickupType.Coin) //Game.score++; } }