重构:修复 Shop 与 ItemTooltip 跨模块事件边界问题

- 将 _tooltipLocked 状态从 ItemTooltipController 移到 ShopController 维护
- DisplayItem 只发 Shop 模块 UI 事件(Hover/Lock/Hide)
- ItemTooltipForm 取消按钮发 ItemTooltip 模块事件自关闭
- ShopController 通过 UIRouter 跨模块控制 ItemTooltipForm
- 移除 DisplayItemHideEventArgs 的 Force 字段,分离两种关闭场景
This commit is contained in:
2026-06-17 09:37:44 +08:00
parent 2590f31250
commit c30b256d7a
24 changed files with 340 additions and 213 deletions
@@ -9,24 +9,19 @@ namespace SepCore.Event
public override int Id => EventId;
public bool Force = false;
public ItemTooltipHideEventArgs()
{
Force = false;
}
public static ItemTooltipHideEventArgs Create(bool force = false)
{
var args = ReferencePool.Acquire<ItemTooltipHideEventArgs>();
args.Force = force;
return args;
}
public override void Clear()
{
Force = false;
}
}
}
}
@@ -1,27 +0,0 @@
using GameFramework;
using GameFramework.Event;
namespace SepCore.Event
{
public class ItemTooltipLockEventArgs : GameEventArgs
{
public static readonly int EventId = typeof(ItemTooltipLockEventArgs).GetHashCode();
public override int Id => EventId;
public ItemTooltipLockEventArgs()
{
}
public static ItemTooltipLockEventArgs Create()
{
var args = ReferencePool.Acquire<ItemTooltipLockEventArgs>();
return args;
}
public override void Clear()
{
}
}
}
@@ -1,3 +0,0 @@
fileFormatVersion: 2
guid: 17754f00ac924fc29b3604cfed7a5efe
timeCreated: 1771488601
@@ -1,41 +0,0 @@
using GameFramework;
using GameFramework.Event;
using UnityEngine;
namespace SepCore.Event
{
public class ItemTooltipShowEventArgs : GameEventArgs
{
public static readonly int EventId = typeof(ItemTooltipShowEventArgs).GetHashCode();
public override int Id => EventId;
public int Index { get; private set; }
public bool IsWeapon { get; private set; }
public Vector3 TargetPos { get; private set; }
public ItemTooltipShowEventArgs()
{
Index = -1;
IsWeapon = false;
}
public static ItemTooltipShowEventArgs Create(int index, bool isWeapon, Vector3 targetPos)
{
var args = ReferencePool.Acquire<ItemTooltipShowEventArgs>();
args.Index = index;
args.IsWeapon = isWeapon;
args.TargetPos = targetPos;
return args;
}
public override void Clear()
{
Index = -1;
IsWeapon = false;
TargetPos = Vector3.zero;
}
}
}
@@ -1,3 +0,0 @@
fileFormatVersion: 2
guid: 51bff2c6818f44398b4b8f7d1448b310
timeCreated: 1771071724