```
feat(pet): 实现宠物展示功能和稀有宠物塔配置 - 添加PetDisplay字段到Player结构体,用于管理宠物展示状态 - 实现PlayerShowPet方法,支持宠物展示逻辑,包括设置展示标识、 检查宠物存在性并返回相应错误码 - 在Space中添加RefreshUserInfo方法,用于刷新用户信息并应用 宠物展示信息到SimpleInfo - 扩展SimpleInfo结构体,添加PetRide字段用于宠物骑乘标识
This commit is contained in:
@@ -13,14 +13,14 @@ const (
|
||||
type PetReward struct {
|
||||
*cool.Model // 保留通用Model(ID/创建时间/更新时间等)
|
||||
|
||||
MonID int32 `gorm:"not null;comment:'BOSS对应的精灵ID'" json:"mon_id"`
|
||||
DV int32 `gorm:"not null;default:0;comment:'成长值'" json:"dv"`
|
||||
Nature int32 `gorm:"not null;default:0;comment:'BOSS属性-性格'" json:"nature"`
|
||||
Effect int32 `gorm:"not null;comment:'BOSS特性'" json:"effect"`
|
||||
Lv int32 `gorm:"not null;comment:'BOSS等级(LvHpMatchUser非0时此配置无效)'" json:"lv"`
|
||||
IsEgg uint32 `gorm:"not null;default:0;comment:'是否蛋'" json:"is_egg"` //奖励是否为扭蛋奖励
|
||||
IsLight uint32 `gorm:"not null;default:0;comment:'是否擦灯'" json:"is_light"` //奖励是否为光之子``
|
||||
Remark string `gorm:"type:varchar(255);default:'';comment:'性别配置备注(如:默认性别规则)'" json:"remark"` // 调整注释
|
||||
MonID int32 `gorm:"not null;comment:'BOSS对应的精灵ID'" json:"mon_id"`
|
||||
DV int32 `gorm:"not null;default:0;comment:'成长值'" json:"dv"`
|
||||
Nature int32 `gorm:"not null;default:0;comment:'BOSS属性-性格'" json:"nature"`
|
||||
Effect int32 `gorm:"not null;comment:'BOSS特性'" json:"effect"`
|
||||
Lv int32 `gorm:"not null;comment:'BOSS等级(LvHpMatchUser非0时此配置无效)'" json:"lv"`
|
||||
IsEgg uint32 `gorm:"not null;default:0;comment:'是否蛋'" json:"is_egg"` //奖励是否为扭蛋奖励
|
||||
|
||||
Remark string `gorm:"type:varchar(255);default:'';comment:'性别配置备注(如:默认性别规则)'" json:"remark"` // 调整注释
|
||||
}
|
||||
|
||||
// TableName 指定PetReward对应的数据库表名(遵循现有代码规范)
|
||||
|
||||
@@ -4,44 +4,56 @@ import (
|
||||
"blazing/cool"
|
||||
)
|
||||
|
||||
// -------------------------- 表名常量定义(统一管理所有塔配置表名)--------------------------
|
||||
const (
|
||||
TableNamedARKTowerConfig = "config_tower_110" // 勇者之塔110配置表
|
||||
TableNameTrialTowerConfig = "config_tower_500" // 试炼之塔500配置表
|
||||
TableNameBraveTowerConfig = "config_tower_600" // 勇者之塔600配置表
|
||||
TableNameRarePetTowerConfig = "config_tower_1"
|
||||
TableNamedARKTowerConfig = "config_tower_110"
|
||||
TableNameTrialTowerConfig = "config_tower_500"
|
||||
TableNameBraveTowerConfig = "config_tower_600"
|
||||
)
|
||||
|
||||
type BaseTowerConfig struct {
|
||||
*BaseConfig
|
||||
Name string `gorm:"type:varchar(100);default:'';comment:'塔名称'" json:"name" description:"塔名称"`
|
||||
TowerLevel uint32 `gorm:"not null;default:0;uniqueIndex;comment:'塔层数'" json:"tower_level" `
|
||||
BossIds []uint32 `gorm:"type:jsonb; ;comment:'塔层BOSS ID列表'" json:"boss_ids"`
|
||||
Name string `gorm:"type:varchar(100);default:'';comment:'name'" json:"name" description:"name"`
|
||||
TowerLevel uint32 `gorm:"not null;default:0;uniqueIndex;comment:'tower level'" json:"tower_level"`
|
||||
BossIds []uint32 `gorm:"type:jsonb;comment:'boss ids'" json:"boss_ids"`
|
||||
}
|
||||
|
||||
// NewBaseTowerConfig 创建基础塔配置实例(所有塔类型共用)
|
||||
func NewBaseTowerConfig() *BaseTowerConfig {
|
||||
return &BaseTowerConfig{
|
||||
BaseConfig: NewBaseConfig(),
|
||||
}
|
||||
}
|
||||
|
||||
type Tower1Config struct {
|
||||
*BaseTowerConfig
|
||||
}
|
||||
|
||||
type Tower110Config struct {
|
||||
*BaseTowerConfig
|
||||
}
|
||||
|
||||
// Tower500Config 试炼之塔500配置模型
|
||||
type Tower500Config struct {
|
||||
*BaseTowerConfig
|
||||
}
|
||||
|
||||
// Tower600Config 勇者之塔600配置模型
|
||||
type Tower600Config struct {
|
||||
*BaseTowerConfig
|
||||
}
|
||||
|
||||
// -------------------------- 各塔模型的核心配套方法(统一规范)--------------------------
|
||||
func (*Tower1Config) TableName() string {
|
||||
return TableNameRarePetTowerConfig
|
||||
}
|
||||
|
||||
func (*Tower1Config) GroupName() string {
|
||||
return "default"
|
||||
}
|
||||
|
||||
func New1TowerConfig() *Tower1Config {
|
||||
return &Tower1Config{
|
||||
BaseTowerConfig: NewBaseTowerConfig(),
|
||||
}
|
||||
}
|
||||
|
||||
// ===== Tower110Config 专属方法 =====
|
||||
func (*Tower110Config) TableName() string {
|
||||
return TableNamedARKTowerConfig
|
||||
}
|
||||
@@ -56,7 +68,6 @@ func New110TowerConfig() *Tower110Config {
|
||||
}
|
||||
}
|
||||
|
||||
// ===== Tower500Config 专属方法 =====
|
||||
func (*Tower500Config) TableName() string {
|
||||
return TableNameTrialTowerConfig
|
||||
}
|
||||
@@ -71,7 +82,6 @@ func New500TowerConfig() *Tower500Config {
|
||||
}
|
||||
}
|
||||
|
||||
// ===== Tower600Config 专属方法 =====
|
||||
func (*Tower600Config) TableName() string {
|
||||
return TableNameBraveTowerConfig
|
||||
}
|
||||
@@ -86,9 +96,8 @@ func New600TowerConfig() *Tower600Config {
|
||||
}
|
||||
}
|
||||
|
||||
// -------------------------- 表结构自动同步(初始化所有塔配置表)--------------------------
|
||||
func init() {
|
||||
// 依次创建所有塔配置表,保持原有自动同步逻辑
|
||||
cool.CreateTable(&Tower1Config{})
|
||||
cool.CreateTable(&Tower110Config{})
|
||||
cool.CreateTable(&Tower500Config{})
|
||||
cool.CreateTable(&Tower600Config{})
|
||||
|
||||
Reference in New Issue
Block a user