Files
bl/modules/config/model/map_node.go
昔念 1b6586aedc
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
```
feat(space): 添加地图模型配置支持并优化BOSS信息结构

添加MapModel字段到MapBossInfo结构体中,用于存储更完整的BOSS模型数据,
修改初始化逻辑从新的MapModel服务获取数据,并更新HP恢复逻辑使用新模型数据。

同时优化MapNode配置表结构,移除冗余字段并调整数据查询逻辑,
将IsBroadcast字段类型改为uint32以
2026-04-01 06:27:03 +08:00

58 lines
1.4 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 (
TableNameMapNode = "config_map_node"
)
const (
MapNodeTypeBoss = 1
MapNodeTypeNPC = 2
MapNodeTypeScene = 3
MapNodeTypePortal = 4
)
// MapNode stores map node config used by the existing boss/node flow.
type MapNode struct {
*BaseConfig
*Event
MapID int32 `gorm:"not null;index;comment:'所属地图ID'" json:"map_id" description:"地图ID"`
NodeID uint32 `gorm:"not null;default:0;comment:'节点ID'" json:"node_id" description:"节点ID"`
NodeName string `gorm:"type:varchar(100);default:'';comment:'节点名称'" json:"node_name" description:"节点名称"`
WinBonusID int `gorm:"type:int;default:0;comment:'胜利奖励ID'" json:"win_bonus_id"`
FailBonusID int `gorm:"type:int;default:0;comment:'失败奖励ID'" json:"fail_bonus_id"`
IsBroadcast uint32 `gorm:"type:int;default:0;comment:'是否需要广播'" json:"is_broadcast"`
TriggerPlotID uint32 `gorm:"default:0;comment:'触发剧情ID0表示无剧情'" json:"trigger_plot_id" description:"触发剧情ID"`
BossIds []uint32 `gorm:"type:jsonb;comment:'塔层BOSS ID列表'" json:"boss_ids"`
}
func (*MapNode) TableName() string {
return TableNameMapNode
}
func (*MapNode) GroupName() string {
return "default"
}
func NewMapNode() *MapNode {
return &MapNode{
BaseConfig: NewBaseConfig(),
Event: &Event{},
}
}
func init() {
cool.CreateTable(&MapConfig{})
cool.CreateTable(&MapNode{})
}