public override void ProcessRequest(DamageDealerType damageDealer, Player mainPlayer) { if (damageDealer == DamageDealerType.MagitianDamage) { mainPlayer.PlayerCalculateScore(-10); MessageBox.Show("Damage from magician"); } else { damage.ProcessRequest(damageDealer, mainPlayer); } }
public override void ProcessRequest(DamageDealerType damageDealer, Player mainPlayer) { if (damageDealer == DamageDealerType.EnemyDamage) { mainPlayer.PlayerCalculateScore(-20); MessageBox.Show("Damage from enemy"); } else { MessageBox.Show("Unknown damage"); } }
public abstract void ProcessRequest(DamageDealerType damageDealer, Player mainPlayer);
public void TakeDamage(int damage, DamageDealerType bulletType, GameObject damageDealerObject = null) { if (bulletType == DamageDealerType.Bullet) { if (shield == 1) { this.health -= (int)(damage / 2); } else if (shield == 2) { this.health -= 0; } else { this.health -= (int)(damage); } } else if (bulletType == DamageDealerType.GiantBall) { int i = 0; for (int z = 0; z < _BonusPlayer.Length; z++) { if (_BonusPlayer[z] != null) { if (_BonusPlayer[z].type == BonusType.Giant && _BonusPlayer[z].isActive) { i++; } } } if (i == 0) { Debug.Log("Damage Deal !"); this.health -= (int)(damage); } else if (i == 1) { Debug.Log("Damage Deal and get destroyed!"); this.health -= (int)(damage); } else { Debug.Log("Damage don't deal and get destroyed !"); if (damageDealerObject != null) { Destroy(damageDealerObject, 0.1f); } } } else { this.health -= (int)(damage); } healthBar.fillAmount = (float)health / (float)maxHealth; if (health <= 0) { Death(); } }