// ----------------------------------------------------------------------------------- // UCE_checkHasSkill // ----------------------------------------------------------------------------------- public bool UCE_checkHasSkill(ScriptableSkill skill, int level) { if (skill == null || level <= 0) { return(true); } return(skills.Any(s => s.name == skill.name && s.level >= level)); }
// constructors public Skill(ScriptableSkill data) { name = data.name; // learned only if learned by default level = data.learnDefault ? 1 : 0; // ready immediately castTimeEnd = cooldownEnd = Time.time; }
public double cooldownEnd; // server time. double for long term precision. // constructors public Skill(ScriptableSkill data) { hash = data.name.GetStableHashCode(); // learned only if learned by default level = data.learnDefault ? 1 : 0; // ready immediately castTimeEnd = cooldownEnd = NetworkTime.time; }
// Checks if we have the required equipment to cast that skill. public bool CheckEquipSkills(ScriptableSkill skill) { for (int i = 0; i < equipment.slots.Count; i++) { if (equipment.slots[i].amount > 0) { EquipmentItem equipItem = equipment.slots[i].item.data as EquipmentItem; if ((int)equipItem.equipType == (int)skill.skillType || skill.skillType == ScriptableSkill.SkillType.None) { return(true); } } } return(false); }
// ================================= MISC FUNCS ====================================== // ----------------------------------------------------------------------------------- // UCE_getSkillLevel // ----------------------------------------------------------------------------------- public int UCE_getSkillLevel(ScriptableSkill skill) { return(skills.FirstOrDefault(s => s.name == skill.name).level); }