Ejemplo n.º 1
0
        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()
                                                               ));
            }
        }
Ejemplo n.º 2
0
        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);
            }
        }
Ejemplo n.º 3
0
 public void AddSkillCastingRequirement(SkillId skillId, SkillCastingRequirement requirement)
 {
     skillCastingRequirements[skillId] = requirement;
 }