using Cielonos.MainGame;
using Cielonos.MainGame.Characters;
using UnityEngine;
namespace Cielonos.MainGame.Inventory.Collections
{
///
/// 共生回路 / Symbiotic Loop
/// 玩家完成一个战斗房间的清理后,恢复(2 + 等级 * 0.4)的生命值。
///
public class SymbioticLoop : PassiveEquipmentBase
{
public override void OnObtained()
{
base.OnObtained();
if (RunManager.Instance != null)
{
RunManager.Instance.OnCombatRoomCleared += OnCombatRoomCleared;
}
}
public override void OnDiscarded()
{
if (RunManager.Instance != null)
{
RunManager.Instance.OnCombatRoomCleared -= OnCombatRoomCleared;
}
base.OnDiscarded();
}
///
/// 当前 Run 的 Combat 节点房间清空时触发,恢复玩家生命值。
///
private void OnCombatRoomCleared(RunMapNode node)
{
float healAmount = passiveAttributeSm.GetItemAttribute("HealAmount");
player.Heal(healAmount);
}
}
}