refactor(user): 重构用户服务数据库操作,将reg服务重命名为info并新增talk挖矿服务
This commit is contained in:
@@ -114,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 [600]byte `struc:"[500]byte" default:"0" 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"` // 穿戴装备数量
|
||||
|
||||
79
modules/blazing/model/talk.go
Normal file
79
modules/blazing/model/talk.go
Normal file
@@ -0,0 +1,79 @@
|
||||
package model
|
||||
|
||||
import (
|
||||
"blazing/cool"
|
||||
)
|
||||
|
||||
// 资源采集计数表名
|
||||
const TableNameResourceCollection = "resource_collection"
|
||||
|
||||
func NewTalk() *ResourceCollection {
|
||||
return &ResourceCollection{
|
||||
Model: cool.NewModel(),
|
||||
}
|
||||
}
|
||||
|
||||
// ResourceCollection 记录玩家每种资源的采集计数
|
||||
type ResourceCollection struct {
|
||||
*cool.Model
|
||||
PlayerID uint64 `gorm:"not null;index:idx_player_resource;comment:'所属玩家ID'" json:"player_id"`
|
||||
Data string `gorm:"type:text;not null;comment:'全部数据'" json:"data"` //map[uint32]uint32
|
||||
}
|
||||
type Talk struct {
|
||||
ResourceCollection
|
||||
Data map[uint32]uint32 `orm:"data" dc:"资源规格"`
|
||||
}
|
||||
|
||||
// TableName 资源采集表名
|
||||
func (*ResourceCollection) TableName() string {
|
||||
return TableNameResourceCollection
|
||||
}
|
||||
|
||||
// GroupName 资源采集表分组
|
||||
func (*ResourceCollection) GroupName() string {
|
||||
return "default"
|
||||
}
|
||||
|
||||
// // 检查是否可以采集(未超过每日上限)
|
||||
// func (rc *ResourceCollection) CanCollect(maxDaily uint32) bool {
|
||||
// // 先检查是否需要重置计数
|
||||
// rc.checkAndReset()
|
||||
// return rc.CollectCnt < maxDaily
|
||||
// }
|
||||
|
||||
// // 增加采集计数,返回是否成功
|
||||
// func (rc *ResourceCollection) AddCollectCount(maxDaily uint32) bool {
|
||||
// if !rc.CanCollect(maxDaily) {
|
||||
// return false
|
||||
// }
|
||||
// rc.CollectCnt++
|
||||
// return true
|
||||
// }
|
||||
|
||||
// // 检查并重置每日计数
|
||||
// func (rc *ResourceCollection) checkAndReset() {
|
||||
// now := time.Now()
|
||||
// if now.After(rc.DailyReset) {
|
||||
// rc.CollectCnt = 0
|
||||
// // 重置为明天24点
|
||||
// rc.DailyReset = now.Truncate(24 * time.Hour).Add(24 * time.Hour)
|
||||
// }
|
||||
// }
|
||||
|
||||
// ResourceConfig 资源配置信息(对应XML中的配置)
|
||||
type ResourceConfig struct {
|
||||
Type uint32 `json:"type"` // 资源类型ID
|
||||
MapID uint32 `json:"map_id"` // 所在地图ID
|
||||
Name string `json:"name"` // 资源名称
|
||||
CollectType string `json:"collect_type"` // 采集类型
|
||||
MaxDailyCnt uint32 `json:"max_daily_cnt"` // 每日最大采集次数
|
||||
Unit string `json:"unit"` // 单位
|
||||
Dir uint32 `json:"dir"` // 方向
|
||||
}
|
||||
|
||||
// 初始化创建表
|
||||
func init() {
|
||||
cool.CreateTable(&ResourceCollection{})
|
||||
// 可以在这里加载资源配置
|
||||
// LoadResourceConfigsFromXML()
|
||||
}
|
||||
Reference in New Issue
Block a user