public override void Collision(GameEntity target) { if (target is Player && state == MeleeBotState.Attacking) { velocity = Vector3.Zero - velocity; state = MeleeBotState.Idle; timeToGoBack = TimeSpan.FromSeconds(timeToGoBackSeconds); timeToPause = TimeSpan.FromSeconds(timeToPauseSeconds); timeToCharge = TimeSpan.FromSeconds(timeToChargeSeconds); charging = false; Player p = target as Player; p.takeDamage(damage); } else if (target is PlayerWeapon) { target.Collision(this); } else if (target is Explosion) { target.Collision(this); } else if (target is MeleeBot) { } }
public override void Collision(GameEntity target) { if (target is EnemiesAndPlayer && !(target is Player)) //your own explosions cannot hurt you { EnemiesAndPlayer ep = target as EnemiesAndPlayer; ep.takeDamage(damage); } }
public override void Collision(GameEntity target) { if (target is LatchingCell) { target.Collision(this); } //base.Collision(target); }
public override void Collision(GameEntity target) { if (target is EnemiesAndPlayer) { EnemiesAndPlayer ep = target as EnemiesAndPlayer; ep.takeDamage(damage); Die(); } }
public override void Collision(GameEntity target) { if (target is Player) { Player p = target as Player; p.changeWeapon((PlayerWeaponName)Enum.Parse(typeof(PlayerWeaponName), name, true)); Die(); } }
public override void Collision(GameEntity target) { if (target is Player && !hitPlayerOnce) { Player p = target as Player; p.takeDamage(damage); hitPlayerOnce = true; } }
public override void Collision(GameEntity target) { if (!(target is BotExplosion)) { Die(); Level.Add(new BotExplosion(damage, 50, 5, position, content)); base.Collision(target); } }
public override void Collision(GameEntity target) { if (target is EnemiesAndPlayer) { EnemiesAndPlayer ep = target as EnemiesAndPlayer; ep.takeDamage(damage); Die(); } else if (target is BotMissile) { BotMissile bm = target as BotMissile; bm.Die(); //should missiles be shot down in one hit? } }
public override void Collision(GameEntity target) { if (target is Player || target is Shield) { velocity = position - target.Position; velocity.Normalize(); position += velocity; } else if (target is PlayerWeapon) { target.Collision(this); } else if (target is Explosion) { target.Collision(this); } }
public override void Collision(GameEntity target) { if (target is Player) { } else if (target is PlayerWeapon) { target.Collision(this); } else if (target is Explosion) { target.Collision(this); } else if (target is MeleeBot) { } }
public override void Collision(GameEntity target) { if (target is Player || target is Shield) { if (!latched) { latched = true; if (target is Player) { Player p = target as Player; p.setVelocity(p.getVelocity() * .25f); velocity = p.Velocity; victim = p; } else { Shield s = target as Shield; s.VelocityFactor = s.VelocityFactor / 4; victim = s; } } else { //position = target.Position; velocity = target.Velocity; } } else if (target is PlayerWeapon && !(target is Shield)) { if (!latched) target.Collision(this); } else if (target is Explosion) { target.Collision(this); } else //not player, shield, OR any other weapon. Handle physics. { } }
public override void Collision(GameEntity target) { if (target is Player) { Die(); Player p = target as Player; p.takeDamage(); } else if (target is Missle) { target.Collision(this); } else if (target is Needle) { target.Collision(this); } else if (target is Explosion) { target.Collision(this); } }
public override void Collision(GameEntity target) { if (target is Player) { Vector3 newPos = target.Position + target.Velocity; BoundingSphere bs = new BoundingSphere(newPos, target.sphere.Radius); if (bs.Intersects(this.sphere)) { target.Position -= target.Velocity; } } else if (target is PlayerWeapon) { target.Collision(this); } else if (target is StraightCell) { target.Die(); TimeSpan ts = TimeSpan.FromSeconds(1); convertingCells.Add(ts); } }
public static void Add(GameEntity newEnt) { entities.Add(newEnt); }
public override void Collision(GameEntity target) { base.Collision(target); }
public override void Collision(GameEntity target) { }
public virtual void Collision(GameEntity target) { }
public override void Collision(GameEntity target) { if (!(target is PlayerWeapon) && !(target is Explosion)) { target.Collision(this); } }
public override void Collision(GameEntity target) { if (target is Player) { Vector3 newPos = target.Position + target.Velocity; BoundingSphere bs = new BoundingSphere(newPos, target.sphere.Radius); if (bs.Intersects(clotBox)) { target.Position -= target.Velocity; } } else if (target is PlayerWeapon) { target.Collision(this); } else if (target is StraightCell) { if (side == Side.Left) { target.Position -= Vector3.UnitX; } else target.Position += Vector3.UnitX; } else if (target is ClotSide) { //game over seal = true; } }
public void inRange(GameEntity target) { if (target is StraightCell) { StraightCell sc = target as StraightCell; sc.Absorb(); Vector3 newVel = position - sc.Position; newVel.Normalize(); sc.Velocity = newVel; } }