void HandleOutOfAmmo(OutOfAmmoEvent outOf) { outOf.shootingEnemyOOA.GetComponent <MovementComponent>().speed = Constants.GamePlay.KAMIKAZE_ENEMY_SPEED; outOf.shootingEnemyOOA.GetComponent <ProjectileSpawningProcessComponent>().firingProcess.Kill(); outOf.shootingEnemyOOA.RemoveComponent <ProjectileSpawningProcessComponent>(); outOf.shootingEnemyOOA.RemoveComponent <ShootingEnemyComponent>(); outOf.shootingEnemyOOA.AddComponent(new KamikazeComponent()); }
void HandleOutOfAmmo(OutOfAmmoEvent outOf) { outOf.ShootingEnemyOOA.GetComponent <MovementComponent>().MovementVector = CVars.Get <float>("chasing_enemy_speed") * (new Microsoft.Xna.Framework.Vector2((float)Math.Cos(outOf.ShootingEnemyOOA.GetComponent <TransformComponent>().Rotation), (float)Math.Sin(outOf.ShootingEnemyOOA.GetComponent <TransformComponent>().Rotation))); outOf.ShootingEnemyOOA.GetComponent <ProjectileSpawningProcessComponent>().FiringProcess.Kill(); outOf.ShootingEnemyOOA.RemoveComponent <ProjectileSpawningProcessComponent>(); outOf.ShootingEnemyOOA.RemoveComponent <ShootingEnemyComponent>(); outOf.ShootingEnemyOOA.AddComponent(new ChasingEnemyComponent()); }