2026-02-22 07:51:37 +08:00
|
|
|
|
package model
|
|
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
|
"blazing/cool"
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
const (
|
|
|
|
|
|
TableNameMapPit = "config_map_pit" // 地图坑位配置表(记录坑位归属、类型、属性、关联刷新规则等)
|
|
|
|
|
|
)
|
|
|
|
|
|
|
2026-02-22 10:03:46 +08:00
|
|
|
|
type Event struct {
|
|
|
|
|
|
//携带精灵数组Event
|
|
|
|
|
|
Sprites []int32 `gorm:"type:int[];comment:'携带精灵数组'" json:"sprites"`
|
|
|
|
|
|
//触发开始时间Event
|
2026-02-24 12:53:07 +08:00
|
|
|
|
StartTime string `gorm:"type:varchar(100);default:'';comment:'触发开始时间'" json:"start_time"`
|
2026-02-22 10:03:46 +08:00
|
|
|
|
//触发结束时间Event
|
2026-02-24 12:53:07 +08:00
|
|
|
|
EndTime string `gorm:"type:varchar(100);default:'';comment:'触发结束时间'" json:"end_time"`
|
2026-02-22 10:03:46 +08:00
|
|
|
|
//触发天气Event
|
|
|
|
|
|
Weather []int32 `gorm:"type:int[];comment:'触发天气'" json:"weather"`
|
2026-02-25 21:16:36 +08:00
|
|
|
|
//触发的星期Event
|
|
|
|
|
|
Week []int32 `gorm:"type:int[];comment:'触发的星期'" json:"week"`
|
2026-02-27 23:13:50 +08:00
|
|
|
|
//首发精灵判断Event
|
|
|
|
|
|
FirstSprites []int32 `gorm:"type:int[];comment:'首发精灵判断'" json:"first_sprites"`
|
2026-03-06 23:49:20 +08:00
|
|
|
|
MustTask []int32 `gorm:"type:int[];comment:'必须任务'" json:"must_task"`
|
2026-03-07 10:40:04 +08:00
|
|
|
|
MustItem []int32 `gorm:"type:int[];comment:'必须道具'" json:"must_item"`
|
2026-02-22 10:03:46 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2026-02-22 07:51:37 +08:00
|
|
|
|
// MapPit 地图坑位核心配置模型(参照MonsterRefresh实现风格)
|
|
|
|
|
|
type MapPit struct {
|
2026-02-24 14:11:01 +08:00
|
|
|
|
*BaseConfig
|
2026-02-22 10:03:46 +08:00
|
|
|
|
*Event
|
2026-02-24 14:11:01 +08:00
|
|
|
|
// 复用通用基础配置(ID/创建时间/更新时间等)
|
2026-02-24 19:20:38 +08:00
|
|
|
|
MapID int32 `gorm:"not null;index;comment:'所属地图ID'" json:"map_id" description:"地图ID"`
|
2026-02-22 07:51:37 +08:00
|
|
|
|
|
2026-03-01 10:44:31 +08:00
|
|
|
|
RefreshID []uint32 `gorm:"type:int[];comment:'精灵ID列表'" json:"refresh_id"`
|
2026-03-06 23:49:20 +08:00
|
|
|
|
Pos []int `gorm:"type:int[];comment:'坑位位置'" json:"pos"`
|
2026-02-22 07:51:37 +08:00
|
|
|
|
//最小等级
|
2026-02-26 22:32:15 +08:00
|
|
|
|
MinLevel int `gorm:"type:int;not null;default:1;comment:'最小等级'" json:"min_level"`
|
2026-02-22 07:51:37 +08:00
|
|
|
|
//最大等级
|
2026-03-06 23:49:20 +08:00
|
|
|
|
MaxLevel int `gorm:"type:int;not null;default:1;comment:'最大等级'" json:"max_level"`
|
|
|
|
|
|
DropItemIds []uint32 `gorm:"type:int[];comment:'掉落物IDs" json:"drop_item_ids"`
|
2026-02-22 10:03:46 +08:00
|
|
|
|
//是否可捕捉MapPit
|
|
|
|
|
|
IsCapture int `gorm:"type:int;default:0;comment:'是否可捕捉'" json:"is_capture"`
|
2026-02-22 07:51:37 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// TableName 指定MapPit对应的数据库表名(遵循原模型规范)
|
|
|
|
|
|
func (*MapPit) TableName() string {
|
|
|
|
|
|
return TableNameMapPit
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// GroupName 指定表所属的分组(保持和原模型一致)
|
|
|
|
|
|
func (*MapPit) GroupName() string {
|
|
|
|
|
|
return "default"
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// NewMapPit 创建一个新的MapPit实例(初始化通用BaseConfig)
|
|
|
|
|
|
func NewMapPit() *MapPit {
|
|
|
|
|
|
return &MapPit{
|
2026-02-24 14:11:01 +08:00
|
|
|
|
BaseConfig: NewBaseConfig(),
|
|
|
|
|
|
Event: &Event{},
|
2026-02-22 07:51:37 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// init 初始化表结构(程序启动时自动创建/同步表)
|
|
|
|
|
|
func init() {
|
|
|
|
|
|
cool.CreateTable(&MapPit{})
|
|
|
|
|
|
}
|