feat(battle): 添加新的印记处理逻辑

- 在 NodeManager 中增加了 OnBeforeAddMark 和 OnAnyMarkAdded 的执行顺序
- 在 Effect 接口中添加了 OnBeforeAddMark 和 OnAnyMarkAdded 两个
This commit is contained in:
2025-08-26 19:52:21 +08:00
parent 8bd38ff36a
commit 5c8f5195cf
2 changed files with 13 additions and 2 deletions

View File

@@ -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 {

View File

@@ -13,7 +13,8 @@ type Effect interface {
Stack(int) int
MaxStack() int
OnBeforeAddMark() bool
OnAnyMarkAdded() bool
Duration(int) int
}