Files
bl/logic/service/space/info/info.go
2026-04-04 05:12:30 +08:00

180 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/data"
configm "blazing/modules/config/model"
"blazing/modules/player/model"
"github.com/creasty/defaults"
)
type ListMapPlayerOutboundInfo struct {
PlayersLen uint32 `struc:"sizeof=Player" json:"player_len"`
// 穿戴装备的信息
Player []SimpleInfo ` json:"player"`
}
// PeopleWalkOutboundInfo PeopleWalkOutboundInfo类实现OutboundMessage接口
type WalkOutInfo struct {
// Flag: 0为走1为飞行模式
Flag uint32 `fieldDesc:"0为走1为飞行模式" codec:"uint"`
// UserID: 走动的人的米米号
UserID uint32 `fieldDesc:"走动的人的米米号" codec:"uint"`
// Point: 直接给坐标xy
Point model.Pos `fieldDesc:"直接给坐标xy"`
PathLen uint32 `struc:"sizeof=Path" `
Path string
}
type MapBossSInfo struct {
Wer int32 `struc:"uint32"`
InfoLen uint32 `struc:"sizeof=INFO" json:"info_len"`
INFO []MapBossInfo
}
type MapBossInfo struct {
Id uint32 `json:"id" protobuf:"1,req,name=id"` // 需要刷新的BOSS精灵ID
Region uint32 `json:"region" protobuf:"2,req,name=region"` //index,直接给boss的节点ID
Hp int32 `struc:"uint32" json:"hp" protobuf:"3,req,name=hp"` // HP值蘑菇怪为A其他BOSS暂未明确用途可能无实际作用
Pos model.Pos
IsShow int32 `struc:"uint32" json:"is_show"` // 雷伊首次出现的时候给2,正常精灵给1,雷伊是否首次出现的判断是否首次刷新,
PosInfo []model.Pos `struc:"skip"`
PosIndex uint32 `struc:"skip"`
Config configm.MapNode `struc:"skip"`
Model configm.MapModel `struc:"skip"`
}
// 这里存储星球的map
//var planetmap utils.SyncMap[] //= space.NewSyncMap()
// PeopleInfo PeopleInfo类实现OutboundMessage接口
type SimpleInfo struct {
UserID uint32 `struc:"uint32" fieldDesc:"米米号" json:"user_id"`
// 16字节昵称
Nick string `struc:"[16]byte" fieldDesc:"16字节昵称" json:"nick"`
Title uint32 `struc:"uint32" json:"title"` // 称号
// 机器人人物颜色 00 rgb
Color uint32 `struc:"uint32" fieldDesc:"机器人人物颜色 00 rgb" json:"color"`
// 固定值0
Texture uint32 `struc:"uint32" fieldDesc:"固定值0" json:"texture"`
// 暂时不明建议先给固定值0
Vip uint16 ` json:"vip"`
// 暂时不明建议先给固定值15
Viped uint16 ` default:"15" json:"viped"`
// 暂时不明建议先给固定值1
VipStage uint32 `struc:"uint32" fieldDesc:"暂时不明建议先给固定值1" json:"vip_stage"`
// 人物状态 =0 步行 !=0 飞行
Flag uint32 `struc:"uint32" fieldDesc:"人物状态 =0 步行 !=0 飞行" json:"action_type"`
// 上线的地图id
Pos model.Pos `fieldDesc:"上线的地图id" json:"pos"`
// 动作, 大于10000时为蹲下
Action uint32 `struc:"uint32" fieldDesc:"暂时不明给0" json:"action"`
// 动作, 默认情况下为2, 蹲下为3
Direction uint32 `struc:"uint32" default:"2" fieldDesc:"暂时不明给2" json:"direction"`
// 变形套装ID
ChangeShape uint32 `struc:"uint32" fieldDesc:"暂时不明给0" json:"change_shape"`
// 暂时不明给0
SpiritTime uint32 `struc:"uint32" fieldDesc:"暂时不明给0" json:"spirit_time"`
// 暂时不明给0
SpiritID uint32 `struc:"uint32" fieldDesc:"暂时不明给0" json:"spirit_id"`
// 宠物 ID 暂时无法测试,给 0
PetDV uint32 `struc:"uint32" fieldDesc:"宠物ID暂时无法测试, 给0" json:"pet_dv"`
ShinyLen uint32 `json:"-" struc:"sizeof=ShinyInfo"`
ShinyInfo []data.GlowFilter `json:"ShinyInfo,omitempty"`
// 宠物皮肤暂时无法测试,给 0
PetSkin uint32 `struc:"uint32" fieldDesc:"宠物皮肤暂时无法测试, 给0" json:"pet_skin"`
PetRide uint32 `struc:"uint32" fieldDesc:"pet ride flag" json:"pet_ride"`
Reserved [2]uint32
// 暂时不明给0
FightFlag uint32 `struc:"uint32" fieldDesc:"暂时不明给0" json:"fight_flag"`
// 教官ID
TeacherID uint32 `struc:"uint32" fieldDesc:"教官ID" json:"teacher_id"`
// 学员ID
StudentID uint32 `struc:"uint32" fieldDesc:"学员ID" json:"student_id"`
// nono状态 固定值-1
NonoState uint32 `struc:"uint32" default:"0xFFFFFFFF" fieldDesc:"nono状态 固定值-1" json:"nono_state"`
// nono颜色 00 FF FF FF
NonoColor uint32 `struc:"uint32" fieldDesc:"nono颜色 00 FF FF FF" json:"nono_color"`
// 是不是超能nono 固定值1
SuperNono uint32 `struc:"uint32" default:"1" fieldDesc:"是不是超能nono 固定值1" json:"super_nono"`
// 暂时不明给0
PlayerForm uint32 `struc:"uint32" fieldDesc:"暂时不明给0" json:"player_form"`
// 暂时不明给0
TransTime uint32 `struc:"uint32" fieldDesc:"暂时不明给0" json:"trans_time"`
// 暂时不明给0
TeamID uint32 `struc:"uint32" fieldDesc:"暂时不明给0" json:"team_id"`
// 暂时不明给0
TeamCoreCount uint32 `struc:"uint32" fieldDesc:"暂时不明给0" json:"team_core_count"`
// 暂时不明给0
TeamIsShow uint32 `struc:"uint32" fieldDesc:"暂时不明给0" json:"team_is_show"`
// 暂时不明给0
LogoBg uint16 `json:"logo_bg"`
// 暂时不明给0
LogoIcon uint16 ` json:"logo_icon"`
// 暂时不明给0
LogoColor uint16 `json:"logo_color"`
// 暂时不明给0
TxtColor uint16 `json:"txt_color"`
// 4字节
LogoWord [4]byte `struc:"[4]byte" fieldDesc:"4字节" json:"logo_word"`
ClothesLen uint32 `struc:"sizeof=Clothes" fieldDesc:"穿戴装备的信息" json:"clothes_len"`
// 穿戴装备的信息
Clothes []model.PeopleItemInfo `fieldDesc:"穿戴装备的信息" json:"clothes"`
}
func NewOutInfo() *SimpleInfo {
l := &SimpleInfo{}
// 自动填充 struct tag 里的 default 值
if err := defaults.Set(l); err != nil {
panic(err) // 方便发现 default 设置错误
}
return l
}
type LeaveMapOutboundInfo struct {
// 米米号
UserID uint32 `struc:"uint32" fieldDesc:"米米号" json:"user_id"`
}
type S2C_2022 struct {
Flag uint32 `json:"flag" protobuf:"1,req,name=flag"`
ID uint32 `json:"id" protobuf:"2,req,name=id"`
}