From 5c8f5195cf47a46abc424cf7f7480215df06d96f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=98=94=E5=BF=B5?= <1@72wo.cn> Date: Tue, 26 Aug 2025 19:52:21 +0800 Subject: [PATCH] =?UTF-8?q?feat(battle):=20=E6=B7=BB=E5=8A=A0=E6=96=B0?= =?UTF-8?q?=E7=9A=84=E5=8D=B0=E8=AE=B0=E5=A4=84=E7=90=86=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 NodeManager 中增加了 OnBeforeAddMark 和 OnAnyMarkAdded 的执行顺序 - 在 Effect 接口中添加了 OnBeforeAddMark 和 OnAnyMarkAdded 两个 --- logic/service/fight/battle/node/manger.go | 12 +++++++++++- logic/service/fight/battle/node/node.go | 3 ++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/logic/service/fight/battle/node/manger.go b/logic/service/fight/battle/node/manger.go index ba63dbe5..6ceccf48 100644 --- a/logic/service/fight/battle/node/manger.go +++ b/logic/service/fight/battle/node/manger.go @@ -31,10 +31,20 @@ func (c *NodeManager) AddEffect(e Effect) { // 触发执行 func (c *NodeManager) Trigger() { - turnStartResults := c.Exec(func(e Effect) bool { + c.Exec(func(e Effect) bool { return e.OnTurnStart() }) //回合开始 + //假如说这里需要能力提升 + c.Exec(func(e Effect) bool { + return e.OnBeforeAddMark() + }) + //添加印记前的效果如果有任何一个false,说明组织了添加效果 + //这里能力提升 + c.Exec(func(e Effect) bool { + return e.OnAnyMarkAdded() + }) + // var candidates []*Effect // for _, eff := range c.Effects { // if eff.Trigger == trigger { diff --git a/logic/service/fight/battle/node/node.go b/logic/service/fight/battle/node/node.go index f4befb9c..93994a97 100644 --- a/logic/service/fight/battle/node/node.go +++ b/logic/service/fight/battle/node/node.go @@ -13,7 +13,8 @@ type Effect interface { Stack(int) int MaxStack() int - + OnBeforeAddMark() bool + OnAnyMarkAdded() bool Duration(int) int }