上传装备添加多个叠加bug

This commit is contained in:
liwei1dao 2022-10-09 16:01:05 +08:00
parent 2a69fe0450
commit fa78695a20

View File

@ -78,35 +78,36 @@ func (this *modelEquipmentComp) QueryEquipmentAmount(uid string, equipmentId str
func (this *modelEquipmentComp) AddEquipments(session comm.IUserSession, cIds map[string]uint32) (change []*pb.DB_Equipment, err error) { func (this *modelEquipmentComp) AddEquipments(session comm.IUserSession, cIds map[string]uint32) (change []*pb.DB_Equipment, err error) {
var ( var (
configure *cfg.GameEquip configure *cfg.GameEquip
equipments []*pb.DB_Equipment // equipments []*pb.DB_Equipment
iskeep bool // iskeep bool
add map[string]*pb.DB_Equipment add map[string]*pb.DB_Equipment
update map[string]*pb.DB_Equipment // update map[string]*pb.DB_Equipment
uId string = session.GetUserId() uId string = session.GetUserId()
) )
if configure, err = this.module.configure.GetEquipmentConfigure(); err != nil { if configure, err = this.module.configure.GetEquipmentConfigure(); err != nil {
return return
} }
if equipments, err = this.QueryUserEquipments(uId); err != nil { // if equipments, err = this.QueryUserEquipments(uId); err != nil {
return // return
} // }
add = make(map[string]*pb.DB_Equipment) add = make(map[string]*pb.DB_Equipment)
update = make(map[string]*pb.DB_Equipment) // update = make(map[string]*pb.DB_Equipment)
change = make([]*pb.DB_Equipment, 0, len(equipments)) change = make([]*pb.DB_Equipment, 0, 10)
for k, v := range cIds { for k, v := range cIds {
iskeep = false // iskeep = false
for _, equipment := range equipments { // for _, equipment := range equipments {
if equipment.CId == k && equipment.IsInitialState { // if equipment.CId == k && equipment.IsInitialState {
update[equipment.Id] = equipment // update[equipment.Id] = equipment
change = append(change, equipment) // change = append(change, equipment)
equipment.OverlayNum += v // equipment.OverlayNum += v
iskeep = true // iskeep = true
break // break
} // }
} // }
if !iskeep { // if !iskeep {
if c, ok := configure.GetDataMap()[k]; ok { if c, ok := configure.GetDataMap()[k]; ok {
if equipment, err := this.newEquipment(uId, c, v); err != nil { for i := uint32(0); i < v; i++ {
if equipment, err := this.newEquipment(uId, c); err != nil {
return nil, err return nil, err
} else { } else {
//随机任务 //随机任务
@ -115,7 +116,9 @@ func (this *modelEquipmentComp) AddEquipments(session comm.IUserSession, cIds ma
change = append(change, equipment) change = append(change, equipment)
} }
} }
} }
// }
} }
if len(add) > 0 { if len(add) > 0 {
if err = this.AddLists(uId, add); err != nil { if err = this.AddLists(uId, add); err != nil {
@ -124,12 +127,12 @@ func (this *modelEquipmentComp) AddEquipments(session comm.IUserSession, cIds ma
} }
} }
for _, v := range update { // for _, v := range update {
if err = this.ChangeList(uId, v.Id, map[string]interface{}{"overlayNum": v.OverlayNum}); err != nil { // if err = this.ChangeList(uId, v.Id, map[string]interface{}{"overlayNum": v.OverlayNum}); err != nil {
log.Errorf("err:%v", err) // log.Errorf("err:%v", err)
return // return
} // }
} // }
return return
} }
@ -164,7 +167,7 @@ func (this *modelEquipmentComp) UpdateByHeroId(uid string, equipments ...*pb.DB_
} }
//创建新的武器对象 //创建新的武器对象
func (this *modelEquipmentComp) newEquipment(uid string, conf *cfg.GameEquipData, num uint32) (equipment *pb.DB_Equipment, err error) { func (this *modelEquipmentComp) newEquipment(uid string, conf *cfg.GameEquipData) (equipment *pb.DB_Equipment, err error) {
var ( var (
mattr []*cfg.GameEquipAttrlibraryData mattr []*cfg.GameEquipAttrlibraryData
sattr []*cfg.GameEquipAttrlibraryData sattr []*cfg.GameEquipAttrlibraryData
@ -176,7 +179,7 @@ func (this *modelEquipmentComp) newEquipment(uid string, conf *cfg.GameEquipData
CId: conf.Id, CId: conf.Id,
Lv: 1, Lv: 1,
UId: uid, UId: uid,
OverlayNum: num, OverlayNum: 1,
IsInitialState: false, IsInitialState: false,
AdverbEntry: make([]*pb.EquipmentAttributeEntry, 0), AdverbEntry: make([]*pb.EquipmentAttributeEntry, 0),
} }