feat(cache): 添加复合键缓存操作支持 添加了基于 uint32+string 组合键的缓存操作方法,包括 GetByCompoundKey、SetByCompoundKey、DelByCompoundKey 和 ContainsByCompoundKey 方法,用于处理用户ID和会话ID的组合缓存场景 fix(vscode): 添加 cSpell 配置支持 struc 词汇 refactor(session): 移除过时的会话管理方法 移除了基于单一字符串键的会话管理方法,因为已迁移到使用 复合键的缓存操作方式 ```
48 lines
2.0 KiB
Go
48 lines
2.0 KiB
Go
package item
|
|
|
|
import (
|
|
"blazing/logic/service/common"
|
|
"blazing/modules/player/model"
|
|
)
|
|
|
|
// C2S_USE_PET_ITEM_OUT_OF_FIGHT 客户端→服务端:非战斗场景使用宠物道具
|
|
type C2S_USE_PET_ITEM_OUT_OF_FIGHT struct {
|
|
Head common.TomeeHeader `cmd:"2326" struc:"skip"`
|
|
CatchTime uint32 `json:"catch_time"` // 使用物品的精灵的捕获时间
|
|
ItemID uint32 `json:"item_id"` // 使用的物品ID
|
|
}
|
|
|
|
// S2C_USE_PET_ITEM_OUT_OF_FIGHT 服务端→客户端:非战斗场景使用宠物道具回包
|
|
type S2C_USE_PET_ITEM_OUT_OF_FIGHT struct {
|
|
CatchTime uint32 `json:"catch_time"` // 使用物品的精灵的捕获时间
|
|
ID uint32 `json:"id"` // 精灵ID
|
|
Nick string `struc:"[16]byte" fieldDesc:"16字节昵称" json:"nick"`
|
|
Nature uint32 `json:"nature"` // 精灵性格
|
|
Dv uint32 `json:"dv"` // 精灵个体值
|
|
Level uint32 `json:"lv"` // 精灵等级
|
|
Hp uint32 `json:"hp"` // 当前血量
|
|
MaxHp uint32 `json:"maxhp"` // 最大血量
|
|
Exp uint32 `json:"exp"` // 升级所需经验
|
|
// * ev:生命学习力,攻击学习力,防御学习力,特攻学习力,特防学习力,速度学习力
|
|
Ev [6]uint32 `fieldDesc:"属性" `
|
|
// * battle_lv: atk(0), def(1), sp_atk(2), sp_def(3), spd(4), accuracy(5)
|
|
Prop [5]uint32 `fieldDesc:"属性" `
|
|
SkillListLen uint32 `struc:"sizeof=SkillList"`
|
|
SkillList []model.SkillInfo `json:"skilllist"` // 技能数组
|
|
}
|
|
type C2S_PET_RESET_NATURE struct {
|
|
Head common.TomeeHeader `cmd:"2343" struc:"skip"`
|
|
|
|
CatchTime uint32 // 精灵捕捉时间
|
|
Nature uint32 // 目标性格值
|
|
ItemId uint32 // 消耗的物品ID
|
|
}
|
|
|
|
// C2S_ITEM_SALE 物品出售/兑换请求结构体(对应原 C# 结构体)
|
|
// 字段注释保持与原逻辑一致,字段名遵循 Go 命名规范(首字母大写以支持序列化/反序列化)
|
|
type C2S_ITEM_SALE struct {
|
|
Head common.TomeeHeader `cmd:"2602" struc:"skip"`
|
|
ItemId uint32 // 兑换的物品id
|
|
Amount uint32 // 兑换的数量
|
|
}
|