//UPDATE CURRENT STATS private void UpdateStats() { EquipmentProperties hand = equipment.GetHand(); if (hand == null) { hand = new EquipmentProperties(); } EquipmentProperties head = equipment.GetHead(); if (head == null) { head = new EquipmentProperties(); } EquipmentProperties neck = equipment.GetNeck(); if (neck == null) { neck = new EquipmentProperties(); } effective_stats[(int)Stat.ATK] = player.GetATK() + hand.ATK + head.ATK + neck.ATK; effective_stats[(int)Stat.DEF] = player.GetDEF() + hand.DEF + head.DEF + neck.DEF; effective_stats[(int)Stat.SATK] = player.GetSATK() + hand.SATK + head.SATK + neck.SATK; effective_stats[(int)Stat.SDEF] = player.GetSDEF() + hand.SDEF + head.SDEF + neck.SDEF; effective_stats[(int)Stat.SPD] = player.GetSPD() + hand.SPD + head.SPD + neck.SPD; }
// Overload for EquipmentProperties. // (Лол, чак сега научих, че overload-ването на методи се нарича early bind/polymorphism, // а използването на inheritance и virtual/override - late bind) public void ShowTooltip(EquipmentProperties properties, Vector3 position) { string healthBonus = string.Empty; string armorBonus = string.Empty; string damageBonus = string.Empty; if (properties.healthModifier != 0) { healthBonus = "\n" + "Health Bonus: " + properties.healthModifier; } if (properties.armorModifier != 0) { armorBonus = "\n" + "Armor Bonus: " + properties.armorModifier; } if (properties.damageModifier != 0) { damageBonus = "\n" + "Damage Bonus: " + properties.damageModifier; } string title = string.Format("<color={0}>{1}</color>", properties.GetRarityColor(), properties.name); string description = string.Format("<i>{0}</i>", properties.description); tooltip.GetComponentInChildren <Text>().text = title + "\n" + description + healthBonus + armorBonus + damageBonus; tooltip.transform.position = position; tooltip.SetActive(true); }
private static EquipmentProperties SetEquipmentProperties(CharacterObject character) { EquipmentProperties properties = EquipmentProperties.NONE; if (HasItemType(character, ItemObject.ItemTypeEnum.Crossbow)) { properties |= EquipmentProperties.HAS_CROSS_BOW; } if (HasItemType(character, ItemObject.ItemTypeEnum.Bow)) { properties |= EquipmentProperties.HAS_BOW; } if (HasItemType(character, ItemObject.ItemTypeEnum.Shield)) { properties |= EquipmentProperties.HAS_SHIELD; } return(properties); }
public CharacterClass(CharacterClassType classType, EquipmentProperties equipmentProperties) { ClassType = classType; EquipmentProperties = equipmentProperties; }