// damage player public void DamagePlayer(float damageAmount, bool ignoreShield) { if (!isUsingShield || ignoreShield) { currentHealth -= damageAmount; // show battleindicator if (battleTextIndicatorPrefab) { Vector3 position = new Vector3 (transform.position.x, transform.position.y + 1.0f, transform.position.z); GameObject obj = (GameObject)Instantiate (battleTextIndicatorPrefab, position, Quaternion.identity); obj.transform.parent = gameObject.transform; obj.transform.localPosition = battleIndicatorLocation.localPosition; BattleTextIndicator battleText = obj.GetComponent<BattleTextIndicator> (); battleText.textColor = new Color (1.0f, 0.385f, 0.385f, 1.0f); battleText.text = "-" + damageAmount.ToString ("f0"); } // update health text mesh if (GlobalControl.Instance != null && GlobalControl.Instance.playerData != null) { GlobalControl.Instance.playerData.playerHP -= damageAmount; healthTextMesh.text = currentHealth.ToString ("f0") + " / " + GlobalControl.Instance.playerData.playerMAXHP.ToString ("f0"); } else { healthTextMesh.text = currentHealth.ToString ("f0") + " / " + _defaultMaxHealth.ToString ("f0"); } _audio.PlayOneShot (hitSFX); } else { // did Block // show battleindicator if (battleTextIndicatorPrefab) { Vector3 position = new Vector3 (transform.position.x, transform.position.y + 1.0f, transform.position.z); GameObject obj = (GameObject)Instantiate (battleTextIndicatorPrefab, position, Quaternion.identity); obj.transform.parent = gameObject.transform; obj.transform.localPosition = battleIndicatorLocation.localPosition; BattleTextIndicator battleText = obj.GetComponent<BattleTextIndicator> (); battleText.textColor = new Color (0.65f, 0.65f, 0.65f, 1.0f); battleText.text = "Blocked"; } _audio.PlayOneShot (blockSFX); } }
// damage Enemy public void DamageEnemy(float damageAmount, bool ignoreShield) { if (!_isDefending || ignoreShield) { currentHealth -= damageAmount; // show battleindicator if (battleTextIndicatorPrefab) { Vector3 position = new Vector3(transform.position.x, transform.position.y + 1.0f, transform.position.z); GameObject obj = (GameObject)Instantiate(battleTextIndicatorPrefab, position, Quaternion.identity); BattleTextIndicator battleText = obj.GetComponent <BattleTextIndicator> (); battleText.textColor = new Color(1.0f, 0.385f, 0.385f, 1.0f); battleText.text = "-" + damageAmount.ToString("f0"); } healthTextMesh.text = currentHealth.ToString("f0") + " / " + maxHealth.ToString("f0"); if (currentHealth <= 0) { currentHealth = 0.0f; healthTextMesh.text = currentHealth.ToString("f0") + " / " + maxHealth.ToString("f0"); _animator.Play("EnemyStunned", 0, 0); } _audio.PlayOneShot(hitSFX); } else { Vector3 position = new Vector3(transform.position.x, transform.position.y + 1.0f, transform.position.z); GameObject obj = (GameObject)Instantiate(battleTextIndicatorPrefab, position, Quaternion.identity); BattleTextIndicator battleText = obj.GetComponent <BattleTextIndicator> (); battleText.textColor = new Color(0.65f, 0.65f, 0.65f, 1.0f); battleText.text = "Blocked"; _audio.PlayOneShot(blockSFX); } }