refactor(blazing): 重构任务系统并优化相关功能
- 重构了任务系统的数据结构和执行逻辑 - 优化了地图加载和怪物刷新机制 - 改进了宠物系统的基础架构 - 调整了玩家信息和背包的处理方式 - 统一了数据访问层的接口和实现
This commit is contained in:
@@ -2,6 +2,7 @@ package model
|
||||
|
||||
import (
|
||||
"blazing/cool"
|
||||
"time"
|
||||
|
||||
"github.com/creasty/defaults"
|
||||
)
|
||||
@@ -40,37 +41,14 @@ func NewPlayerInfo() *PlayerInfo {
|
||||
panic(err) // 方便发现 default 设置错误
|
||||
}
|
||||
|
||||
// 填充需要重复值的数组
|
||||
fillBytes(&l.DailyResArr, 3)
|
||||
fillBytes(&l.Reserved1, 3)
|
||||
fillBytes(&l.TaskList, 3)
|
||||
|
||||
return l
|
||||
}
|
||||
|
||||
// 工具函数:给数组/切片批量赋同一个 byte 值
|
||||
func fillBytes(arr any, val byte) {
|
||||
switch a := arr.(type) {
|
||||
case *[50]byte:
|
||||
for i := range a {
|
||||
a[i] = val
|
||||
}
|
||||
case *[27]byte:
|
||||
for i := range a {
|
||||
a[i] = val
|
||||
}
|
||||
case *[500]byte:
|
||||
for i := range a {
|
||||
a[i] = val
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
type PlayerInfo struct {
|
||||
GoldBean int32 `struc:"skip" json:"nieo_gold_bean"` // 金豆(特殊货币)
|
||||
|
||||
ExpPool int64 `struc:"skip" json:"exp_pool"` // 累计经验池
|
||||
|
||||
ExpPool int64 `struc:"skip" json:"exp_pool"` // 累计经验池
|
||||
LastResetTime time.Time `struc:"skip" json:"last_reset_time"` // 重置时间,比如电池和每日任务
|
||||
// OutInfo 字段
|
||||
UserID uint32 `struc:"uint32" json:"user_id"` // 米米号 通过sid拿到
|
||||
RegisterTime uint32 `struc:"uint32" json:"register_time"` // 注册时间(秒时间戳)
|
||||
@@ -136,7 +114,7 @@ type PlayerInfo struct {
|
||||
Reserved byte `struc:"byte" json:"reserved"` // 1字节无内容
|
||||
Badge uint32 `struc:"uint32" default:"0" json:"badge"` // 默认0
|
||||
Reserved1 [27]byte `struc:"[27]byte" default:"3" json:"reserved1"` // 27字节默认3
|
||||
TaskList [500]byte `struc:"[500]byte" default:"3" json:"task_list"` // 任务状态数组500字节,默认3
|
||||
TaskList [500]byte `struc:"[500]byte" default:"0" json:"task_list"` // 任务状态数组500字节,默认3
|
||||
PetListCount uint32 `struc:"sizeof=PetList" json:"pet_list_count"` // 精灵列表长度
|
||||
PetList []PetInfo ` json:"pet_list"` // 精灵背包内信息
|
||||
ClothesCount uint32 `struc:"sizeof=Clothes" json:"clothes_count"` // 穿戴装备数量
|
||||
|
||||
Reference in New Issue
Block a user