|
|
@@ -841,7 +841,35 @@ func (this *RoleCard) GetCardCollect(ackMsg *serverproto.SCCardCollectInfoAck) {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
-func (this *RoleCard) GetCollectReward(cardId, level int32, ackMsg *serverproto.SCCardCollectRewardAck) serverproto.ErrorCode {
|
|
|
+func (this *RoleCard) GetCollectReward(cardId, level int32, getAll bool, ackMsg *serverproto.SCCardCollectRewardAck) serverproto.ErrorCode {
|
|
|
+ if getAll {
|
|
|
+ var cardData []*serverproto.KeyValueType
|
|
|
+ for _, v := range this.cardCollect {
|
|
|
+ for _, data := range v.CardBook {
|
|
|
+ if (data.RewardRec & (1 << uint32(level-1))) > 0 {
|
|
|
+ return serverproto.ErrorCode_ERROR_CARD_COLLECT_REWEARD_FALSE
|
|
|
+ }
|
|
|
+ //给道具奖励
|
|
|
+ bRet := this.AddCardCollectReward(data.CardId, data.CardLevel, ackMsg)
|
|
|
+ if bRet != serverproto.ErrorCode_ERROR_OK {
|
|
|
+ return bRet
|
|
|
+ }
|
|
|
+ data.RewardRec |= 1 << uint32(level-1)
|
|
|
+ this.SetDirty(true)
|
|
|
+ cardCfg, ok := serverproto.CardIdentificationLoader[data.CardId]
|
|
|
+ if !ok {
|
|
|
+ return serverproto.ErrorCode_ERROR_CARD_CONFIG_NOT_FOUND
|
|
|
+ }
|
|
|
+
|
|
|
+ cardData = append(cardData, &serverproto.KeyValueType{
|
|
|
+ Key: data.CardId,
|
|
|
+ Value: cardCfg.CardQuality,
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.CardCollectChangeNtf(cardData)
|
|
|
+ return serverproto.ErrorCode_ERROR_OK
|
|
|
+ }
|
|
|
if level > 5 || level < 1 {
|
|
|
return serverproto.ErrorCode_ERROR_FAIL
|
|
|
}
|