using System;
using Cielonos.MainGame.Buffs.Character;
using Cielonos.MainGame.Characters;
using SLSUtilities.General;
using UnityEngine;
namespace Cielonos.MainGame.Inventory.Collections
{
///
/// 助燃剂 / Combustion Enhancer
/// 每次攻击到敌人后,如果敌人处于燃烧Buff,那么为燃烧Buff持续时间延长0.1秒
///
public class CombustionEnhancer : PassiveEquipmentBase
{
private const string EventKey = nameof(CombustionEnhancer);
public override void OnObtained()
{
base.OnObtained();
Action onFinishAttack = OnFinishAttack;
player.eventSm.onFinishAttack.Add(EventKey, onFinishAttack.ToPrioritized());
}
public override void OnDiscarded()
{
player.eventSm.onFinishAttack.Remove(EventKey);
base.OnDiscarded();
}
private void OnFinishAttack(AttackAreaBase attackArea, CharacterBase target, Attack.Result result)
{
Burn burn = target.buffSm.GetBuff();
burn?.timeSubmodule.AddDuration(0.1f);
}
}
}