/// <inheritdoc /> public bool CanActivateAbility(GameplayAbility Ability) { // Check if an ability is already active on this ASC if (_runningAbilities.Count > 0) { return(false); } return(true); }
/// <inheritdoc /> public bool TryActivateAbility(GameplayAbility Ability) { if (!this.CanActivateAbility(Ability)) { return(false); } if (!Ability.IsAbilityActivatable(this)) { return(false); } _runningAbilities.Add(Ability); Ability.ActivateAbility(this); return(true); }
/// <inheritdoc /> public void NotifyAbilityEnded(GameplayAbility ability) { _runningAbilities.Remove(ability); }
public void GrantAbility(GameplayAbility Ability) { GrantedAbilities[Ability.AbilityTag.GetType()] = Ability; }