public void AddExperienceToAbility(PetAbilityType t, float amount, GameObject source) { PetAbility ability = GetAbility(t); if (ability.Type == PetAbilityType.NONE) { return; } PetAbility updatedAbility = CalculateNewLevels(ability, amount); Abilities.Remove(ability); //TODO: Use a dictionary or something what the f**k Abilities.Add(updatedAbility); PetAbilityUpdateArgs args = new PetAbilityUpdateArgs(ability, updatedAbility, transform.gameObject, source); GameEventLibrary.PetAbilityUpdateEvent.FireEvent(args); }
public PetAbility GetAbility(PetAbilityType t) { return(Abilities.Where(a => a.Type == t).FirstOrDefault()); }