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

49 lines
1.6 KiB
Go
Raw Normal View History

package model
import (
"blazing/cool"
)
const (
TableNameMapBoss = "config_map_boss" // 地图BOSS配置表记录BOSS归属、属性、刷新规则、奖励等
)
// MapBoss 地图BOSS核心配置模型完全仿照MapPit实现风格
type MapBoss struct {
*BaseConfig // 复用通用基础配置ID/创建时间/更新时间/删除时间/备注等)
*Event // 嵌入BOSS事件配置
MapID int32 `gorm:"not null;index;comment:'所属地图ID'" json:"map_id" description:"地图ID"`
// BOSS唯一标识ID
BossID int `gorm:"not null;index;comment:'BOSSID'" json:"boss_id"`
BossName string `gorm:"type:varchar(100);default:'';comment:'BOSS名称'" json:"boss_name" description:"BOSS名称"`
BossMonID []int `gorm:"type:int[];comment:'BOSS怪ID列表'" json:"boss_mon_id"`
WinBonusID []int `gorm:"type:int[];comment:'胜利奖励ID'" json:"win_bonus_id"`
FailBonusID []int `gorm:"type:int[];comment:'失败奖励ID'" json:"fail_bonus_id"`
//是否可捕捉MapPit
IsCapture int `gorm:"type:int;default:0;comment:'是否可捕捉'" json:"is_capture"`
}
// TableName 指定MapBoss对应的数据库表名遵循原模型规范
func (*MapBoss) TableName() string {
return TableNameMapBoss
}
// GroupName 指定表所属的分组保持和MapPit一致
func (*MapBoss) GroupName() string {
return "default"
}
// NewMapBoss 创建一个新的MapBoss实例初始化通用BaseConfig和BossEvent
func NewMapBoss() *MapBoss {
return &MapBoss{
BaseConfig: NewBaseConfig(),
Event: &Event{},
}
}
// init 初始化表结构(程序启动时自动创建/同步表)
func init() {
cool.CreateTable(&MapBoss{})
}