Files
bl/common/core/info/LoginUserInfo.go
昔念 720294ad27 refactor(blazing): 重构项目并优化数据结构
- 更新 LoginUserInfo 结构体,将 uint64 类型改为 uint32
- 调整 ServerInfo 结构体,将 IP 字段从 []byte 改为 string
- 移除未使用的 ArraySerialize 结构体
- 更新 ByteArray 类,修改相关方法名
- 删除未使用的 serialize 相关代码
- 优化模块导入,移除冗余依赖
2025-06-22 12:05:07 +08:00

214 lines
5.9 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/common/core/info/pet"
// Point 表示坐标结构
type Point struct {
X uint32
Y uint32
}
// TeamInfo 战队信息
type TeamInfo struct {
// 此处应包含TeamInfo的具体字段原Java代码中未给出详细定义
// 请根据实际需求补充
}
// TeamPKInfo 战队PK信息
type TeamPKInfo struct {
// 此处应包含TeamPKInfo的具体字段原Java代码中未给出详细定义
// 请根据实际需求补充
}
// PeopleItemInfo 人物物品信息
type PeopleItemInfo struct {
// 此处应包含PeopleItemInfo的具体字段原Java代码中未给出详细定义
// 请根据实际需求补充
}
// LoginUserInfo 登录用户信息结构体
type LoginUserInfo struct {
// 米米号 通过sid拿到
UserId uint32
// 注册时间(按秒的时间戳)
RegisterTime uint32
// 16字节昵称
Nick [16]byte `array_serialize:"fixed_length,16"`
// 暂时不明建议先给固定值0
Vip uint16 `ushort:"true"`
// 暂时不明建议先给固定值15
Viped uint16 `ushort:"true"`
// 暂时不明建议先给固定值0
DsFlag uint32
// 机器人人物颜色 00 rgb
Color uint32
// 暂时不明建议先给固定值0
Texture uint32
// 暂时不明建议先给固定值3000
Energy uint32 `default:"3000"`
// 赛尔豆
Coins uint32
// 暂时不明建议先给固定值0
FightBadge uint32
// 上线的地图id
MapID uint32
// 上线的坐标 2个uint
Pos Point `array_serialize:"fixed_length,8"`
// 已经消耗掉的时间(秒为单位)
TimeToday uint32
// 总电池限制(秒为单位)
TimeLimit uint32
// 暂时不明感觉是某种活动建议先给固定值0(只能0或1)
IsClothHalfDay byte
// 暂时不明感觉是某种活动建议先给固定值0(只能0或1)
IsRoomHalfDay byte
// 暂时不明感觉是某种活动建议先给固定值0(只能0或1)
IFortressHalfDay byte
// 暂时不明感觉是某种活动建议先给固定值0(只能0或1)
IsHQHalfDay byte
// 暂时不明建议先给固定值0
LoginCount uint32
// 邀请活动建议先给固定值0
Inviter uint32
// 邀请活动建议先给固定值0
NewInviteeCount uint32
// 超no等级建议固定8
VipLevel uint32 `default:"8"`
// 超no的vip值建议固定80000
VipValue uint32 `default:"80000"`
// 超no的外形等级建议固定1(暂定)
VipStage uint32 `default:"1"`
// nono是否自动充电 建议固定1
AutoCharge uint32 `default:"1"`
// 超no的结束时间建议尽可能大
VipEndTime uint32 `default:"4294967295"`
// 邀请活动建议先给固定值0
FreshManBonus uint32
// 超no芯片列表*(80字节)
NonoChipList [80]byte `array_serialize:"fixed_length,80"`
// 50字节默认值为3
DailyResArr [50]byte `array_serialize:"fixed_length,50"`
// 教官id
TeacherID uint32
// 学员id
StudentID uint32
// 毕业人数
GraduationCount uint32
// 默认值为0
MaxPuniLv uint32 `default:"0"`
// 精灵的最高等级
PetMaxLevel uint32
// 所有的精灵的数量
AllPetNumber uint32
// 精灵王之战胜场
MonKingWin uint32
// 勇者之塔当前到达的层数
CurrentStage uint32
// 试炼之塔最大胜利的层数
MaxStage uint32
// 试炼之塔当前到达的层数
CurrentFreshStage uint32
// 试炼之塔最大胜利的层数
MaxFreshStage uint32
// 星际擂台连胜
MaxArenaWins uint32
// 未知默认0
TwoTimes uint32 `default:"0"`
// 未知默认0
ThreeTimes uint32 `default:"0"`
// 是否自动战斗(未知默认值0)
AutoFight uint32 `default:"0"`
// 自动战斗剩余的场次(未知默认值0)
AutoFightTime uint32 `default:"0"`
// 能量吸收仪剩余次数(未知待定默认值0)
EnergyTime uint32 `default:"0"`
// 学习力吸收仪剩余次数(未知待定默认值0)
LearnTimes uint32 `default:"0"`
// 未知默认0
MonBattleMedal uint32 `default:"0"`
// 未知默认0
RecordCount uint32 `default:"0"`
// 未知默认0
ObtainTm uint32 `default:"0"`
// 当前在孵化的元神珠id
SoulBeadItemID uint32
// 未知默认0
ExpireTm uint32 `default:"0"`
// 未知默认0
FuseTimes uint32 `default:"0"`
// 玩家有没有nono
HasNono uint32 `default:"1"`
// 玩家有没有超能nono
SuperNono uint32 `default:"1"`
// 默认值-1
NonoState uint32 `default:"4294967295"`
// nono的颜色
NonoColor uint32
// nono的名字 必须要补齐到16位
NonoNick [16]byte `array_serialize:"fixed_length,16"`
// 猜测为战队信息24字节
TeamInfo TeamInfo `array_serialize:"fixed_length,24"`
// 8字节
TeamPkInfo TeamPKInfo `array_serialize:"fixed_length,8"`
// 1字节 无内容
Reserved byte
// 默认值为0
Badge uint32 `default:"0"`
// 未知(27字节默认值为3)
Reserved1 [27]byte `array_serialize:"fixed_length,27"`
// 任务状态数组(500字节3为已经完成建议默认值为3)
TaskList [500]byte `array_serialize:"fixed_length,500"`
// 精灵背包内的信息由于特性精灵的存在精灵背包不定长 如果有特性占199字节 如果没特性 一个精灵占175字节
PetList []pet.PetInfo
// 穿戴装备 8字节
Clothes []PeopleItemInfo
}
// NewLoginUserInfo 创建新的登录用户信息实例,设置默认值
func NewLoginUserInfo() *LoginUserInfo {
info := &LoginUserInfo{
Vip: 0,
Viped: 15,
Energy: 3000,
VipLevel: 8,
VipValue: 80000,
VipStage: 1,
AutoCharge: 1,
VipEndTime: uint32(^uint32(0)),
TwoTimes: 0,
ThreeTimes: 0,
AutoFight: 0,
AutoFightTime: 0,
EnergyTime: 0,
LearnTimes: 0,
MonBattleMedal: 0,
RecordCount: 0,
ObtainTm: 0,
ExpireTm: 0,
FuseTimes: 0,
HasNono: 1,
SuperNono: 1,
NonoState: uint32(^uint32(0)),
Badge: 0,
}
// 初始化固定长度数组
for i := range info.NonoChipList {
info.NonoChipList[i] = 0
}
for i := range info.DailyResArr {
info.DailyResArr[i] = 3
}
for i := range info.Reserved1 {
info.Reserved1[i] = 3
}
for i := range info.TaskList {
info.TaskList[i] = 3
}
// 初始化nono昵称
copy(info.NonoNick[:], "nono")
return info
}