package model import ( "blazing/cool" ) const ( TableNameMapPit = "config_map_pit" // 地图坑位配置表(记录坑位归属、类型、属性、关联刷新规则等) ) type Event struct { //携带精灵数组Event Sprites []int32 `gorm:"type:int[];comment:'携带精灵数组'" json:"sprites"` //触发开始时间Event StartTime string `gorm:"type:varchar(100);default:'';comment:'触发开始时间'" json:"start_time"` //触发结束时间Event EndTime string `gorm:"type:varchar(100);default:'';comment:'触发结束时间'" json:"end_time"` //触发天气Event Weather []int32 `gorm:"type:int[];comment:'触发天气'" json:"weather"` //触发的星期Event Week []int32 `gorm:"type:int[];comment:'触发的星期'" json:"week"` } // MapPit 地图坑位核心配置模型(参照MonsterRefresh实现风格) type MapPit struct { *BaseConfig *Event // 复用通用基础配置(ID/创建时间/更新时间等) MapID int32 `gorm:"not null;index;comment:'所属地图ID'" json:"map_id" description:"地图ID"` RefreshID []int `gorm:"type:int[];comment:'精灵ID列表'" json:"refresh_id"` Pos []int `gorm:"type:int[];comment:'坑位位置'" json:"pos"` //最小等级 MinLevel int `gorm:"type:int;not null;default:1;comment:'最小等级'" json:"min_level"` //最大等级 MaxLevel int `gorm:"type:int;not null;default:1;comment:'最大等级'" json:"max_level"` //是否可捕捉MapPit IsCapture int `gorm:"type:int;default:0;comment:'是否可捕捉'" json:"is_capture"` } // TableName 指定MapPit对应的数据库表名(遵循原模型规范) func (*MapPit) TableName() string { return TableNameMapPit } // GroupName 指定表所属的分组(保持和原模型一致) func (*MapPit) GroupName() string { return "default" } // NewMapPit 创建一个新的MapPit实例(初始化通用BaseConfig) func NewMapPit() *MapPit { return &MapPit{ BaseConfig: NewBaseConfig(), Event: &Event{}, } } // init 初始化表结构(程序启动时自动创建/同步表) func init() { cool.CreateTable(&MapPit{}) }