Files
bl/logic/service/fight/info/NoteReadyToFightInfo.go
昔念 038a5f13da refactor(fight): 重构战斗模块
- 优化了数据结构和类型定义,提高了代码的可读性和可维护性
- 移除了未使用的代码和冗余的结构体字段
- 重新组织了代码文件,提高了模块化程度
- 为后续的战斗逻辑实现和优化奠定了坚实的基础
2025-08-25 16:26:56 +08:00

71 lines
3.0 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package info
import (
"blazing/modules/blazing/model"
)
type FightUserInfo struct {
// 用户ID野怪为0对应Java的@UInt long
UserID uint32 `fieldDesc:"userID 如果为野怪则为0" `
// 玩家名称野怪为UTF-8的'-'固定16字节
// 使用[16]byte存储固定长度的字节数组
Nickname [16]byte ` `
}
// NoteReadyToFightInfo 战斗准备就绪消息结构体对应Java的NoteReadyToFightInfo
type NoteReadyToFightInfo struct {
//战斗发起者ID
OwnerID uint32 `struc:"skip"`
// 战斗类型ID与野怪战斗为3与人战斗为1前端似乎未使用
// 对应Java的@UInt long
FightId uint32 `fieldDesc:"战斗类型ID 但前端好像没有用到 与野怪战斗为3与人战斗似乎是1" `
// 我方信息
OurInfo FightUserInfo `fieldDesc:"我方信息" serialize:"struct"`
OurPetListLen uint32 `struc:"sizeof=OurPetList"`
// 我方携带精灵的信息
// 对应Java的ArrayList<ReadyFightPetInfo>,使用切片模拟动态列表
OurPetList []ReadyFightPetInfo `fieldDesc:"我方携带精灵的信息" serialize:"lengthFirst,lengthType=uint16,type=structArray"`
// 对方信息
OpponentInfo FightUserInfo `fieldDesc:"对方信息" serialize:"struct"`
OpponentPetListLen uint32 `struc:"sizeof=OpponentPetList"`
// 敌方的精灵信息
// 野怪战斗时客户端接收此包前已生成精灵PetInfo将部分信息写入该列表
OpponentPetList []ReadyFightPetInfo `fieldDesc:"敌方的精灵信息 如果是野怪 那么再给客户端发送这个包体时就提前生成好了这只精灵的PetInfo,然后把从PetInfo中把部分信息写入到这个敌方的精灵信息中再发送这个包结构体" serialize:"lengthFirst,lengthType=uint16,type=structArray"`
}
// ReadyFightPetInfo 准备战斗的精灵信息结构体对应Java的ReadyFightPetInfo类
type ReadyFightPetInfo struct {
// 精灵ID对应Java的@UInt long
ID uint32 `fieldDesc:"精灵ID" `
// 精灵等级对应Java的@UInt long
Level uint32 `fieldDesc:"精灵等级" `
// 精灵当前HP对应Java的@UInt long
Hp uint32 `fieldDesc:"精灵HP" `
// 精灵最大HP对应Java的@UInt long
MaxHp uint32 `fieldDesc:"最大HP" `
SkillListLen uint32
// 技能信息列表固定4个元素技能ID和剩余PP无技能则为0
// 对应Java的List<SkillInfo>初始化容量为4
SkillList [4]model.SkillInfo `fieldDesc:"技能信息 技能ID跟剩余PP 固定32字节 没有给0" serialize:"fixedLength=4,type=structArray"`
// 精灵捕获时间对应Java的@UInt long
CatchTime uint32 `fieldDesc:"精灵捕获时间" `
// 捕捉地图固定给0对应Java的@UInt long
CatchMap uint32 `fieldDesc:"捕捉地图 给0" `
// 固定给0对应Java的@UInt long
CatchRect uint32 `fieldDesc:"给0" `
// 固定给0对应Java的@UInt long
CatchLevel uint32 `fieldDesc:"给0" `
SkinID uint32 `fieldDesc:"精灵皮肤ID" `
Shiny uint32 `fieldDesc:"精灵是否闪" `
}