refactor(fight/input): 重构Effect执行逻辑,修复Exec方法返回值问题

This commit is contained in:
1
2025-09-28 08:59:28 +00:00
parent 00144109dd
commit 1655005741

View File

@@ -162,18 +162,19 @@ func (c *Input) AddEffect(e *EffectID) {
// 参数 fn接收单个 Effect返回 bool如 func(e Effect) bool { return e.OnBattleStart() }
// 返回值:所有 Effect 的方法返回值列表
func (c *Input) Exec(fn func(Effect) bool) bool {
result := true
c.Effects.Range(func(key int, value Effect) bool {
if value.Alive() {
result := fn(value)
if !result {
return result //如果是false,说明存在阻止向下执行的effect比如免疫能力提升效果
result1 := fn(value)
if !result1 {
result = false //如果是false,说明存在阻止向下执行的effect比如免疫能力提升效果
}
}
return true
})
return true
return result
}
// 消除回合类效果 efftype 输入是消对方的还是自己的,false是自己,true是对方