上传装备添加多个叠加bug
This commit is contained in:
parent
2a69fe0450
commit
fa78695a20
@ -77,36 +77,37 @@ 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),
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user