配置解析调整

This commit is contained in:
meixiongfeng 2023-03-09 10:29:19 +08:00
parent d2f188911d
commit f511e046a5
2 changed files with 16 additions and 8 deletions

View File

@ -154,13 +154,15 @@ func (this *configureComp) GetEquipmentAttrlibraryConfigure() (configure *cfg.Ga
//获取属性词列表 //获取属性词列表
func (this *configureComp) GetEquipmentAttrlibraryConfigureByKey(key int32) (configure *cfg.GameEquipAttrlibraryData, err error) { func (this *configureComp) GetEquipmentAttrlibraryConfigureByKey(key int32) (configure *cfg.GameEquipAttrlibraryData, err error) {
var ( var (
v interface{} v interface{}
ok bool
) )
if v, err = this.GetConfigure(equip_attrlibrary); err != nil { if v, err = this.GetConfigure(equip_attrlibrary); err != nil {
this.module.Errorf("err:%v", err) this.module.Errorf("err:%v", err)
return return
} else { } else {
if configure = v.(*cfg.GameEquipAttrlibrary).Get(int(key)); configure == nil { if configure, ok = v.(*cfg.GameEquipAttrlibrary).GetDataMap()[key]; !ok {
err = fmt.Errorf("EquipmentConfigure GetEquipmentAttrlibraryConfigureByKey not found:%d ", key) err = fmt.Errorf("EquipmentConfigure GetEquipmentAttrlibraryConfigureByKey not found:%d ", key)
this.module.Errorf("err:%v", err) this.module.Errorf("err:%v", err)
return return

View File

@ -9,26 +9,32 @@
package cfg package cfg
type GameEquipAttrlibrary struct { type GameEquipAttrlibrary struct {
_dataList []*GameEquipAttrlibraryData _dataMap map[int32]*GameEquipAttrlibraryData
_dataList []*GameEquipAttrlibraryData
} }
func NewGameEquipAttrlibrary(_buf []map[string]interface{}) (*GameEquipAttrlibrary, error) { func NewGameEquipAttrlibrary(_buf []map[string]interface{}) (*GameEquipAttrlibrary, error) {
_dataList := make([]*GameEquipAttrlibraryData, 0, len(_buf)) _dataList := make([]*GameEquipAttrlibraryData, 0, len(_buf))
dataMap := make(map[int32]*GameEquipAttrlibraryData)
for _, _ele_ := range _buf { for _, _ele_ := range _buf {
if _v, err2 := DeserializeGameEquipAttrlibraryData(_ele_); err2 != nil { if _v, err2 := DeserializeGameEquipAttrlibraryData(_ele_); err2 != nil {
return nil, err2 return nil, err2
} else { } else {
_dataList = append(_dataList, _v) _dataList = append(_dataList, _v)
dataMap[_v.Key] = _v
} }
} }
return &GameEquipAttrlibrary{_dataList:_dataList}, nil return &GameEquipAttrlibrary{_dataList: _dataList, _dataMap: dataMap}, nil
}
func (table *GameEquipAttrlibrary) GetDataMap() map[int32]*GameEquipAttrlibraryData {
return table._dataMap
} }
func (table *GameEquipAttrlibrary) GetDataList() []*GameEquipAttrlibraryData { func (table *GameEquipAttrlibrary) GetDataList() []*GameEquipAttrlibraryData {
return table._dataList return table._dataList
} }
func (table *GameEquipAttrlibrary) Get(index int) *GameEquipAttrlibraryData { func (table *GameEquipAttrlibrary) Get(key int32) *GameEquipAttrlibraryData {
return table._dataList[index] return table._dataMap[key]
} }