|
- ---
- -- ================================================================
- -- 文件名: IPlayGameAgain.lua
- -- 描述: 子游戏结算再来一局功能接口
- -- 版权: Copyright © 2016-2019 公司名称 版权所有
- -- 作者: Administrator
- -- 创建日期: 2019-10-22
- -- 更新日期: 2019-10-22
- -- 备注:
- -- ================================================================
- --
- local IPlayGameAgain = {};
-
- IPlayGameAgain.isAgainGameBol = false -- 是否再来一局
- IPlayGameAgain.wanfa = "" -- 子游戏玩法
- IPlayGameAgain.uidList = {} -- 待邀请玩家列表
-
- IPlayGameAgain.isAgainGameBaoJianId = -1 -- 再来一局包间ID
- IPlayGameAgain.isAgainGameData = nil -- 再来一局接受邀请数据
- IPlayGameAgain.isGameRuleChange = false -- 再来一局包间玩法是否被修改
- IPlayGameAgain.gameRoomId = 0 -- 再来一局包间id
- IPlayGameAgain.myGameCreateStatus = false -- 玩家是否创建过房间
-
- IPlayGameAgain.inviteView = nil -- 邀请框
-
- function IPlayGameAgain.bindPlayAgainButton (btnPlayAgain, gameId, inviteInfo, inviteList, initCallback)
- local clubId = app.club_php.clubID or 0
- local isInClub = clubId and clubId ~= 0
- if not isInClub then
- logD("IPlayGameAgain.initPlayGameAgain", "当前玩家不在亲友圈内,不能再来一局");
- btnPlayAgain:setVisible(false)
- return
- end
-
- if tolua.isnull(btnPlayAgain) then
- logD("IPlayGameAgain.bindPlayAgainButton", "再来一局按钮已经被释放")
- return
- end
-
-
- local isClosePlayAgain = IPlayGameAgain.isClosePlayAgain(gameId)
- btnPlayAgain:setVisible(not isClosePlayAgain)
-
- if isClosePlayAgain then
- if type(initCallback) == "function" then
- initCallback()
- end
- return
- end
-
- btnPlayAgain:registerClick(function ()
- logD("===================inviteList==================:",table.tostring(inviteList))
- IPlayGameAgain.setIsAgainGamebol(true, inviteInfo, inviteList)
- gotoMainView()
- end)
-
- local clubInfo = app.club_php:getClubInfo(clubId)
- if not clubInfo then
- logD("IPlayGameAgain.bindPlayAgainButton", "亲友圈信息不存在", "clubId:", clubId)
- if type(initCallback) == "function" then
- initCallback()
- end
- return
- end
-
- local baoJianId = IPlayGameAgain.getAgainGameBaoJianId()
- if baoJianId ~= -1 and clubInfo.settings and tonumber(clubInfo.settings.baoJianId) ~= tonumber(baoJianId) and clubInfo.mode == 0 then
- app.club_php:requestRuleSet(app.club_php.clubID, baoJianId, 1, 1)
- end
-
- if type(initCallback) == "function" then
- initCallback()
- end
- end
- ---
- -- 收到再来一局邀请信息时,弹出邀请弹框
- -- @param data
- -- @return
- --
- function IPlayGameAgain.showClubInviteDialog (data, agreeCallback, closeCallback)
- --房间邀请通知
- local content = data.content
- local clubId = data.clubId
- local inviteView = IPlayGameAgain.inviteView
- local viewType = type(inviteView)
- if inviteView and viewType == "userdata" then
- --提示框已存在
- return
- end
-
- local function removeInviteView()
- if not tolua.isnull(IPlayGameAgain.inviteView) then
- -- IPlayGameAgain.inviteView:removeFromParent()
- IPlayGameAgain.inviteView = nil
- end
- end
-
- local function onBtnCloseClicked()
- --关闭提示框时清空数据,用于下次弹出
- removeInviteView()
- if type(closeCallback) == "function" then
- closeCallback()
- end
- end
-
- local function onBtnAgreeClicked()
- removeInviteView()
- gotoMainView()
- if type(agreeCallback) == "function" then
- agreeCallback()
- end
- end
-
- inviteView = import("luaScript.Views.Club.ClubInviteRoomNew"):new(clubId, content, onBtnCloseClicked, onBtnAgreeClicked)
- inviteView:setAnchorPoint(cc.p(0.5, 0.5))
- app:showWaitDialog(inviteView,0)
-
- IPlayGameAgain.inviteView = inviteView
- end
- ---
- -- 是否关闭再来一局功能
- -- 默认关闭
- -- @return
- --
- function IPlayGameAgain.isClosePlayAgain (gameId)
- local isClosePlayAgain = true
- local config = getSubGameConfig(gameId)
- if not config then
- logD("IPlayGameAgain.isClosePlayAgain", "读取子游戏配置为空")
- return isClosePlayAgain
- end
-
- if config.gameDataConfig and config.gameDataConfig.isClosePlayAgain ~= nil then
- logD("IPlayGameAgain.isClosePlayAgain", "子游戏再来一局功能已打开")
- isClosePlayAgain = config.gameDataConfig.isClosePlayAgain == true
- end
-
- return isClosePlayAgain
- end
-
- ---
- -- 设置是否再来一局
- -- @param bol 是否再来一局
- -- @param wanfadata 子游戏玩法
- -- @param uidList 待邀请玩家列表
- -- @return
- --
- function IPlayGameAgain.setIsAgainGamebol(bol, wanfadata, uidList)
- logD("IPlayGameAgain.setIsAgainGamebol")
- IPlayGameAgain.isAgainGameBol = bol
-
- if wanfadata then
- IPlayGameAgain.wanfa = wanfadata
- end
- if uidList then
- IPlayGameAgain.uidList = uidList or {}
- end
- end
- ---
- -- 是否再来一局
- -- @return
- --
- function IPlayGameAgain.getIsAgainGamebol()
- return IPlayGameAgain.isAgainGameBol, IPlayGameAgain.wanfa, IPlayGameAgain.uidList;
- end
- ---
- -- 再来一局包间id
- -- @param idx
- -- @return
- --
- function IPlayGameAgain.setAgainGameBaoJianId(idx)
- IPlayGameAgain.isAgainGameBaoJianId = idx
- end
- ---
- -- 获取再来一局包间id
- -- @return
- --
- function IPlayGameAgain.getAgainGameBaoJianId()
- return IPlayGameAgain.isAgainGameBaoJianId;
- end
- ---
- -- 保存再来一局接受邀请数据
- -- @param data
- -- @return
- --
- function IPlayGameAgain.setAgainGameInvitedata(data)
- IPlayGameAgain.isAgainGameData = data
- end
- ---
- -- 获取再来一局接受邀请数据
- -- @return
- --
- function IPlayGameAgain.getAgainGameInvitedata()
- return IPlayGameAgain.isAgainGameData;
- end
- ---
- -- 保存再来一局玩法状态
- -- 检测点再来一局的时候,玩法是否被修改。如果是修改那么提示创建失败。
- -- @param bol
- -- @return
- --
- function IPlayGameAgain.setRuleChangeStatus(bol)
- IPlayGameAgain.isGameRuleChange = bol
- end
- ---
- -- 获取再来一局玩法状态
- -- 检测点再来一局的时候,玩法是否被修改。如果是修改那么提示创建失败。
- -- @return
- --
- function IPlayGameAgain.getRuleChangeStatus()
- return IPlayGameAgain.isGameRuleChange
- end
- ---
- -- 保存房间id
- -- 邀请的时候需要用到数据
- -- @param idx
- -- @return
- --
- function IPlayGameAgain.setGameRoomId(idx)
- IPlayGameAgain.gameRoomId = idx
- end
- ---
- -- 获取房间id
- -- @return
- --
- function IPlayGameAgain.getGameRoomId()
- return IPlayGameAgain.gameRoomId;
- end
- ---
- -- 保存玩家是否创建过房间
- -- @param bol
- -- @return
- --
- function IPlayGameAgain.setMyGameCreateStatus(bol)
- IPlayGameAgain.myGameCreateStatus = bol
- end
- ---
- -- 获取玩家是否创建过房间
- -- @return
- --
- function IPlayGameAgain.getMyGameCreateStatus()
- return IPlayGameAgain.myGameCreateStatus;
- end
-
- return IPlayGameAgain;
|