Files
bl/modules/player/model/room.go
昔念 a6386daad8
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
1
2026-04-22 00:39:41 +08:00

65 lines
1.8 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 TableNameBaseHouse = "player_room_house"
// NewBaseHouse 构造函数:创建基地房型实例
func NewBaseHouse() *BaseHouse {
return &BaseHouse{
Base: *NewBase(),
}
}
// BaseHouse 基地房型核心结构体
// 包含:基地展示精灵、基地拥有物品、基地摆放物品三大核心字段
type BaseHouse struct {
Base
// 基础关联字段
PlayerID uint64 `gorm:"not null;index:idx_player_house;comment:'所属玩家ID'" json:"player_id"`
// // 核心业务字段
// // ShowPokemon 基地展示精灵ID列表支持展示多个精灵
// ShowPokemon []uint32 `gorm:"type:jsonb;default:'[]';comment:'基地展示精灵ID列表'" json:"show_pokemon"`
UsedItems string `gorm:"type:jsonb;default:'{}';comment:'用户物品列表物品ID:数量)'" json:"used_items"`
// PlacedItems 基地摆放物品包含物品ID、摆放坐标、朝向等信息
PlacedItems string `gorm:"type:jsonb;default:'[]';comment:'基地摆放物品列表(含位置/朝向)'" json:"placed_items"`
}
func (*BaseHouse) TableName() string {
return TableNameBaseHouse
}
type BaseHouseEx struct {
BaseHouse
PlacedItems []FitmentShowInfo `json:"placed_items"`
//OwnedItems map[uint32]uint32 `json:"owned_items"`
UsedItems map[uint32]uint32 `json:"used_items"`
}
// FitmentShowInfo 表示家具展示信息
type FitmentShowInfo struct {
// 家具id 或 默认房型id: 500001
Id uint32 `json:"id"`
// x坐标
X uint32 `json:"x"`
// y坐标
Y uint32 `json:"y"`
// 默认0
Dir uint32 `json:"dir"`
// 默认0
Status uint32 `json:"status"`
}
// --------------- 初始化创建表 ---------------
func init() {
// 初始化时创建基地房型表与现有Talk表初始化逻辑一致
cool.CreateTable(&BaseHouse{})
}