private void OnReceiveDamage(ActionExecution combatAction) { AnimationComponent.Speed = 1f; if (CombatEntity.CheckDead() == false) { PlayThenIdleAsync(AnimationComponent.DamageAnimation).Coroutine(); } var damageAction = combatAction as DamageAction; CombatObjectData.HealthBarImage.fillAmount = CombatEntity.CurrentHealth.Percent(); var damageText = GameObject.Instantiate(CombatObjectData.DamageText); damageText.transform.SetParent(CombatObjectData.CanvasTrm); damageText.transform.localPosition = Vector3.up * 120; damageText.transform.localScale = Vector3.one; damageText.transform.localEulerAngles = Vector3.zero; damageText.text = $"-{damageAction.DamageValue.ToString()}"; damageText.GetComponent <DOTweenAnimation>().DORestart(); GameObject.Destroy(damageText.gameObject, 0.5f); }