public void takeDamage(int damage) { Debug.Log("player damaged"); if (!invulnerable) { Health = Mathf.Max(0, Health - damage); transform.localScale = new Vector3(scale * Health / maxHealth, transform.localScale.y); //var scr = parent.GetComponent<PlayerControllerScript>(); if (Health == 0) { playerController.Die(); } else { invulnerable = true; // do not wait, do not warn Task tmp = ExecuteAfter(1000, vulnarableAgain); tmp = ExecuteOnTimer(100, 10, ChangeInvisableStatus); } } }