public void loadAbility(string playerAbilityID, int slotNumber, float abilityXP, int unspentPoints, List <StringIntPair> nodesTaken) { UIBase uiBase = UIBase.instance; uiBase.openSkills(); // specialised in the ability SpecialisedAbilityList specialisedAbilityList = PlayerFinder.getPlayer().GetComponent <SpecialisedAbilityList>(); specialisedAbilityList.Specialise(AbilityIDList.getPlayerAbility(playerAbilityID), slotNumber, false); // set the ability xp specialisedAbilityList.abilityXP[slotNumber] = abilityXP; // set the ability level specialisedAbilityList.abilityLevels[slotNumber] = SpecialisedAbilityManager.getAbilityLevel(abilityXP); // update the tree loadTree(playerAbilityID, unspentPoints, 0, nodesTaken); uiBase.closeSkills(); }
public static void loadAbilityBar() { CharacterDataTracker tracker = PlayerFinder.getPlayer().GetComponent <CharacterDataTracker>(); AbilityList abilityList = PlayerFinder.getPlayer().GetComponent <AbilityList>(); List <string> savedAbilities = tracker.charData.abilityBar; for (int i = 0; i < savedAbilities.Count; i++) { Ability ability = AbilityIDList.getPlayerAbility(savedAbilities[i]); if (ability == null) { abilityList.abilities[i] = AbilityIDList.getAbility(AbilityID.nullAbility); } else { abilityList.abilities[i] = ability; } } }