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"); }