예제 #1
0
        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);
        }
예제 #2
0
 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);
     }
 }