private void CheckSkillIsCastable(SkillId skillId) { SkillCastingRequirement req = skillCastingRequirements[skillId]; if (!req.IsCastable()) { throw new SkillCastingRequirementException(string.Format( "Skill of id '{0}' is not castable, reason: {1}", skillId, req.Reasons() )); } }
public void ConsumeSkillCastingResourcesUp(SkillId skillId, params Resource.Name[] names) { SkillCastingRequirement requirement = skillCastingRequirements[skillId]; for (int i = 0; i < 20; i++) { if (!requirement.IsCastable()) { break; } requirement.Consume(names); } }