public void Destroy() { if (isDestroyed) { return; } isDestroyed = true; OnDestroyed?.Invoke(); rb.isKinematic = true; Destroy(GetComponent <Collider>()); Destroy(headDamageCollider); Destroy(transform.GetComponentInChildren <SkinnedMeshRenderer>()); foreach (var item in transform.GetComponentsInChildren <Light>()) { Destroy(item); } audioSource.clip = deathSound; audioSource.Play(); EnergyHandler.RemoveEnergyObject(this); EnergyArea ha; ha = EnergyHandler.CreateEnergyArea(transform.position); ha.AddEnergy(false); VisualDestructionHandler destructionHandler = GetComponent <VisualDestructionHandler>(); destructionHandler.Destroy(rb.velocity); Invoke("DestroyWhole", 3); }
private void KillPlayer() { if (!IsInvincible && enabled) { UnityEngine.Debug.Log("Player Died, Respawning soon"); audioSource.clip = deathClip; audioSource.Play(); VisualDestructionHandler destructionHandler = GetComponent <VisualDestructionHandler>(); if (destructionHandler != null) { destructionHandler.Destroy(rb.velocity); } GetComponent <PlayerDeactivationHandler>().Dectivate(); EnergyHandler.RemoveEnergyObject(this); Invoke("Respawn", 4); } }