Ejemplo n.º 1
0
    // Update is called once per frame
    void Update()
    {
        if (dead)
        {
            timer -= Time.deltaTime;
            if (timer <= 0.0f)
            {
                foreach (Renderer renderer in renderers)
                {
                    renderer.enabled = true;
                }
                collider.enabled = true;

                dead          = false;
                timer         = respawnTime;
                currentHealth = maxHealth;
            }
        }

        emissionColour = Color.Lerp(lowHealthColour, fullHealthColour, (currentHealth / maxHealth));
        meshRenderer.materials[1].SetColor("_EmissionColor", emissionColour);

        if (Input.GetKeyDown(KeyCode.K))
        {
            Weapon.DamageVariables damage = new Weapon.DamageVariables();
            damage.physical = 1.0f;
            TakeDamage(damage);
        }
    }
Ejemplo n.º 2
0
 public void TakeDamage(Weapon.DamageVariables damage)
 {
     currentHealth -= damage.physical;
     if (currentHealth <= 0.0f)
     {
         Death();
     }
 }
Ejemplo n.º 3
0
 public void TakeDamage(Weapon.DamageVariables damage)
 {
     shields.SetDelayTimer(shields.RegenDelay());
     if (shields.CurrentShields() - damage.emp <= 0.0f)
     {
         //float remainder = Mathf.Abs(0.0f - (shields.CurrentShields() - damage.emp));
         shields.SetCurrentShields(0.0f);
         health.SetCurrentHealth(health.CurrentHealth() - damage.physical);
     }
     else
     {
         shields.SetCurrentShields(shields.CurrentShields() - damage.emp);
     }
 }