All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
feat(config): 添加事件配置和地图绑定功能 - 在BossConfig中添加MapID字段用于绑定地图ID和Event结构体 - 新增Event结构体包含精灵数组、触发时间、天气等事件相关字段 - 在MapPit中添加MapID字段用于绑定地图ID和Event结构体 - 为MapPit添加IsCapture字段标识是否可捕捉 - 更新NewBossConfig和NewMapPit构造函数初始化Event实例 - 注释掉MapNode中的NodeActiveScript字段 ```
47 lines
1.4 KiB
Go
47 lines
1.4 KiB
Go
package model
|
||
|
||
import (
|
||
"blazing/cool"
|
||
)
|
||
|
||
const (
|
||
TableNameBossConfig = "config_boss" // BOSS配置表(全量包含基础/奖励/护盾/捕捉/特效/世界野怪/地图费用/战斗通用逻辑)
|
||
)
|
||
|
||
// BossConfig BOSS配置模型(覆盖所有补充的配置项:GBTL/非VIP费用/首场景/战斗通用逻辑)
|
||
type BossConfig struct {
|
||
*cool.Model // 嵌入通用Model(包含ID/创建时间/更新时间等通用字段)
|
||
PetBaseConfig
|
||
//绑定地图地图ID
|
||
MapID []int32 `gorm:"type:int[];comment:'绑定地图地图ID'" json:"map_id"`
|
||
*Event
|
||
Script string `gorm:"size:1024;default:'';comment:'BOSS脚本'" json:"script"` //boss出招逻辑做成js脚本
|
||
// ISboss uint32 `gorm:"not null;default:0;comment:'是否是Boss'" json:"is_boss"`
|
||
|
||
// ISgift uint32 `gorm:"not null;default:0;comment:'是否是礼物'" json:"is_gif"`
|
||
}
|
||
|
||
// TableName 指定BossConfig对应的数据库表名
|
||
func (*BossConfig) TableName() string {
|
||
return TableNameBossConfig
|
||
}
|
||
|
||
// GroupName 指定表所属的分组(保持和怪物刷新表一致)
|
||
func (*BossConfig) GroupName() string {
|
||
return "default"
|
||
}
|
||
|
||
// NewBossConfig 创建一个新的BossConfig实例(初始化通用Model字段+所有默认值)
|
||
|
||
func NewBossConfig() *BossConfig {
|
||
return &BossConfig{
|
||
Model: cool.NewModel(),
|
||
Event: &Event{},
|
||
}
|
||
}
|
||
|
||
// init 程序启动时自动创建/同步boss_config表结构
|
||
func init() {
|
||
cool.CreateTable(&BossConfig{})
|
||
}
|