public override void Unload() { base.Unload(); items?.Clear(); previousItems?.Clear(); creatures?.Clear(); previousCreatures?.Clear(); particleGrid = null; UnityEngine.Object.Destroy(attractionObj); }
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(); } } }