Esempio n. 1
0
    void CreateParatileAtPoint(IDamaggable unit)
    {
        Transform  unitHit = unit.DamaggableTransform;
        GameObject go      = Instantiate(particle, unitHit.position, Quaternion.identity);

        Destroy(go, particleLifetime);
    }
Esempio n. 2
0
 public void TakeDamage(IDamaggable unit, float dmg)
 {
     //TODO slow down time when we are hit
     //Debug.Log(this.name + " is hit " + CurrentHealth);
     unit.CurrentHealth -= dmg;
     GameEvents.OnPlayerHit(unit);
     if (CurrentHealth <= 0)
     {
         GameEvents.OnPlayerDied();
         GameEvents.OnPlayerRespawn();
     }
 }
Esempio n. 3
0
 public void TakeDamage(IDamaggable unit, float dmg)
 {
     //? should i make a different player health script so we dont have to do so many checks in other code
     //TODO slow down time when we are hit
     //Debug.Log(this.name + " is hit " + CurrentHealth);
     unit.CurrentHealth -= dmg;
     GameEvents.OnGooseHit(unit);
     if (CurrentHealth <= 0)
     {
         GameEvents.OnGooseDied(this);
     }
 }
Esempio n. 4
0
    IEnumerator Flash(IDamaggable unit)
    {
        Renderer[] renderers = unit.DamaggableTransform.GetComponentsInChildren <Renderer>();
        foreach (Renderer r in renderers)
        {
            r.material.color = HitColor;
        }
        original = unit.DamaggableTransform.GetComponent <FlashOnHit>().original;
        yield return(new WaitForSeconds(flashTime));

        foreach (Renderer r in renderers)
        {
            if (r != null)
            {
                r.material.color = original;
            }
        }
    }
Esempio n. 5
0
 void StartFlash(IDamaggable unit)
 {
     StartCoroutine(Flash(unit));
 }