/// <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);
 }
Beispiel #4
0
 public void GrantAbility(GameplayAbility Ability)
 {
     GrantedAbilities[Ability.AbilityTag.GetType()] = Ability;
 }