Files
bl/logic/service/nono/nono.go
昔念 50232339d9 ```
refactor(rpc): 更新结构体标签以跳过特定字段序列化

将多个结构体中的 `struc:"[0]pad"` 标签更改为 `struc:"skip"`,
以避免在序列化过程中处理不必要的填充字段。同时新增放生与领回相关逻辑,
并完善部分控制器函数和消息结构定义。
```
2025-11-24 11:56:20 +08:00

101 lines
3.5 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 nono
import "blazing/logic/service/common"
// NonoOutboundInfo 用于表示Nono相关的出站信息
type NonoOutboundInfo struct {
// UserID: 米米号对应uint32类型无符号
UserID uint32
// Num: 未知对应uint32类型无符号
Num uint32
// Flying: 飞行状态 0为不飞行 大于0为飞行模式对应uint32类型无符号
Flying uint32
// Nick: 16字节固定长度16字节字符串
Nick string `struc:"[16]byte"`
// SuperNono: 是不是超能nono对应uint32类型无符号
SuperNono uint32
// Color: nono颜色 00 rgb对应uint32类型无符号
Color uint32
// Power: 未知, 返回的实际数值要*1000对应uint32类型无符号
Power uint32
// Mate: 未知, 返回的实际数值要*1000对应uint32类型无符号
Mate uint32
// IQ: 未知对应uint32类型无符号
IQ uint32
// AI: 未知对应uint16类型无符号短整数
AI uint16
// Birth: 未知, 返回的实际数值要除以1000对应uint32类型无符号
Birth uint32
// ChargeTime: 充电时间对应uint32类型无符号
ChargeTime uint32
// Func: 20字节固定长度20字节数组
Func [20]byte
// SuperEnergy: 超能nono能力对应uint32类型无符号
SuperEnergy uint32
// SuperLevel: 超能nono等级对应uint32类型无符号
SuperLevel uint32
// SuperStage: 超能nono阶段对应uint32类型无符号
SuperStage uint32
}
type NonoInboundInfo struct {
Head common.TomeeHeader `cmd:"9003" struc:"skip"`
// 米米号
UserID uint32
}
type NonoFollowOrHomeInInfo struct {
Head common.TomeeHeader `cmd:"9019" struc:"skip"`
// Flag 1为跟随 0为收回 且如果为收回收回 那么后续结构不需要发送
// 对应Java的@UInt long类型在Go中使用uint64
Flag uint32 `fieldDescription:"1为跟随 0为收回 且如果为收回 那么后续结构不需要发送" uint:"true"`
}
type NonoFollowOutInfo struct {
// UserID 米米号对应Java的@UInt long改为uint32
UserID uint32 `fieldDescription:"米米号" uint:"true"`
// SuperStage 设置的值与下面的flag变量相同改为uint32
SuperStage uint32 `fieldDescription:"设置的值与下面的flag变量相同" uint:"true"`
// Flag 1为跟随 0为收回不序列化改为uint32
Flag uint32 `fieldDescription:"1为跟随 0为收回 且如果为收回 那么后续结构不需要发送, 不序列化" uint:"true" serialize:"false"`
// NonoNick nono名字 补到16字节
Nick string `struc:"[16]byte"`
// Color nono颜色 rpg改为uint32
Color uint32 `fieldDescription:"nono颜色 rpg" uint:"true"`
// Power 能量值 前端显示除以1000后的值改为uint32
Power uint32 `fieldDescription:"能量值 前端显示除以1000后的值" uint:"true"`
}
type SwitchFlyingInboundInfo struct {
Head common.TomeeHeader `cmd:"2112" struc:"skip"`
Type uint32 `description:"开关, 0为取消飞行模式, 大于0为开启飞行模式" codec:"auto" uint:"true"` // 对应@FieldDescription、@UInt、@AutoCodec
}
type SwitchFlyingOutboundInfo struct {
UserId uint32 `description:"玩家账号ID" codec:"auto" uint:"true"` // 对应@FieldDescription、@UInt、@AutoCodec
Type uint32 `description:"开关, 0为取消飞行模式, 大于0为开启飞行模式" codec:"auto" uint:"true"` // 对应@FieldDescription、@UInt、@AutoCodec
}
type PetCureInboundInfo struct {
Head common.TomeeHeader `cmd:"2306" struc:"skip"`
}
type PetCureOutboundEmpty struct {
}