public bool TryAttachAbility( AbilityHolder abilityHolder, int abilityIndex) { if (GetAbilityHolder(abilityIndex) != null) { return(false); } abilityHolder.AbilityIndex = abilityIndex; AbilityHolders.Add(abilityHolder); return(true); }
public bool TryDeattachAbility(int abilityIndex) { AbilityHolder abilityHolder = GetAbilityHolder(abilityIndex); if (abilityHolder == null) { return(false); } AbilityHolders.Remove(abilityHolder); UnityEngine.Object.Destroy(abilityHolder); return(true); }
private AbilityHolder GetAbilityHolder(int abilityIndex) { return(AbilityHolders.FirstOrDefault(val => val.AbilityIndex == abilityIndex)); }