Files
bl/modules/config/model/tower_110.go

100 lines
2.7 KiB
Go
Raw Normal View History

package model
import (
"blazing/cool"
)
// -------------------------- 表名常量定义(统一管理所有塔配置表名)--------------------------
const (
TableNamedARKTowerConfig = "config_tower_110" // 勇者之塔110配置表
TableNameTrialTowerConfig = "config_tower_500" // 试炼之塔500配置表
TableNameBraveTowerConfig = "config_tower_600" // 勇者之塔600配置表
)
// -------------------------- 核心基类:所有塔配置的通用结构 --------------------------
type BaseTowerConfig struct {
2026-02-13 22:57:05 +08:00
*BaseConfig
2026-02-23 15:08:20 +08:00
TowerLevel uint32 `gorm:"not null;default:0;uniqueIndex;comment:'塔层数(唯一标识每层配置)'" json:"tower_level" description:"塔层数"`
2026-02-23 15:06:45 +08:00
BossIds []uint32 `gorm:"not null;type:jsonb;default:'[]';comment:'绑定BOSS ID数组关联config_pet_boss表主键'" json:"boss_ids" description:"绑定BOSS数组"`
}
// NewBaseTowerConfig 创建基础塔配置实例(所有塔类型共用)
2026-02-13 22:57:05 +08:00
func NewBaseTowerConfig() *BaseTowerConfig {
return &BaseTowerConfig{
BaseConfig: NewBaseConfig(),
}
}
// -------------------------- 各塔类型专属配置模型(无额外字段,仅绑定不同表名)--------------------------
// Tower110Config 勇者之塔110配置模型
type Tower110Config struct {
2026-02-13 22:57:05 +08:00
*BaseTowerConfig
}
// Tower500Config 试炼之塔500配置模型
type Tower500Config struct {
2026-02-13 22:57:05 +08:00
*BaseTowerConfig
}
// Tower600Config 勇者之塔600配置模型
type Tower600Config struct {
2026-02-13 22:57:05 +08:00
*BaseTowerConfig
}
// -------------------------- 各塔模型的核心配套方法(统一规范)--------------------------
// ===== Tower110Config 专属方法 =====
func (*Tower110Config) TableName() string {
return TableNamedARKTowerConfig
}
func (*Tower110Config) GroupName() string {
return "default"
}
func New110TowerConfig() *Tower110Config {
return &Tower110Config{
BaseTowerConfig: NewBaseTowerConfig(),
}
}
// ===== Tower500Config 专属方法 =====
func (*Tower500Config) TableName() string {
return TableNameTrialTowerConfig
}
func (*Tower500Config) GroupName() string {
return "default"
}
func New500TowerConfig() *Tower500Config {
return &Tower500Config{
BaseTowerConfig: NewBaseTowerConfig(),
}
}
// ===== Tower600Config 专属方法 =====
func (*Tower600Config) TableName() string {
return TableNameBraveTowerConfig
}
func (*Tower600Config) GroupName() string {
return "default"
}
func New600TowerConfig() *Tower600Config {
return &Tower600Config{
BaseTowerConfig: NewBaseTowerConfig(),
}
}
// -------------------------- 表结构自动同步(初始化所有塔配置表)--------------------------
func init() {
// 依次创建所有塔配置表,保持原有自动同步逻辑
cool.CreateTable(&Tower110Config{})
cool.CreateTable(&Tower500Config{})
cool.CreateTable(&Tower600Config{})
}