private void OnExplode(MultiDirectionMissileAction.MissileInfo data, ActorController actor)
 {
     if (data != null && data.missile != null)
     {
         PoolMgr.spawnPool.Despawn(data.missile.transform, this.MissileDeleteDelay);
         data.missile = null;
     }
     if (this.explodePrefab != null)
     {
         Transform instance = PoolMgr.SpawnParticleSystem(this.explodePrefab.transform, actor.transform.position, actor.transform.rotation, 1f);
         PoolMgr.spawnPool.Despawn(instance, this.explodeLifeTime);
     }
     if (actor != null)
     {
         base.variables.skillCaster.OnMissileHit(base.variables.skillInfo, actor, base.variables.targetPosition, 0);
     }
 }
 private void CheckExplode(MultiDirectionMissileAction.MissileInfo data)
 {
     ActorController actorController = null;
     List<ActorController> actors = Globals.Instance.ActorMgr.Actors;
     float num = 0.1f;
     for (int i = 0; i < actors.Count; i++)
     {
         ActorController actorController2 = actors[i];
         if (actorController2 && !actorController2.IsDead && base.variables.skillCaster.IsHostileTo(actorController2))
         {
             float num2 = CombatHelper.DistanceSquared2D(data.missile.transform.position, actorController2.transform.position);
             if (num2 < num)
             {
                 num = num2;
                 actorController = actorController2;
             }
         }
     }
     if (actorController != null)
     {
         this.OnExplode(data, actorController);
     }
 }