// Code generated by xlsx2proto. // DO NOT EDIT! package code import ( "google.golang.org/protobuf/proto" "mongo.games.com/public/protocol/server" ) var PBDB_RankRewardMgr = &DB_RankRewardMgr{pool: make(map[int32]*server.DB_RankReward), Datas: &server.DB_RankRewardArray{}} type DB_RankRewardMgr struct { Datas *server.DB_RankRewardArray pool map[int32]*server.DB_RankReward } func (this *DB_RankRewardMgr) unmarshal(data []byte) error { err := proto.Unmarshal(data, this.Datas) if err == nil { this.arrangeData() } return err } func (this *DB_RankRewardMgr) reunmarshal(data []byte) error { newDatas := &server.DB_RankRewardArray{} 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_RankRewardMgr) 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_RankRewardMgr) GetData(id int32) *server.DB_RankReward { if data, ok := this.pool[id]; ok { return data } return nil } func init() { DataMgr.RegisteLoader("DB_RankReward.dat", &ProtobufDataLoader{dh: PBDB_RankRewardMgr}) }