All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
feat(space): 添加地图模型配置支持并优化BOSS信息结构 添加MapModel字段到MapBossInfo结构体中,用于存储更完整的BOSS模型数据, 修改初始化逻辑从新的MapModel服务获取数据,并更新HP恢复逻辑使用新模型数据。 同时优化MapNode配置表结构,移除冗余字段并调整数据查询逻辑, 将IsBroadcast字段类型改为uint32以
58 lines
1.4 KiB
Go
58 lines
1.4 KiB
Go
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:'触发剧情ID(0表示无剧情)'" 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{})
|
||
}
|