71 lines
1.6 KiB
Go
71 lines
1.6 KiB
Go
package srvdata
|
|
|
|
import "encoding/json"
|
|
|
|
func init() {
|
|
DataMgr.RegisterLoader("DB_ClientVer.dat", ClientVersSingeton)
|
|
}
|
|
|
|
type ClientVer struct {
|
|
MinApkVer int32
|
|
LatestApkVer int32
|
|
MinResVer int32
|
|
LatestResVer int32
|
|
}
|
|
|
|
var ClientVersSingeton = &ClientVers{
|
|
packVers: make(map[string]map[string]ClientVer),
|
|
gameVers: make(map[string]map[string]ClientVer),
|
|
}
|
|
|
|
type ClientVers struct {
|
|
packVers map[string]map[string]ClientVer
|
|
gameVers map[string]map[string]ClientVer
|
|
}
|
|
|
|
func (c *ClientVers) Load(fileFullPath string) error {
|
|
updateClientVers()
|
|
return nil
|
|
}
|
|
|
|
func (c *ClientVers) Reload(fileFullPath string) error {
|
|
updateClientVers()
|
|
return nil
|
|
}
|
|
|
|
func updateClientVers() error {
|
|
packVers := make(map[string]map[string]ClientVer)
|
|
gameVers := make(map[string]map[string]ClientVer)
|
|
for _, clientVer := range PBDB_ClientVerMgr.Datas.Arr {
|
|
packVerStr := clientVer.GetPackVers()
|
|
ver := make(map[string]ClientVer)
|
|
err := json.Unmarshal([]byte(packVerStr), &ver)
|
|
if err == nil {
|
|
packVers[clientVer.GetPackageFlag()] = ver
|
|
}
|
|
gameVerStr := clientVer.GetGameVers()
|
|
ver = make(map[string]ClientVer)
|
|
err = json.Unmarshal([]byte(gameVerStr), &ver)
|
|
if err == nil {
|
|
gameVers[clientVer.GetPackageFlag()] = ver
|
|
}
|
|
}
|
|
ClientVersSingeton.packVers = packVers
|
|
ClientVersSingeton.gameVers = gameVers
|
|
return nil
|
|
}
|
|
|
|
func GetPackVers(platformTag string) map[string]ClientVer {
|
|
if vers, exist := ClientVersSingeton.packVers[platformTag]; exist {
|
|
return vers
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func GetGameVers(platformTag string) map[string]ClientVer {
|
|
if vers, exist := ClientVersSingeton.gameVers[platformTag]; exist {
|
|
return vers
|
|
}
|
|
return nil
|
|
}
|