lt 3 недель назад
Родитель
Сommit
f38fe018ef

+ 29 - 1
RO_Server_Trunk-branch_0.1.39/roserver/game/model/role_card.go

@@ -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
 	}

+ 1 - 0
RO_Server_Trunk-branch_0.1.39/roserver/serverproto/login.proto

@@ -679,6 +679,7 @@ message SCCardCollectInfoAck {
 message CSCardCollectRewardReq {  //project game    //RouteRule game
     int32       card_id             = 1;
     int32       level               = 2;
+    bool        get_all                 = 3; //是否领取全部奖励
 }
 message SCCardCollectRewardAck {
     int32    error                         = 1;

+ 1 - 1
RO_Server_Trunk-branch_0.1.39/roserver/test/main.go

@@ -41,7 +41,7 @@ func (this *a1) GetBase() *abase {
 }
 
 func main() {
-	testModel.GetUidListFromRedis2()
+	testModel.ConvertOldRedis()
 	//testModel.ConvertOldRedis()
 	return