Exemplo n.º 1
0
        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);
            }
        }