public override void TakeDamage(float damage) { if (newDamagePopup != null) { if (!newDamagePopup.IsActive()) { newDamagePopup = ObjectPoolingManager.PopupPool.GetObject(popupTextPrefab, myCanvas.transform); newDamagePopup.transform.SetParent(myCanvas.transform, false); newDamagePopup.transform.localPosition = Vector3.zero; newDamagePopup.transform.localScale = Vector3.one; newDamagePopup.SetDamage(damage); } else { newDamagePopup.SetDamage(damage); } } else { newDamagePopup = ObjectPoolingManager.PopupPool.GetObject(popupTextPrefab, transform); newDamagePopup.transform.SetParent(myCanvas.transform, false); newDamagePopup.transform.localPosition = Vector3.zero; newDamagePopup.transform.localScale = Vector3.one; newDamagePopup.SetDamage(damage); } base.TakeDamage(damage); }