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:'广播模型ID(0表示不广播)'" json:"is_broadcast"` IsGroupBoss uint32 `gorm:"type:int;default:0;comment:'是否为组队Boss(0否1是)'" json:"is_group_boss" description:"是否为组队Boss"` 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{}) }