Files
bl/logic/service/fight/battle/over/reason.go
昔念 87b398dd93 refactor(fight): 重构战斗模块
- 移除了战斗模式和技能类型的枚举定义
- 删除了未使用的战斗单位、技能和效果类图
- 更新了
2025-08-25 16:53:36 +08:00

61 lines
1.3 KiB
Go

package over
import (
"github.com/tnnmigga/enum"
)
// 战斗结束原因数据接口
type BattleOverData interface{}
// 玩家离线数据
type PlayerOfflineData struct {
// 可以根据需要添加字段
PlayerID int64
}
// 玩家逃脱数据
type PlayerEscapeData struct {
// 可以根据需要添加字段
PlayerID int64
}
// 玩家捕获成功数据
type PlayerCaptureSuccessData struct {
// 可以根据需要添加字段
CaptorID int64
TargetID int64
CaptureTime int64
}
// 默认结束数据
type DefaultEndData struct {
// 可以根据需要添加字段
Reason string
}
// 战斗结束原因枚举
type EnumBattleOverReason int
var BattleOverReason = enum.New[struct {
PlayerOffline EnumBattleOverReason `enum:"1"` //掉线
PlayerEscape EnumBattleOverReason `enum:"2"` //逃跑
PlayerCaptureSuccess EnumBattleOverReason `enum:"3"` //捕捉成功
DefaultEnd EnumBattleOverReason `enum:"4"` //默认结束
}]()
// 获取对应的类型
func (e EnumBattleOverReason) DataType() interface{} {
switch e {
case BattleOverReason.PlayerOffline:
return PlayerOfflineData{}
case BattleOverReason.PlayerEscape:
return PlayerEscapeData{}
case BattleOverReason.PlayerCaptureSuccess:
return PlayerCaptureSuccessData{}
case BattleOverReason.DefaultEnd:
return DefaultEndData{}
default:
return nil
}
}