public virtual AbilityBehaviour AddAbilityBehaviorFromConfig(AbilityConfig _config, GameObject objectToattachTo) { AbilityBehaviour _behaviourComponent = _config.AddBehaviourComponent(objectToattachTo); _behaviourComponent.SetConfig(_config); return(_behaviourComponent); }
public virtual void AttemptSpecialAbility(AbilityConfig _config, AbilityBehaviour _behaviour, GameObject target = null) { var energyCost = _config.GetEnergyCost(); if (energyCost <= AllyStamina) { if (_behaviour.CanUseAbility()) { ConsumeEnergy(energyCost); _behaviour.Use(target); } } else { audioSource.PlayOneShot(outOfEnergy); } }