refactor(fight/input): 重构Effect执行逻辑,修复Exec方法返回值问题
This commit is contained in:
@@ -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是对方
|
||||
|
||||
Reference in New Issue
Block a user