local DdzGameResult = class("DdzGameResult", cc.UIView) local DdzSoundHelper = require("pk_zgwrddz.luaScript.Views.Room.zgwrDdzSoundHelper"):new() function DdzGameResult:ctor( o ,soundFlag) self._data = o self.soundFlag = soundFlag local ui = loadUI("pk_zgwrddz/res/ui/ui_room/ui_wrddz_xiaoju.ui") self.ui = ui self:addChild(ui) self:initUi() self:showPlayers() self:showRightInfo() end function DdzGameResult:initUi() self.ui.Items.ImageView_1:setVisible(false) self.ui.Items.ImageView_2:setVisible(false) self.ui.Items.Layout_mult_detail:setVisible(false) self.playerItem = {} for i = 1 ,5 do local player = string.format("Layout_player_%d",i) local winbg = string.format("ImageView_winbg_%d",i) local sprDiZhu = string.format("ImageView_dizhu_%d",i) local sprAnDiZhu = string.format("ImageView_andizhu_%d",i) local imgHead = string.format("imgHead_%d",i) local name = string.format("Text_name_%d",i) local turnscore = string.format("Text_turn_score_%d",i) local totalscore = string.format("Text_total_score_%d",i) local mult = string.format("ImageView_mult_%d",i) if self.ui.Items[player] then self.playerItem[i] = self.ui.Items[player] self.playerItem[i]:setVisible(false) self.playerItem[i].winbg = self.ui.Items[winbg] self.playerItem[i].sprDiZhu = self.ui.Items[sprDiZhu] self.playerItem[i].sprAnDiZhu = self.ui.Items[sprAnDiZhu] self.playerItem[i].imgHead = self.ui.Items[imgHead] self.playerItem[i].name = self.ui.Items[name] self.playerItem[i].turnscore = self.ui.Items[turnscore] self.playerItem[i].totalscore = self.ui.Items[totalscore] self.playerItem[i].mult = self.ui.Items[mult] end end self.ui.Items.btnChaPai:registerClick(handler(self , self.onClickChaPai)) self.ui.Items.btnContinue:registerClick(handler(self , self.onClickContinue)) self.txtRoomID = self.ui.Items.txtRoomID self.txtRoundNum = self.ui.Items.txtRoundNum self.btnSure = self.ui.Items.btnSure local roomInfo = app.room:getRoomInfo() --self.dipaiCard = self._data.dipaiCard or roomInfo.dipaiCard self.txtRoomID:setString(string.format("房号:%d ", roomInfo.nShowTableId)) self.txtRoundNum:setString(string.format("%s 局数:%d/%d", os.date("%m-%d %H:%M", os.time()), self._data.gameStartCount, self._data.totalGamenum)) self.ui.Items.txtRoomRule:setString(self._data.ruleString or "") self.btnSure:registerClick(handler(self , self.onClickSure)) self.btnSure:setVisible(false) --是否是game over 前的最后一局 self.btnSure:setVisible(self._data.isLast==true) self.ui.Items.btnContinue:setVisible(self._data.isLast==false) end function DdzGameResult:showPlayers() local index = 1 for i,v in ipairs(self._data.players) do if self.playerItem[index] then v.turnScore = tonumber(v.turnScore) self.playerItem[index]:setVisible(true) --self.ui.Items.Layout_player:addChild(self:createItem(v)) if app.room:isMyself(v.userId) then if v.turnScore > 0 then --win if self.soundFlag then DdzSoundHelper:win() end self.ui.Items.ImageView_1:setVisible(true) else if self.soundFlag then DdzSoundHelper:lose() end self.ui.Items.ImageView_2:setVisible(true) end end if v.turnScore > 0 then --win self.playerItem[index].winbg:setVisible(true) else self.playerItem[index].winbg:setVisible(false) end self.playerItem[index].sprDiZhu:setVisible(self._data.lordId == v.userId) local showAdz = self._data.darkId == v.userId and self._data.isSelfEat == 0 self.playerItem[index].sprAnDiZhu:setVisible(showAdz) self.playerItem[index].name:setString(getSubStringNickname(v.nickname or "")) self.playerItem[index].turnscore:setString(v.turnScore) self.playerItem[index].totalscore:setString(v.totalScore) self.playerItem[index].mult:setVisible(1 == v.isMult) if self._data.lordId == v.userId then self.playerItem[index].mult:loadTexture("pk_zgwrddz/res/ui/zy_gameresult/wrddz_xj_fanjiabei.png", 0) end setPlayerHeadImage(v.userId, v.headimgurl, self.playerItem[index].imgHead) index = index + 1 end end end function DdzGameResult:showRightInfo() local roomInfo = app.room:getRoomInfo() local gameInfo = roomInfo.nGameInfo local ruleInfo = json.decode(gameInfo) --基础倍数 local totalMult = 0 if self._data.baseMult and self._data.baseMult > 0 then local item = self:getRightInfoItem() item.Items.Text_mult:setText("基础倍数x"..self._data.baseMult) item.Items.Text_addScore:setText("+"..self._data.baseMult) self.ui.Items.Layout_mult:addChild(item) totalMult = totalMult + self._data.baseMult end --涨水倍数 if self._data.curMult and self._data.curMult > 0 then local item = self:getRightInfoItem() item.Items.Text_mult:setText("涨水倍数"..self._data.curMult) item.Items.Text_addScore:setText("+"..self._data.curMult) self.ui.Items.Layout_mult:addChild(item) totalMult = totalMult + self._data.curMult end --自吃 if self._data.isSelfEat and self._data.isSelfEat > 0 then local item = self:getRightInfoItem() item.Items.Text_mult:setText("自吃x"..5) item.Items.Text_addScore:setText("+"..5) self.ui.Items.Layout_mult:addChild(item) totalMult = totalMult + 5 end --春天 if self._data.spring and self._data.spring > 0 then local item = self:getRightInfoItem() item.Items.Text_mult:setText("春天x"..1) item.Items.Text_addScore:setText("+"..20) self.ui.Items.Layout_mult:addChild(item) totalMult = totalMult + 20 if totalMult >= ruleInfo.multLimit then self.ui.Items.Text_total_mult_num:setText(ruleInfo.multLimit) self.ui.Items.ImageView_fengding:setVisible(true) else self.ui.Items.Text_total_mult_num:setText(totalMult) self.ui.Items.ImageView_fengding:setVisible(false) end return end --4张牌炸倍数 if self._data.fourMult and self._data.fourMult > 0 then local item = self:getRightInfoItem() item.Items.Text_mult:setText("四炸x"..self._data.fourMult) item.Items.Text_addScore:setText("+"..self._data.fourMult) self.ui.Items.Layout_mult:addChild(item) totalMult = totalMult + self._data.fourMult end --2王炸倍数 if self._data.twoKMult and self._data.twoKMult > 0 then local item = self:getRightInfoItem() item.Items.Text_mult:setText("双王炸x"..self._data.twoKMult) item.Items.Text_addScore:setText("+"..self._data.twoKMult) self.ui.Items.Layout_mult:addChild(item) totalMult = totalMult + self._data.twoKMult end --8张牌炸倍数 if self._data.eightMult and self._data.eightMult > 0 then local item = self:getRightInfoItem() item.Items.Text_mult:setText("八炸x"..self._data.eightMult) item.Items.Text_addScore:setText("+"..self._data.eightMult) self.ui.Items.Layout_mult:addChild(item) totalMult = totalMult + self._data.eightMult end --4王炸倍数 if self._data.fourKMult and self._data.fourKMult > 0 then local item = self:getRightInfoItem() item.Items.Text_mult:setText("四王炸x"..self._data.fourKMult) item.Items.Text_addScore:setText("+"..self._data.fourKMult) self.ui.Items.Layout_mult:addChild(item) totalMult = totalMult + self._data.fourKMult end --12张牌炸倍数 if self._data.twelveMult and self._data.twelveMult > 0 then local item = self:getRightInfoItem() item.Items.Text_mult:setText("十二炸x"..self._data.twelveMult) item.Items.Text_addScore:setText("+"..self._data.twelveMult) self.ui.Items.Layout_mult:addChild(item) totalMult = totalMult + self._data.twelveMult end --6王炸倍数 if self._data.sixKMult and self._data.sixKMult > 0 then local item = self:getRightInfoItem() item.Items.Text_mult:setText("六王炸x"..self._data.sixKMult) item.Items.Text_addScore:setText("+"..self._data.sixKMult) self.ui.Items.Layout_mult:addChild(item) totalMult = totalMult + self._data.sixKMult end if totalMult >= ruleInfo.multLimit then self.ui.Items.Text_total_mult_num:setText(ruleInfo.multLimit) self.ui.Items.ImageView_fengding:setVisible(true) else self.ui.Items.Text_total_mult_num:setText(totalMult) self.ui.Items.ImageView_fengding:setVisible(false) end end function DdzGameResult:getRightInfoItem() local uiItem = self.ui.Items.Layout_mult_detail:getCopied() uiItem.Items = getUIItems(uiItem) return uiItem end function DdzGameResult:onClickContinue( sender ) playBtnEffect() self.ui:sendMsg(app.room, "callReadyRequestPdk", function() print("根本没调用") end) performWithDelay(self, function() app.room:dispatchEvent({name = "ddzNormalEvent_show_game_over"}) self:removeFromParent() end, 0.1) end function DdzGameResult:onClickSure( sender ) playBtnEffect() app.room:dispatchEvent({name = "ddzNormalEvent_show_game_over"}) self:removeFromParent() end function DdzGameResult:onClickChaPai( sender ) playBtnEffect() self:removeFromParent() --self:setVisible(false) end return DdzGameResult