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