public int GetSkillScore(Skill targetSkill)
    {
        ActiveSkillCategory activeSkillCategory = GetActiveSkillCategory(targetSkill.SkillCategory);
        ActiveSkill         activeSkill         = activeSkillCategory.GetActiveSkill(targetSkill);

        return(activeSkill.GetScore());
    }
示例#2
0
    public bool IsSkillActive(Skill targetSkill)
    {
        ActiveSkillCategory activeSkillCategory = data.GetActiveSkillCategory(targetSkill.SkillCategory);

        if (activeSkillCategory == null)
        {
            return(false);
        }
        ActiveSkill activeSkill = activeSkillCategory.GetActiveSkill(targetSkill);

        if (activeSkill == null)
        {
            return(false);
        }
        return(true);
    }
示例#3
0
    private ActiveSkill GetActiveSkill(Skill targetSkill)
    {
        ActiveSkillCategory activeSkillCategory = data.GetActiveSkillCategory(targetSkill.SkillCategory);

        if (activeSkillCategory == null)
        {
            throw new System.ArgumentException("No active skillcategory found for category " + targetSkill.SkillCategory);
        }
        ActiveSkill activeSkill = activeSkillCategory.GetActiveSkill(targetSkill);

        if (activeSkill == null)
        {
            throw new System.ArgumentException("No active skill found for skill " + targetSkill);
        }
        return(activeSkill);
    }
 public void Setup(ActiveSkillCategory activeSkillCategory)
 {
     this.activeSkillCategory = activeSkillCategory;
     UpdateView();
     selectedIndex  = 0;
     nameField.text = activeSkillCategory.Category.Name;
     if (activeSkillCategory.LastResult != null)
     {
         for (int i = 0; i < activeSkillCategory.Category.Tests.Count; i++)
         {
             if (activeSkillCategory.Category.Tests[i] == activeSkillCategory.LastResult.Test)
             {
                 selectedIndex = i;
                 break;
             }
         }
     }
     UpdateSelection();
     UpdateView();
 }
示例#5
0
 public int getCost(ActiveSkillCategory category)
 {
     return(skillSet[category].getCost());
 }
示例#6
0
 /// <summary>
 /// 指定したカテゴリからスキルを取得します
 /// </summary>
 /// <returns>指定したスキル</returns>
 /// <param name="category">取得したいスキルのカテゴリ</param>
 public IActiveSkill getSkillFromSkillCategory(ActiveSkillCategory category)
 {
     return(skillSet[category]);
 }
 public UnlockReturn HandleUnlock(BaseData newUnlock)
 {
     if (newUnlock is Skill)
     {
         Skill newSkill = newUnlock as Skill;
         ActiveSkillCategory activeSkillCategory = GetActiveSkillCategory(newSkill.SkillCategory);
         if (activeSkillCategory == null)
         {
             activeSkillCategory = new ActiveSkillCategory(newSkill.SkillCategory);
             ActiveSkillCategories.Add(activeSkillCategory);
         }
         ActiveSkill activeSkill = activeSkillCategory.GetActiveSkill(newSkill);
         if (activeSkill == null)
         {
             activeSkill = new ActiveSkill(newSkill);
             activeSkillCategory.ActiveSkills.Add(activeSkill);
             return(UnlockReturn.NewUnlock);
         }
         return(UnlockReturn.WasUnlocked);
     }
     if (newUnlock is SkillLevel)
     {
         SkillLevel          newSkillLevel       = newUnlock as SkillLevel;
         ActiveSkillCategory activeSkillCategory = GetActiveSkillCategory(newSkillLevel.Skill.SkillCategory);
         if (activeSkillCategory == null)
         {
             activeSkillCategory = new ActiveSkillCategory(newSkillLevel.Skill.SkillCategory);
             ActiveSkillCategories.Add(activeSkillCategory);
         }
         ActiveSkill activeSkill = activeSkillCategory.GetActiveSkill(newSkillLevel.Skill);
         if (activeSkill == null)
         {
             activeSkill = new ActiveSkill(newSkillLevel.Skill);
             activeSkillCategory.ActiveSkills.Add(activeSkill);
         }
         ActiveSkillLevel activeSkillLevel = activeSkill.GetActiveSkillLevel(newSkillLevel);
         if (activeSkillLevel == null)
         {
             activeSkillLevel = new ActiveSkillLevel(newSkillLevel);
             activeSkill.ActiveSkillLevels.Add(activeSkillLevel);
             return(UnlockReturn.NewUnlock);
         }
         return(UnlockReturn.WasUnlocked);
     }
     if (newUnlock is TrainingData)
     {
         TrainingData        newTraining         = newUnlock as TrainingData;
         ActiveSkillCategory activeSkillCategory = GetActiveSkillCategory(newTraining.TargetSkill.SkillCategory);
         if (activeSkillCategory == null)
         {
             activeSkillCategory = new ActiveSkillCategory(newTraining.TargetSkill.SkillCategory);
             ActiveSkillCategories.Add(activeSkillCategory);
         }
         ActiveSkill activeSkill = activeSkillCategory.GetActiveSkill(newTraining.TargetSkill);
         if (activeSkill == null)
         {
             activeSkill = new ActiveSkill(newTraining.TargetSkill);
             activeSkillCategory.ActiveSkills.Add(activeSkill);
         }
         ActiveTraining activeTraining = activeSkill.ActiveTraining;
         if (activeTraining == null)
         {
             activeTraining             = new ActiveTraining(newTraining);
             activeSkill.ActiveTraining = activeTraining;
             return(UnlockReturn.NewUnlock);
         }
         if (activeTraining.Data == null)
         {
             activeTraining.Data = newTraining;
             return(UnlockReturn.NewUnlock);
         }
         else
         {
             if (activeTraining.Training.XPGainTraining < newTraining.XPGainTraining)
             {
                 activeTraining.Data = newTraining;
                 return(UnlockReturn.NewUnlock);
             }
         }
         return(UnlockReturn.WasUnlocked);
     }
     throw new System.ArgumentException("Unlock not supported for " + newUnlock);
 }
 public void Setup(ActiveSkillCategory activeSkillCategory)
 {
     this.activeSkillCategory = activeSkillCategory;
     UpdateStartView();
 }
 public void SetResult(ActiveSkillCategory activeSkillCategory)
 {
     this.activeSkillCategory = activeSkillCategory;
 }