70 lines
1.3 KiB
Go
70 lines
1.3 KiB
Go
|
|
// Code generated by xlsx2proto.
|
|
// DO NOT EDIT!
|
|
|
|
package srvdata
|
|
|
|
import (
|
|
"google.golang.org/protobuf/proto"
|
|
|
|
"mongo.games.com/game/protocol/server"
|
|
)
|
|
|
|
var PBDB_VIPMgr = &DB_VIPMgr{pool: make(map[int32]*server.DB_VIP), Datas: &server.DB_VIPArray{}}
|
|
|
|
type DB_VIPMgr struct {
|
|
Datas *server.DB_VIPArray
|
|
pool map[int32]*server.DB_VIP
|
|
}
|
|
|
|
func (this *DB_VIPMgr) unmarshal(data []byte) error {
|
|
err := proto.Unmarshal(data, this.Datas)
|
|
if err == nil {
|
|
this.arrangeData()
|
|
}
|
|
return err
|
|
}
|
|
|
|
func (this *DB_VIPMgr) reunmarshal(data []byte) error {
|
|
newDatas := &server.DB_VIPArray{}
|
|
err := proto.Unmarshal(data, newDatas)
|
|
if err == nil {
|
|
for _, item := range newDatas.Arr {
|
|
existItem := this.GetData(item.GetId())
|
|
if existItem == nil {
|
|
this.pool[item.GetId()] = item
|
|
this.Datas.Arr = append(this.Datas.Arr, item)
|
|
} else {
|
|
*existItem = *item
|
|
}
|
|
}
|
|
}
|
|
return err
|
|
}
|
|
|
|
func (this *DB_VIPMgr) arrangeData() {
|
|
if this.Datas == nil {
|
|
return
|
|
}
|
|
|
|
dataArr := this.Datas.GetArr()
|
|
if dataArr == nil {
|
|
return
|
|
}
|
|
|
|
for _, data := range dataArr {
|
|
this.pool[data.GetId()] = data
|
|
}
|
|
}
|
|
|
|
func (this *DB_VIPMgr) GetData(id int32) *server.DB_VIP {
|
|
if data, ok := this.pool[id]; ok {
|
|
return data
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func init() {
|
|
DataMgr.RegisteLoader("DB_VIP.dat", &ProtobufDataLoader{dh: PBDB_VIPMgr})
|
|
}
|