Files
bl/modules/config/model/map_pit.go
xinian 9b344d3753
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
feat: 重构地图热度信息并添加地图提示功能
将地图热度信息从简单的计数器改为包含提示信息的结构体
添加矿物、BOSS、宠物和掉落等提示信息的收集功能
优化地图进入和离开时的计数逻辑
2026-03-01 10:44:31 +08:00

65 lines
2.2 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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"`
//首发精灵判断Event
FirstSprites []int32 `gorm:"type:int[];comment:'首发精灵判断'" json:"first_sprites"`
}
// MapPit 地图坑位核心配置模型参照MonsterRefresh实现风格
type MapPit struct {
*BaseConfig
*Event
// 复用通用基础配置ID/创建时间/更新时间等)
MapID int32 `gorm:"not null;index;comment:'所属地图ID'" json:"map_id" description:"地图ID"`
RefreshID []uint32 `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{})
}