|
- -- 总结算界面
- local PKDef = PKFramework.PKImport("pk_base.luaScript.PKDef")
- local PKFuc = PKFramework.PKImport("pk_base.luaScript.PKFunctions")
- local PKWanFa = PKFramework.ImportWanFa("luaScript.SubGameDefine.PuKe.PKWanFa")
-
- local PKRoomDaJuView = class("PKRoomDaJuView", cc.UIView)
-
- function PKRoomDaJuView:ctor(response)
- PKRoomDaJuView.super.ctor(self);
-
- self.response = response
- self.zhanjiUrl = app.serverConfigs.clientConfig.webgamb or app.config.Setting.httpZhanJiUrl
- end
-
- function PKRoomDaJuView:onEnter()
- PKRoomDaJuView.super.onEnter(self)
-
- setShowCountAll(true);
-
- local ui = loadUI("pk_base/res/ui/ui_fangjian/pk_ui_daju.ui");
- self.ui = ui;
- self:addChild(ui);
-
- -- 关闭
- self.ui.Items.Button_Exit:registerClick(handler(self , self.onClickClose))
- -- 防封群分享
- self.ui.Items.Button_ShareUrl:registerClick(handler(self , self.onClickSafeShare))
- --
- self.ui.Items.Button_Share:registerClick(handler(self , self.onClickShare))
- --再玩一局
- self.ui.Items.Button_Again:registerClick(handler(self , self.onClickPlayAgain))
-
- if isReviewVersion() then
- if self.ui.Items.Layout_6 then
- self.ui.Items.Layout_6:setVisible(false)
- end
-
- if self.ui.Items.Layout_8 then
- self.ui.Items.Layout_8:setVisible(false)
- end
- end
-
- local isClosePlayAgain = false
- local config = getSubGameConfig(PKDef.GameID)
- if config then
- if config.gameDataConfig and config.gameDataConfig.isClosePlayAgain then
- isClosePlayAgain = config.gameDataConfig.isClosePlayAgain
- end
- end
-
- if app.club_php.clubID and app.club_php.clubID ~= 0 and not isClosePlayAgain then
- self.ui.Items.Layout_9:setVisible(true)
- self.clubInfo = app.club_php.clubList[app.club_php.clubID]
- local againid = getAgainGameBaoJianId()
- if self.clubInfo then
- if againid ~= -1 and self.clubInfo.settings and tonumber(self.clubInfo.settings.baoJianId) ~= tonumber(againid) and self.clubInfo.mode ~= 1 then
- app.club_php:requestRuleSet(app.club_php.clubID, againid, 1, 1)
- end
- end
- else
- self.ui.Items.Layout_9:setVisible(false)
- end
-
- --绑定消息通知回调
- self:bindEvent(app.club_php , GAME_EVENT.CLUB_INVITE , handler(self , self.onClubIniteEvent))
-
- --初始化人物信息
- self:initOtherData()
-
- self:updatePlayerInfo()
-
- if not app.config.ModuleConfig.IsSupportZhanJiUrl then
- self.ui.Items.Layout_8:setVisible(false)
- self.ui.Items.Layout_Bottom:requestDoLayout()
- self.ui.Items.Layout_Bottom:doLayout()
- else
- -- 获取分享网页战绩用的连接
- self:initShareUrl();
- end
- end
-
- -- 再玩一局
- function PKRoomDaJuView:onClickPlayAgain()
- local roomRule = ""
- if PKWanFa.getInviteInfo then
- roomRule = PKWanFa.getInviteInfo()
- end
-
- local uidList = {}
- for k,v in pairsByKeys(self.response.allData) do
- if tonumber(v.nUserId) ~= app.user.loginInfo.uid then
- table.insert(uidList,v.nUserId)
- end
- end
- setIsAgainGamebol(true,roomRule,uidList)
- self:removeFromParent()
- gotoMainView()
- end
-
- function PKRoomDaJuView:onClubIniteEvent(event)
- --房间邀请通知
- local content = event.content
- local clubId = event.clubId
- local viewType = type(self.inviteView)
- if self.inviteView and viewType == "userdata" then
- --提示框已存在
- return
- end
-
- local function closeCallback()
- --关闭提示框时清空数据,用于下次弹出
- self.inviteView = nil
- end
-
- local function agreeCallback()
- self:removeFromParent()
- gotoMainView()
- end
-
- self.inviteView = import("luaScript.Views.Club.ClubInviteRoomNew"):new(clubId, content, closeCallback,agreeCallback)
- self.inviteView:setAnchorPoint(cc.p(0.5, 0.5))
- app:showWaitDialog(self.inviteView,0)
- end
-
- function PKRoomDaJuView:initOtherData()
- local roomInfo = app.room.roomInfo
-
- --规则
- self.ui.Items.Text_Rule:setText(PKWanFa.getRuleInfo())
- --时间
- self.ui.Items.Text_Time:setText(os.date("%Y-%m-%d %X",roomInfo.endtime))
- --房号
- self.ui.Items.Text_RoomNum:setText("房间号:"..tostring(app.room.roomInfo.nShowTableId))
- --局数
- self.ui.Items.TextJuShu:setText("局数:"..tostring(app.room.roomInfo.nGameStartCount).."/"..tostring(app.room.roomInfo.nTotalGameNum))
- end
-
- function PKRoomDaJuView:initShareUrl()
- app.php:initShareZhanJiToUrl(function(url)
- self.zhanjiUrl = url
- end)
- end
-
- function PKRoomDaJuView:updatePlayerInfo()
- self.ui.Items.Layout_Player:setVisible(false)
-
- --判断大赢家和土豪
- local tuhaoScore = -999999
- local winerScore = -999999
- local tt = {}
- --排除都为0的情况
- local zeorNum = 0
- for k,v in pairs(self.response.allData) do
- if v.nTotalScore == 0 then
- zeorNum = zeorNum + 1
- end
- end
-
- local maxPeople = table.nums(self.response.allData)
-
- if zeorNum ~= maxPeople then
- for k,v in pairs(self.response.allData) do
- table.insert(tt,v.nTotalScore)
- end
- local function sortFunc(a,b)
- return a < b
- end
- table.sort(tt,sortFunc)
- tuhaoScore = tt[1]
- winerScore = tt[maxPeople]
- end
-
- local roomInfo = app.room.roomInfo
-
- for k,v in pairsByKeys(self.response.allData) do
- v.nTotalScore = tonumber(v.nTotalScore)
- local player = self.ui.Items.Layout_Player:getCopied()
- player.Items = getUIItems(player)
- local userInfo = json.decode(v.userInfo);
- local totalInfo = v.totalInfo;
- local name = getShortName(userInfo.nickname)
- setPlayerHeadImage(v.nUserId,userInfo.headimgurl,player.Items.ImageView_head,false)
- player.Items.ImageView_roomer:setVisible(roomInfo.nRoomOwnedUid == v.nUserId)
- player.Items.Text_name:setText(name)
- player.Items.Text_ID:setText(v.nUserId)
-
- --显示隐藏游戏内选手id(主办人和管理员不限制,只针对海选赛) -- todo lwq
- -- begin
- local ClubDefine = require("luaScript.Protocol.Club.ClubDefine")
- if app.club_php.clubID and app.club_php.clubID ~= 0 then
- if app.club_php:getCestIsOpen(app.club_php.clubID) then
- --隐私数据
- local clubInfo = app.club_php.clubList[app.club_php.clubID]
- self.cliext = clubInfo.groupext and clubInfo.groupext.cliext
- if not self.cliext or not self.cliext.is_hideUid or (self.cliext and self.cliext.is_hideUid == 1) then
- if clubInfo.role == ClubDefine.Job.Creator or clubInfo.role == ClubDefine.Job.Manager then
- player.Items.Text_ID:setVisible(true)
- else
- player.Items.Text_ID:setVisible(false)
- end
- end
- end
- end
- if v.nUserId == tonumber(app.user.loginInfo.uid) then
- player.Items.Text_ID:setVisible(true)
- end
- -- end
-
- player.Items.ImageView_win:setVisible(v.nTotalScore == winerScore)
-
- if v.nTotalScore > 0 then
- player.Items.Text_Score:setText("+"..v.nTotalScore)
- else
- player.Items.Text_Score:setText(v.nTotalScore)
- player.Items.ImageView_bg:loadTexture("pk_base/res/ui/zy_fangjian/jiesuanView/pk_jiesuan_lose2.png")
- end
-
- self.ui.Items.Layout_items:addChild(player)
- end
-
- self.ui.Items.Layout_items:requestDoLayout()
- self.ui.Items.Layout_items:doLayout()
-
- self.ui.Items.Layout_All:requestDoLayout()
- self.ui.Items.Layout_All:doLayout()
- end
-
- function PKRoomDaJuView:onExit()
- PKRoomDaJuView.super.onExit(self);
- setShowCountAll(false);
- end
-
- -- 关闭
- function PKRoomDaJuView:onClickClose()
- self:removeFromParent()
- gotoMainView()
- end
-
- -- 防封群分享
- function PKRoomDaJuView:onClickSafeShare()
- local imagePath = cc.FileUtils:getInstance():getWritablePath().."icon.png"
- local gameName = getSubGameRuleName(PKDef.GameID,app.room.roomInfo.nGameRule) or "悠闲麻将"
- local uid = app.user.loginInfo.uid;
- local appId = getAppId();
- local gameId = PKDef.GameID;
- local roomId = app.room.roomInfo.nShowTableId;
- local endtime = app.room.roomInfo.endtime;
-
- local info = {}
- info.image = fileName
- info.title = gameName.."战绩"
- info.menuIdxs = {1, 4, 5, 6}
- info.FFQFlag = true
- info.copyData={
- type = 1,
- tableId = roomId,
- userInfos = {},
- }
-
- local content = nil;
- for k,v in pairs(self.response.allData) do
- local userInfo = json.decode(v.userInfo);
- local name = userInfo.nickname
- --昵称
- local nickname = name or ""
- local totalScore = v.nTotalScore
- local userInfo = ""
- if totalScore > 0 then
- userInfo = string.format("%s(+%s)", getShortName(nickname), totalScore)
- else
- userInfo = string.format("%s(%s)", getShortName(nickname), totalScore)
- end
- table.insert(info.copyData.userInfos,{nickname = nickname,totalScore = totalScore,nUserId = k})
- if content then
- content = content .. "," .. userInfo
- else
- content = userInfo
- end
- end
-
- -- http://gamb.bashangtour.com/game/gamb?uid=1002757&gameid=2&app=203000&roomid=634116&endtime=1540452491
- local url = string.format("%s?uid=%s&gameid=%s&app=%s&roomid=%s&endtime=%s",
- self.zhanjiUrl,
- uid,
- gameId,
- appId,
- roomId,
- endtime);
-
- logD("RoomCountAllView:onClickSafeShare():",url)
-
- info.url = url
- info.description = content
- dump(info)
- local view = import("luaScript.Views.Main.ShareView"):new(info)
- view:setAnchorPoint(cc.p(0.5, 0.5))
- app:showWaitDialog(view)
- end
-
- function PKRoomDaJuView:onClickShare()
- local fileName = cc.FileUtils:getInstance():getWritablePath()..tostring(app.room.roomInfo.nShowTableId).."_screen.jpg"
- cc.FileUtils:getInstance():screenToFile(fileName, function(ret)
- if 1 == tonumber(ret) then
- local info = {}
- info.scene = "talk"
- info.contentType = "image"
- info.image = fileName
- info.imageWidth = 1000
- info.menuIdxs = {1,2,4,5,6}
- info.copyData={
- type = 1,
- tableId = app.room.roomInfo.nShowTableId,
- userInfos = {},
- gameId = PKDef.GameID,
- }
-
- for nUserId,v in pairsByKeys(self.response.allData) do
- local userInfo = json.decode(v.userInfo);
- local name = userInfo.nickname
- --昵称
- local nickname = name or ""
- local totalScore = v.nTotalScore
- table.insert(info.copyData.userInfos,{nickname = nickname,totalScore = totalScore,nUserId = nUserId})
- end
-
- local view = import("luaScript.Views.Main.ShareView"):new(info)
- view:setAnchorPoint(cc.p(0.5, 0.5))
- app:showWaitDialog(view)
- else
- showTooltip("截图保存失败");
- end
- end);
- end
-
- return PKRoomDaJuView;
|