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); } } }