private void onBulletHitEnemy(object sender, EnemyHitEventArgs e) { ICollidable someEnemy = e.CollidedEnemy; int pointsToAdd = 0; if (someEnemy is MotherShip) { pointsToAdd = 600; } else if (someEnemy is Enemy) { IPlayersManager playersManager = this.Game.Services.GetService(typeof(IPlayersManager)) as IPlayersManager; int relativeLevel = (playersManager.CurrentLevel - 1) % 6; Enemy enemy = someEnemy as Enemy; if (enemy.TintColor == Color.LightPink) { pointsToAdd = 220 + (50 * relativeLevel); } else if (enemy.TintColor == Color.LightBlue) { pointsToAdd = 160 + (50 * relativeLevel); } else { pointsToAdd = 90 + (50 * relativeLevel); } } Player.ScoreOfTheGame.AddPoints(pointsToAdd); }
private void onEnemyKilled(ICollidable i_Collidable) { if (EnemyKilled != null) { EnemyHitEventArgs enemyHitEventArgs = new EnemyHitEventArgs(i_Collidable); EnemyKilled.Invoke(this, enemyHitEventArgs); } }
private void EnemyHitHandler(EnemyHitEventArgs args) { if (args.WasPlayer) { var manaGain = (int)(args.Damage * 0.3f); var manaStat = Player.Instance.GetStatObject(Stats.ManaStat.Id); manaStat.CurrentValue += manaGain; var player = Player.Instance.GameObject; Core.DisplayNumberString(manaGain, "mp", Color.RoyalBlue, new Vector2(player.X, player.Bounds.Top - 30)); } }
private void EnemyHitHandler(EnemyHitEventArgs args) { args.KnockbackForce *= 2; }
/// <summary> /// Linked to EnemyHit event; updates healthbar /// </summary> public void EnemyHit(object sender, EnemyHitEventArgs args) { UpdateHealth(args.Health); }