예제 #1
0
 public override void Hit(int damage, RaycastHit hit, bool hitPresent)
 {
     health -= damage;
     if (health <= 0)
     {
         if (EEGGameManager.IsInitialized())
         {
             EEGGameManager.Instance.RemoveOutlineObject(GetComponent <OutlineObject> ());
         }
         animator.SetTrigger("Die");
         AudioSrc.PlayOneShot(deathClip);
         if (hitPresent)
         {
             deadEffect.transform.position = hit.point;
             deadEffect.Play();
         }
         Agent.enabled = false;
         Invoke("DisableAudioSrc", deathClip.length);
         SetCollidersEnabled(false);
         if (ZombieFactory.IsInitialized())
         {
             StartCoroutine(ReturnDelayed(10));
             SpO2GameManager.Instance.ZombieDied();
         }
         else
         {
             enabled = false;
         }
     }
     else
     {
         Agent.Move(-hit.normal * 0.4f);
     }
 }
예제 #2
0
 void OnDestroy()
 {
     if (EEGGameManager.IsInitialized() && EEGGameManager.Instance != null)
     {
         EEGGameManager.Instance.RemoveOutlineObject(GetComponent <OutlineObject> ());
     }
 }
예제 #3
0
 public void Pickup()
 {
     pickedUp = true;
     if (shouldDestroy && EEGGameManager.IsInitialized())
     {
         EEGGameManager.Instance.RemoveOutlineObject(GetComponent <OutlineObject>());
         Destroy(gameObject);
     }
 }