feat: 添加ItemInfo结构体并重构抽蛋和任务系统 - 在common/data/color.go中添加ItemInfo结构体用于表示发放物品的信息 - 在common/utils/tomap.go中添加RandomSlice泛型函数用于从切片中随机选取元素 - 重构action_egg.go中的EggGamePlay功能,实现抽蛋逻辑和物品发放 - 更新fight_boss.go中使用新的ItemInfo结构体替换旧的model.ItemInfo - 修改user_talk.go中获取物品数量的逻辑 - 更新user_task.go中任务完成逻辑使用新的ItemInfo结构体 - 在egg.go中更新抽蛋结果结构体使用ItemInfo - 更新战斗奖励结构体使用ItemInfo - 在player.go中添加学习力道具处理逻辑 - 重构任务系统使用新的ItemInfo结构体 - 移除旧的model.ItemInfo定义 - 更新宠物奖励配置模型添加成长值等字段 - 实现GetEgg方法用于获取扭蛋奖励 - 修复宠物融合材料服务中的道具验证逻辑 ```
25 lines
1022 B
Go
25 lines
1022 B
Go
package egg
|
||
|
||
import (
|
||
"blazing/common/data"
|
||
"blazing/logic/service/common"
|
||
)
|
||
|
||
// C2S_EGG_GAME_PLAY 前端向后端发送的抽蛋请求结构体
|
||
// 对应原 C# 的 C2S_EGG_GAME_PLAY
|
||
type C2S_EGG_GAME_PLAY struct {
|
||
Head common.TomeeHeader `cmd:"3201" struc:"skip"`
|
||
EggNum uint32 `json:"eggNum"` // 抽蛋次数标识:1 = 1次 2 = 5次 3 = 10次
|
||
// 注:Go 中 uint 是平台相关类型(32/64位),游戏开发中推荐用 uint32 明确匹配 C# 的 uint
|
||
}
|
||
|
||
// S2C_EGG_GAME_PLAY 后端向前端返回的抽蛋结果结构体
|
||
// 对应原 C# 的 S2C_EGG_GAME_PLAY
|
||
type S2C_EGG_GAME_PLAY struct {
|
||
GiftIN uint32 `json:"giftIN"` // 未知字段 写0 未引用
|
||
PetID uint32 `json:"petID"` // 抽中精灵的id
|
||
HadTime uint32 `json:"hadTime"` // 抽中精灵的捕捉时间(若为时间戳,建议改为 uint64)
|
||
ListInfoLen uint32 `struc:"sizeof=ListInfo"`
|
||
ListInfo []data.ItemInfo `json:"listinfo"` // 抽中物品的物品数组
|
||
}
|