int maxHealth; // THe maximum health the entity has #endregion Fields #region Constructors // Constructor; Derived classes create an entity object public Hostile(int ID, GameObject gameObject) : base(ID, gameObject) { // Get the GameObject's ally script allyScript = GameObj.GetComponent<AllyList>(); #region IEquipment Variable Initialisation // The entity isn't wearing any armour, wielding any weapon, or has any bonuses equippedArmor = null; equippedWeapon = null; bonuses = new List<Bonus>(); attackPower = 0; defencePower = 0; #endregion #region IDamageable Variable Initialisation // The default hard coded values for now. health = 50; maxHealth = 50; isDead = false; #endregion }
MercenaryMB script; // THe script reference for the Mimic enemy. #endregion Fields #region Constructors // Constructor used to create a Mercenary entity public Mercenary(int ID, GameObject gameObject) : base(ID, gameObject) { // Set the entity's type to Mercenary Type = EntityType.Mercenary; // Also set the entity's friendly type FriendlyType = Entities.FriendlyType.Mercenary; // Set the entity's script reference script = GameObj.GetComponent<MercenaryMB>(); #region IEquipment Variable Initialisation // The entity isn't wearing any armour, wielding any weapon, or has any bonuses equippedArmor = null; equippedWeapon = null; bonuses = new List<Bonus>(); attackPower = 0; defencePower = 0; #endregion }
// Unequips a piece of armour for an entity public void UnequipArmor(Armor armor) { // Only unequip the armour if the merchant is wearing any if (equippedArmor != null) { // Unequip the given armour defencePower -= armor.DefenceValue; equippedArmor = null; } // end if }
// Equips a piece of armour for an entity public void EquipArmor(Armor armor) { // Check if the merchant is wearing armour if (equippedArmor == null) { // The merchant isn't wearing armor so just equip the given armour defencePower += armor.DefenceValue; equippedArmor = armor; } // end if else { // The merchant is already wearing armour so unequip it first UnequipArmor(equippedArmor); // Now equip the given armour defencePower += armor.DefenceValue; equippedArmor = armor; } // end else }