pet_home_server/src/server/conf/avatar/avatar_cfg.go

67 lines
1.1 KiB
Go

package avatarCfg
import (
"math/rand"
"server/gamedata"
"server/pkg/github.com/name5566/leaf/log"
"strconv"
)
const (
CFG_AVATAR = "Avatar"
)
func init() {
gamedata.InitCfg(CFG_AVATAR)
}
func GetInitList() []int {
data, err := gamedata.GetData(CFG_AVATAR)
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 {
k, _ := strconv.Atoi(k)
r = append(r, k)
}
}
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_AVATAR)
if err != nil {
log.Debug("CheckExist err: %v", err)
return false
}
_, ok := data[strconv.Itoa(Id)]
return ok
}
func GetAllId() []int {
data, err := gamedata.GetData(CFG_AVATAR)
if err != nil {
log.Debug("GetAllId err: %v", err)
return nil
}
r := make([]int, 0, len(data))
for k := range data {
Id, _ := strconv.Atoi(k)
r = append(r, Id)
}
return r
}