补充事件参数 + 完善 UI 设计

- 事件节点在 EventNodeComponent.cs 的 StartEvent/EndEvent 会携带 runId/nodeId/nodeType/sequenceIndex
- 商店节点在 ShopNodeComponent.cs 也会带同一套字段
- 战斗节点通过 CombatNodeComponent.cs 把上下文传进 CombatScheduler,再由 CombatRunningPhaseState.cs 发 NodeEnterEventArgs、由   CombatSchedulerFlowCoordinator.cs 发 NodeCompleteEventArgs
- NodeCompleteEventArgs.cs 现在新增了 SequenceIndex
- 各种 UI 的覆盖问题
This commit is contained in:
SepComet
2026-03-08 11:51:00 +08:00
parent 5c6f9bf3a4
commit 47ed27bebb
16 changed files with 277 additions and 52 deletions
@@ -18,6 +18,8 @@ namespace GeometryTD.CustomEvent
public RunNodeType NodeType { get; private set; }
public int SequenceIndex { get; private set; }
public bool Succeeded { get; private set; }
public BackpackInventoryData InventorySnapshotAfterNode { get; private set; }
@@ -28,13 +30,14 @@ namespace GeometryTD.CustomEvent
public static NodeCompleteEventArgs Create()
{
return Create(null, 0, RunNodeType.None, true, null);
return Create(null, 0, RunNodeType.None, -1, true, null);
}
public static NodeCompleteEventArgs Create(
string runId,
int nodeId,
RunNodeType nodeType,
int sequenceIndex,
bool succeeded,
BackpackInventoryData inventorySnapshotAfterNode)
{
@@ -42,6 +45,7 @@ namespace GeometryTD.CustomEvent
args.RunId = runId;
args.NodeId = nodeId;
args.NodeType = nodeType;
args.SequenceIndex = sequenceIndex;
args.Succeeded = succeeded;
args.InventorySnapshotAfterNode = InventoryCloneUtility.CloneInventory(inventorySnapshotAfterNode);
@@ -53,6 +57,7 @@ namespace GeometryTD.CustomEvent
RunId = null;
NodeId = 0;
NodeType = RunNodeType.None;
SequenceIndex = -1;
Succeeded = false;
InventorySnapshotAfterNode = null;
}