public void Destroy() { EnergyArea ha; ha = EnergyHandler.CreateEnergyArea(transform.position); for (int i = 0; i < GetEnergyAmount(); i++) { ha.AddEnergy(false); } Energy = 0; isDestroyed = true; OnDestroyed?.Invoke(); rb.isKinematic = true; Destroy(GetComponent <Collider>()); Destroy(AbsorptionArea); SoundMechanicHandler.RemoveListener(transform); EnergyHandler.RemoveEnergyObject(this); Destroy(transform.GetComponentInChildren <SkinnedMeshRenderer>()); GetComponent <VisualDestructionHandler>().Destroy(rb.velocity); audioSource.clip = deathSound; audioSource.loop = false; audioSource.Play(); Invoke("Eliminate", 2); }
private void OnDestroy() { SoundMechanicHandler.RemoveListener(transform); }