private void OnZombieKilled(ZombieKilledMessage message)
 {
     if (message.Zombie.Get<CZombieInfo>().Type == ZombieType.GoldenGoblin)
     {
         this.SpawnGoldenGoblinExplosion(message.Zombie.Transform.Position);
         this.SpawnDrops(message.Zombie.Transform.Position);
     }
 }
 private void OnZombieKilled(ZombieKilledMessage message)
 {
     _achievement.Progression.Cast<IntegerProgression>().Current++;
     if (_achievement.IsUnlocked)
     {
         _entityWorld.UnsubscribeToMessage<ZombieKilledMessage>(this.OnZombieKilled);
     }
 }
 private void OnZombieKilled(ZombieKilledMessage message)
 {
     _killTimes.Enqueue(_currentTime);
     if (_killTimes.Count >= _count)
     {
         _achievement.Progression.Cast<BooleanProgression>().Unlock();
         _entityWorld.UnsubscribeToMessage<ZombieKilledMessage>(this.OnZombieKilled);
     }
 }
 private void OnZombieKilled(ZombieKilledMessage message)
 {
     if (message.Zombie.Get<CZombieInfo>().Type == ZombieType.GoldenGoblin)
     {
         _achievement.Progression.As<IntegerProgression>().Current++;
         if (_achievement.IsUnlocked)
         {
             _entityWorld.UnsubscribeToMessage<ZombieKilledMessage>(this.OnZombieKilled);
         }
     }
 }
 private void OnZombieKilled(ZombieKilledMessage message)
 {
     if (_boosterState.IsActive<PlayerInvulnerabilityBooster>())
     {
         _currentKills++;
         if (_currentKills >= _targetKills)
         {
             _achievement.Progression.Cast<BooleanProgression>().Unlock();
             _entityWorld.UnsubscribeToMessage<ZombieKilledMessage>(this.OnZombieKilled);
         }
     }
 }
 private void OnZombieKilled(ZombieKilledMessage message)
 {
     CZombieInfo zombieInfo = message.Zombie.Get<CZombieInfo>();
     if (zombieInfo.Type == ZombieType.Rusher)
     {
         CRusherZombieAI rusherAI = message.Zombie.Get<CRusherZombieAI>();
         if (rusherAI.State == RusherZombieState.Rushing)
         {
             _achievement.Progression.Cast<IntegerProgression>().Current++;
             if (_achievement.IsUnlocked)
             {
                 _entityWorld.UnsubscribeToMessage<ZombieKilledMessage>(this.OnZombieKilled);
             }
         }
     }
 }
        private void OnZombieKilled(ZombieKilledMessage message)
        {
            // insta killed zombies can't explode
            if (message.Zombie.Get<CZombieInfo>().KillReason == KillReason.Instakill)
            {
                return;
            }

            if (Global.Random.NextFromOdds(_passiveStats.ChanceForZombieExplodeOnDeath))
            {
                const float ExplosionRange = SkypieaConstants.PixelsPerMeter * 3;
                foreach (Entity zombie in _zombieSpatialMap.GetAllIntersecting(message.Zombie.Transform, ExplosionRange))
                {
                    if (zombie.Get<CHealth>().IsAlive)
                    {
                        ZombieHelper.Kill(zombie, Vector2.Zero);
                    }
                }
            }
        }
 private void OnZombieKilled(ZombieKilledMessage message)
 {
     _isActive = false;
 }
 private void OnZombieKilled(ZombieKilledMessage message)
 {
     _playerInfo.Score += (int)(ZombieHelper.GetScore(message.Zombie.Get<CZombieInfo>().Type) * _passiveStats.ScoreMultiplier);
 }
 private void OnZombieKilled(ZombieKilledMessage message)
 {
     _lastKillTime = _currentTime;
 }
 private void OnZombieKilled(ZombieKilledMessage message)
 {
     _statsManager.Kills++;
 }