game_sync/srvdata/db_legend_weightcondition.go

78 lines
1.6 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_Legend_WeightConditionMgr = &DB_Legend_WeightConditionMgr{
Datas: &server.DB_Legend_WeightConditionArray{},
pool: make(map[int32]*server.DB_Legend_WeightCondition),
}
type DB_Legend_WeightConditionMgr struct {
Datas *server.DB_Legend_WeightConditionArray
pool map[int32]*server.DB_Legend_WeightCondition
}
func (this *DB_Legend_WeightConditionMgr) unmarshal(data []byte) error {
err := proto.Unmarshal(data, this.Datas)
if err == nil {
this.arrangeData()
}
return err
}
func (this *DB_Legend_WeightConditionMgr) reunmarshal(data []byte) error {
newDatas := &server.DB_Legend_WeightConditionArray{}
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_Legend_WeightConditionMgr) 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_Legend_WeightConditionMgr) GetData(id int32) *server.DB_Legend_WeightCondition {
if data, ok := this.pool[id]; ok {
return data
}
return nil
}
func init() {
DataMgr.register("DB_Legend_WeightCondition.dat", &ProtobufDataLoader{dh: PBDB_Legend_WeightConditionMgr})
}