From f511e046a59f976e95b5760398ecd8eb613000bc Mon Sep 17 00:00:00 2001 From: meixiongfeng <766881921@qq.com> Date: Thu, 9 Mar 2023 10:29:19 +0800 Subject: [PATCH] =?UTF-8?q?=E9=85=8D=E7=BD=AE=E8=A7=A3=E6=9E=90=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/equipment/configure.go | 6 ++++-- sys/configure/structs/game.equipAttrlibrary.go | 18 ++++++++++++------ 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/modules/equipment/configure.go b/modules/equipment/configure.go index 18755cbf5..e096f971d 100644 --- a/modules/equipment/configure.go +++ b/modules/equipment/configure.go @@ -154,13 +154,15 @@ func (this *configureComp) GetEquipmentAttrlibraryConfigure() (configure *cfg.Ga //获取属性词列表 func (this *configureComp) GetEquipmentAttrlibraryConfigureByKey(key int32) (configure *cfg.GameEquipAttrlibraryData, err error) { var ( - v interface{} + v interface{} + ok bool ) if v, err = this.GetConfigure(equip_attrlibrary); err != nil { this.module.Errorf("err:%v", err) return } 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) this.module.Errorf("err:%v", err) return diff --git a/sys/configure/structs/game.equipAttrlibrary.go b/sys/configure/structs/game.equipAttrlibrary.go index b91463458..968f74f27 100644 --- a/sys/configure/structs/game.equipAttrlibrary.go +++ b/sys/configure/structs/game.equipAttrlibrary.go @@ -9,26 +9,32 @@ package cfg type GameEquipAttrlibrary struct { - _dataList []*GameEquipAttrlibraryData + _dataMap map[int32]*GameEquipAttrlibraryData + _dataList []*GameEquipAttrlibraryData } func NewGameEquipAttrlibrary(_buf []map[string]interface{}) (*GameEquipAttrlibrary, error) { _dataList := make([]*GameEquipAttrlibraryData, 0, len(_buf)) + dataMap := make(map[int32]*GameEquipAttrlibraryData) for _, _ele_ := range _buf { if _v, err2 := DeserializeGameEquipAttrlibraryData(_ele_); err2 != nil { return nil, err2 } else { _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 { - return table._dataList + return table._dataList } -func (table *GameEquipAttrlibrary) Get(index int) *GameEquipAttrlibraryData { - return table._dataList[index] +func (table *GameEquipAttrlibrary) Get(key int32) *GameEquipAttrlibraryData { + return table._dataMap[key] } -