示例#1
0
    public void CompleteAction(ActionInstance action)
    {
        // Event callbacks
        OnComplete.Trigger(action);
        action.User.Character.OnActionComplete.Trigger(action);
        action.Target.Character.OnEnemyActionComplete.Trigger(action);

        // Apply buff
        if (action.Buff != null)
        {
            action.Buff.ApplyEffect(action.Target);
        }

        // Damage and healing
        action.Target.TakeDamage(action.Damage, action.DamageType);
        action.Target.TakeHealing(action.Healing);

        // Start cooldown
        _cooldownStart = Time.time;
        CooldownFinish = Time.time + Cooldown;
    }