Ejemplo n.º 1
0
        public void TakeDamage(float damage)
        {
            //Debug.DrawLine(transform.position, transform.position + Vector3.up * 10, Color.red, 0.25f);
            _colorComponent?.SetColor(Color.red, 30);
            Health -= Mathf.Clamp(((int)(damage * (1 - ArmourDamagePercentDiminished))), 1, int.MaxValue);
            _healthBar?.UpdateHealthBar(Health / (float)STARTING_HEALTH);
            if (Health > 0)
            {
                return;
            }
            if (Team == Teams.Baddies)
            {
                PlayerUser.ResourceUnits += 5; //gain when baddies killed off
                LevelsMgr.MenuInGameObject?.GetComponent <MenuInGame>()?.UpdateNow();
            }
            GameMgr.RegisterForUpdate(this, true);
            LevelsMgr.CurrentLevel.Spawners.Remove(this);
            gameObject.SetActive(false);
            Destroy(this.gameObject);

            //Debug.Log("Spawner " + gameObject.name + " taking damage of " + damage + "\n");
        }