PerkHolder GetOrAddPerkHolder(Perk perk)
        {
            int index;

            if (HasPerk(perk, out index))
            {
                return(allPerks[index]);
            }
            allPerks.Add(new PerkHolder(this, perk));
            return(allPerks[allPerks.Count - 1]);
        }
 bool HasPerk(Perk perk, out int index)
 {
     for (int i = 0; i < allPerks.Count; i++)
     {
         if (allPerks[i].perk == perk)
         {
             index = i;
             return(true);
         }
     }
     index = -1;
     return(false);
 }
 public PerkHolder(PerksContainer container, Perk perk)
 {
     this.perk = perk;
     level     = 1;
     OnPerkGiven(container);
 }
 public PerkHolder AddPerk(Perk perk)
 {
     return(GetOrAddPerkHolder(perk));
 }
 public PerkHolder AddPerk(Perk perk, int setLevel)
 {
     return(SetPerkLevel(perk, setLevel));
 }
 public bool HasPerk(Perk perk)
 {
     return(GetPerkLevel(perk) > 0);
 }
Example #7
0
 public abstract void OnPerkRemoved(Perk perk, int level);
Example #8
0
 public abstract void OnPerkUpdate(Perk perk, int level, float deltaTime);
Example #9
0
 public abstract void OnPerkGiven(Perk perk);
Example #10
0
 public abstract void OnPerkLevelChange(Perk perk, int oldLevel, int newLevel);
Example #11
0
 public abstract void OnPerkRemoved(PerksContainer perksContainer, Perk perk, int level);
Example #12
0
 public abstract void OnPerkGiven(PerksContainer perksContainer, Perk perk);
Example #13
0
 public abstract void OnPerkLevelChange(PerksContainer perksContainer, Perk perk, int oldLevel, int newLevel);