package data import ( "f1-game/internal/constant" "math/rand/v2" ) var enabledNodeMap map[string][]*NodeRow func (p *nodeConfig) OnAfterLoad(_ bool) { loadMap := map[string][]*NodeRow{} for _, row := range p.list { if row.Enable { loadMap[row.NodeType] = append(loadMap[row.NodeType], row) } } enabledNodeMap = loadMap } func (p *nodeConfig) GetMapNodeID() (string, bool) { rows, ok := enabledNodeMap[constant.NodeMap] if !ok { return "", false } rowSize := len(rows) if rowSize == 0 { return "", false } if len(rows) == 1 { return rows[0].NodeID, true } row := rows[rand.IntN(len(rows))] return row.NodeID, true }