```
feat(fight): 增加战斗模式枚举并重构战斗逻辑判断 - 引入完整的 BattleMode 枚举定义,替代原有的 BattleStatus,明确区分各类战斗场景 - 在多个控制器中替换对旧 Status 字段的依赖,统一使用 Mode 判断战斗状态 - 修复部分函数调用前未检查 FightC 是否为空的问题,增加 ErrBattleEnded 错误返回 - 调整
This commit is contained in:
@@ -24,7 +24,8 @@ func NewDone(P *Player) Done {
|
||||
// MAPID 地图ID
|
||||
// BOSSID 地图BOSSID
|
||||
// 注册胜利次数
|
||||
func (d *Done) SPT(mapid, bossid, count uint32, fn func()) *bus.Listener[*model.MilestoneEX] {
|
||||
// 监听器返回奖励是否发送完成,完成就done
|
||||
func (d *Done) SPT(mapid, bossid, count uint32, fn func() bool) *bus.Listener[*model.MilestoneEX] {
|
||||
return d.Topic.Sub(func(v *model.MilestoneEX) {
|
||||
|
||||
if v.DoneType == model.MilestoneMode.BOSS && EqualBasicSlice(v.Args, []uint32{mapid, bossid}) && v.Count == count {
|
||||
@@ -34,8 +35,11 @@ func (d *Done) SPT(mapid, bossid, count uint32, fn func()) *bus.Listener[*model.
|
||||
return v1 == count
|
||||
})
|
||||
if !ok { //说明没有触发过
|
||||
v.Results = append(v.Results, count) //把本次的记录添加
|
||||
fn()
|
||||
|
||||
if fn() {
|
||||
v.Results = append(v.Results, count) //把本次的记录添加
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user