pet_home_server/src/server/conf/face/face_cfg.go
2026-04-01 10:21:16 +08:00

76 lines
1.3 KiB
Go

package faceCfg
import (
"math/rand"
"server/gamedata"
"strconv"
"gitea.bywaystudios.com/pet_home/leaf/log"
)
const (
CFG_FACE = "Face"
)
func init() {
gamedata.InitCfg(CFG_FACE)
}
func GetInitList() []int {
data, err := gamedata.GetData(CFG_FACE)
if err != nil {
log.Debug("GetInitList err:%v", err)
return nil
}
r := make([]int, 0, len(data))
for k, v := range data {
IsInit := gamedata.GetIntValue(v, "Init")
if IsInit == 1 {
id, err := strconv.Atoi(k)
if err != nil {
log.Debug("GetInitList parse id err:%v, key=%s", err, k)
continue
}
r = append(r, id)
}
}
return r
}
func GetRandInitId() int {
list := GetInitList()
if len(list) == 0 {
return 0
}
index := rand.Intn(len(list))
return list[index]
}
func CheckExist(Id int) bool {
data, err := gamedata.GetData(CFG_FACE)
if err != nil {
log.Debug("CheckExist err:%v, Id=%d", err, Id)
return false
}
_, ok := data[strconv.Itoa(Id)]
return ok
}
func GetAllId() []int {
data, err := gamedata.GetData(CFG_FACE)
if err != nil {
log.Debug("GetAllId err:%v", err)
return nil
}
r := make([]int, 0, len(data))
for k := range data {
Id, err := strconv.Atoi(k)
if err != nil {
log.Debug("GetAllId parse id err:%v, key=%s", err, k)
continue
}
r = append(r, Id)
}
return r
}