2026-07-18 03:16:20 -04:00
|
|
|
|
using Cielonos.MainGame;
|
2026-05-23 08:27:50 -04:00
|
|
|
|
using Cielonos.MainGame.Characters;
|
|
|
|
|
|
using UnityEngine;
|
|
|
|
|
|
|
|
|
|
|
|
namespace Cielonos.MainGame.Inventory.Collections
|
|
|
|
|
|
{
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 共生回路 / Symbiotic Loop
|
2026-06-12 17:11:39 -04:00
|
|
|
|
/// 玩家完成一个战斗房间的清理后,恢复(2 + 等级 * 0.4)的生命值。
|
2026-05-23 08:27:50 -04:00
|
|
|
|
/// </summary>
|
|
|
|
|
|
public class SymbioticLoop : PassiveEquipmentBase
|
|
|
|
|
|
{
|
|
|
|
|
|
public override void OnObtained()
|
|
|
|
|
|
{
|
|
|
|
|
|
base.OnObtained();
|
2026-07-18 03:16:20 -04:00
|
|
|
|
if (RunManager.Instance != null)
|
|
|
|
|
|
{
|
|
|
|
|
|
RunManager.Instance.OnCombatRoomCleared += OnCombatRoomCleared;
|
|
|
|
|
|
}
|
2026-05-23 08:27:50 -04:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public override void OnDiscarded()
|
|
|
|
|
|
{
|
2026-07-18 03:16:20 -04:00
|
|
|
|
if (RunManager.Instance != null)
|
|
|
|
|
|
{
|
|
|
|
|
|
RunManager.Instance.OnCombatRoomCleared -= OnCombatRoomCleared;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2026-05-23 08:27:50 -04:00
|
|
|
|
base.OnDiscarded();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2026-07-18 03:16:20 -04:00
|
|
|
|
/// 当前 Run 的 Combat 节点房间清空时触发,恢复玩家生命值。
|
2026-05-23 08:27:50 -04:00
|
|
|
|
/// </summary>
|
2026-07-18 03:16:20 -04:00
|
|
|
|
private void OnCombatRoomCleared(RunMapNode node)
|
2026-05-23 08:27:50 -04:00
|
|
|
|
{
|
|
|
|
|
|
float healAmount = passiveAttributeSm.GetItemAttribute("HealAmount");
|
|
|
|
|
|
player.Heal(healAmount);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|