Ejemplo n.º 1
0
 public override void Unload()
 {
     base.Unload();
     items?.Clear();
     previousItems?.Clear();
     creatures?.Clear();
     previousCreatures?.Clear();
     particleGrid = null;
     UnityEngine.Object.Destroy(attractionObj);
 }
Ejemplo n.º 2
0
 public override void Fire(bool active)
 {
     base.Fire(active);
     target = spellCaster.magicSource.position + spellCaster.magicSource.up;
     if (active)
     {
         startRotation = spellCaster.ragdollHand.transform.rotation;
         particleGrid  = (EffectVfx)chargeEffectInstance.effects.Find(effect => effect is EffectVfx);
         if (!isActive)
         {
             isActive = true;
         }
     }
     else
     {
         isActive = false;
         if (previousItems != null && previousItems.Count() > 0)
         {
             previousItems.ForEach(item => item.HeldItem()?.Reset(GetSide()));
             previousItems.Clear();
         }
         if (items != null && items.Count() > 0)
         {
             items.ForEach(item => item.HeldItem()?.Reset(GetSide()));
             items.Clear();
             previousItems.Clear();
         }
         if (previousCreatures != null && previousCreatures.Count() > 0)
         {
             previousCreatures.ForEach(creature => FreezeController.Instance.UnFreezeCreature(creature));
             previousCreatures.Clear();
         }
         if (creatures != null && creatures.Count() > 0)
         {
             creatures.ForEach(creature => FreezeController.Instance.UnFreezeCreature(creature));
             creatures.Clear();
             previousCreatures.Clear();
         }
     }
 }