|
-
- local CreateRoom_BZP = class("CreateRoom_BZP", require("luaScript.Views.CreateRoom.CreateRoomItemBase"))
-
- --[[
- isCreateRoom和defaultValus决定了从哪里读取默认值
- isCreateRoom 为true时,从本地文件读取,defaultValus无效.
- 否则使用defaultValus的值
- defaultValus : 跟服务器strGameInfo对应的json对象
- --]]
- function CreateRoom_BZP:ctor(defaultValus)
- CreateRoom_BZP.super.ctor(self, defaultValus, "CreateRoom_BZP.json")
-
- local ui = loadUI("res/ui/ui_chuangjian/pk_chuanjian_bzp.ui")
- self.ui = ui
- self:addChild(ui)
-
- local gameConfig = getSubGameConfig(GAME_IDS.BanZiPao)
- self.curPlayType = 0
-
- -- 付费方式
- self.payRadioManager = import("luaScript.Tools.RadioManager"):new()
-
- -- 人数 - 单选
- self.renShuRadioManager = import("luaScript.Tools.RadioManager"):new()
-
- -- 玩法 - 单选
- self.diFenRadioManager = import("luaScript.Tools.RadioManager"):new()
-
-
- self.JiaoPaiRadioManager = import("luaScript.Tools.RadioManager"):new();
-
- self.fanbaoCheckBoxManager = import("luaScript.Tools.CheckBoxManager"):new()
- self.baopaiCheckBoxManager = import("luaScript.Tools.CheckBoxManager"):new()
- self.geziweizhanCheckBoxManager = import("luaScript.Tools.CheckBoxManager"):new()
- self.buxipaiCheckBoxManager = import("luaScript.Tools.CheckBoxManager"):new()
- self.boomCheckBoxManager = import("luaScript.Tools.CheckBoxManager"):new()
- self.daiHuaPaiCheckBoxManager = import("luaScript.Tools.CheckBoxManager"):new()
- self.showLeftCheckBoxManager = import("luaScript.Tools.CheckBoxManager"):new()
- self.jinChatCheckBoxManager = import("luaScript.Tools.CheckBoxManager"):new()
-
- -- 其他选项
- self.otherCheckBoxManager = import("luaScript.Tools.CheckBoxManager"):new()
-
- self.gameId = GAME_IDS.BanZiPao
-
- self:initRadio()
-
- self:onHideCestView() -- 隐藏cest的界面
- end
-
-
- function CreateRoom_BZP:onHideCestView()
- if self.ui.Items.Button_pay0_tips then
- self.ui.Items.Button_pay0_tips:setVisible(false)
- end
- if self.ui.Items.Button_pay1_tips then
- self.ui.Items.Button_pay1_tips:setVisible(false)
- end
- if self.ui.Items.ImageView_pay0_tips then
- self.ui.Items.ImageView_pay0_tips:setVisible(false)
- end
- if self.ui.Items.ImageView_pay1_tips then
- self.ui.Items.ImageView_pay1_tips:setVisible(false)
- end
- end
-
-
- function CreateRoom_BZP:onShowCestView()
- if self.ui.Items.Text_pay0 then
- self.ui.Items.Text_pay0:setText("免费")
- end
- if self.ui.Items.Text_pay1 then
- self.ui.Items.Text_pay1:setText("自费")
- end
- if self.ui.Items.Button_pay0_tips then
- self.ui.Items.Button_pay0_tips:setVisible(true)
- end
- if self.ui.Items.Button_pay1_tips then
- self.ui.Items.Button_pay1_tips:setVisible(true)
- end
- if self.ui.Items.ImageView_pay0_tips then
- self.ui.Items.ImageView_pay0_tips:setVisible(false)
- end
- if self.ui.Items.Button_pay0_tips then
- self.ui.Items.Button_pay0_tips:registerClick(function()
- if self.ui.Items.ImageView_pay0_tips then
- local isVisible = not self.ui.Items.ImageView_pay0_tips:isVisible()
- self.ui.Items.ImageView_pay0_tips:setVisible(isVisible)
- end
- end)
- end
- if self.ui.Items.ImageView_pay1_tips then
- self.ui.Items.ImageView_pay1_tips:setVisible(false)
- end
- if self.ui.Items.Button_pay1_tips then
- self.ui.Items.Button_pay1_tips:registerClick(function()
- if self.ui.Items.ImageView_pay1_tips then
- local isVisible = not self.ui.Items.ImageView_pay1_tips:isVisible()
- self.ui.Items.ImageView_pay1_tips:setVisible(isVisible)
- end
- end)
- end
- end
-
- --根据局数获取房费
- function CreateRoom_BZP:getCreateRoomCost(jushu)
- if self.cost then
- local costInfo = self.cost[jushu]
- if costInfo then
- local payMode = self.payRadioManager:getResult()
- if payMode == 0 then
- return costInfo.requireCards or 0
- elseif payMode == 1 then
- return costInfo.requireCardsAA or 0
- end
- end
- end
- return 0
- end
-
- function CreateRoom_BZP:initRadio()
- -- 整理不同局数对应的房卡消耗
- local ttCost = {}
- local gameConfig = app.user:getGameConfig(self.gameId);
- if gameConfig then
- local arrGameRound = toNumberArray(",")(gameConfig.gameRound)
- local arrRequireCards = toNumberArray(",")(gameConfig.requireCards)
- local arrRequireCardsAA = toNumberArray(",")(gameConfig.AArequireCards)
-
- for idx, gameRound in ipairs(arrGameRound) do
- ttCost[gameRound] =
- {
- requireCards = arrRequireCards[idx],
- requireCardsAA = arrRequireCardsAA[idx],
- }
- end
- end
- self.cost = ttCost
-
- --房费
- if self.payRadioManager then
- self.payRadioManager:addItem(self.ui.Items.CheckBox_FangZhu, 0)
- self.payRadioManager:addItem(self.ui.Items.CheckBox_AAPay, 1)
- --初始化默认数据
- local default = self:getDefaultValue("deductRule") or 0
- self.payRadioManager:setColorSwitch(true)
- self.payRadioManager:setDefault(default)
- --通知创建界面更新显示
- local function dispatchUpdateCost()
- app:dispatchEvent({name = "onChangePayMode"})
- end
- self.payRadioManager:setCallback(dispatchUpdateCost)
- end
-
- --人数
- if self.renShuRadioManager then
- self.renShuRadioManager:addItem(self.ui.Items.CheckBox_playerCount_1, 2)
- self.renShuRadioManager:addItem(self.ui.Items.CheckBox_playerCount_2, 3)
- self.renShuRadioManager:addItem(self.ui.Items.CheckBox_playerCount_3, 4)
- self.renShuRadioManager:addItem(self.ui.Items.CheckBox_playerCount_4, 5)
-
- local defaultValue = self:getDefaultValue("playerNum") or 5
- self.renShuRadioManager:setColorSwitch(true)
- self.renShuRadioManager:setDefault(defaultValue)
- self.renShuRadioManager:setCallback(function ()
- playBtnEffect()
- end)
- self.ui.Items.ImageView_zhaniao_1:setVisible(false)
-
- self.ui.Items.Button_zhaniao_1:registerClick(function ()
- playBtnEffect()
- self.ui.Items.ImageView_zhaniao_1:setVisible(not self.ui.Items.ImageView_zhaniao_1:isVisible())
- end)
- end
-
- if self.diFenRadioManager then
- self.diFenRadioManager:addItem(self.ui.Items.CheckBox_playerCount_5, 1)
- self.diFenRadioManager:addItem(self.ui.Items.CheckBox_playerCount_6, 2)
- self.diFenRadioManager:addItem(self.ui.Items.CheckBox_playerCount_7, 5)
- self.diFenRadioManager:addItem(self.ui.Items.CheckBox_playerCount_8, 10)
- self.diFenRadioManager:addItem(self.ui.Items.CheckBox_playerCount_9, 20)
-
- local defaultValue = self:getDefaultValue("baseScore") or 1
- self.diFenRadioManager:setColorSwitch(true)
- self.diFenRadioManager:setDefault(defaultValue)
- self.diFenRadioManager:setCallback(function ()
- playBtnEffect()
- end)
- end
-
- if self.JiaoPaiRadioManager then
- self.JiaoPaiRadioManager:addItem(self.ui.Items.CheckBox_FangZhu_1, 1)
- self.JiaoPaiRadioManager:addItem(self.ui.Items.CheckBox_AAPay_1, 2)
-
- local defaultValue = self:getDefaultValue("jiaoPaiType") or 1
- self.JiaoPaiRadioManager:setColorSwitch(true)
- self.JiaoPaiRadioManager:setDefault(defaultValue)
- self.JiaoPaiRadioManager:setCallback(function ()
- playBtnEffect()
- end)
-
- self.ui.Items.ImageView_zhaniao_2:setVisible(false)
- self.ui.Items.ImageView_zhaniao_3:setVisible(false)
-
- self.ui.Items.Button_zhaniao_2:registerClick(function ()
- playBtnEffect()
- self.ui.Items.ImageView_zhaniao_2:setVisible(not self.ui.Items.ImageView_zhaniao_2:isVisible())
- end)
-
- self.ui.Items.Button_zhaniao_3:registerClick(function ()
- playBtnEffect()
- self.ui.Items.ImageView_zhaniao_3:setVisible(not self.ui.Items.ImageView_zhaniao_3:isVisible())
- end)
- end
-
- self.ui.Items.Layout:registerClick(function ()
- if self.ui.Items.ImageView_zhaniao_1:isVisible() or self.ui.Items.ImageView_zhaniao_2:isVisible() or self.ui.Items.ImageView_zhaniao_3:isVisible() then
- playBtnEffect()
- end
- self.ui.Items.ImageView_zhaniao_1:setVisible(false)
- self.ui.Items.ImageView_zhaniao_2:setVisible(false)
- self.ui.Items.ImageView_zhaniao_3:setVisible(false)
- end)
-
-
- if self.fanbaoCheckBoxManager then
- self.fanbaoCheckBoxManager:addItem(self.ui.Items.CheckBox_type_1, 1,1,0);
- -- 设置默认状态
- local tValues = {}
- local default = self:getDefaultValue("fanBao") or 1
- table.insert(tValues, default)
- self.fanbaoCheckBoxManager:setDefault(tValues)
- end
-
- if self.baopaiCheckBoxManager then
- self.baopaiCheckBoxManager:addItem(self.ui.Items.CheckBox_type_2, 1,1,0);
- -- 设置默认状态
- local tValues = {}
- local default = self:getDefaultValue("firstBao") or 1
- table.insert(tValues, default)
- self.baopaiCheckBoxManager:setDefault(tValues)
- end
-
- if self.geziweizhanCheckBoxManager then
- self.geziweizhanCheckBoxManager:addItem(self.ui.Items.CheckBox_type_3, 1,1,0);
- -- 设置默认状态
- local tValues = {}
- local default = self:getDefaultValue("fightAlone") or 0
- table.insert(tValues, default)
- self.geziweizhanCheckBoxManager:setDefault(tValues)
- end
-
- if self.buxipaiCheckBoxManager then
- self.buxipaiCheckBoxManager:addItem(self.ui.Items.CheckBox_type_6, 1,1,0);
- -- 设置默认状态
- local tValues = {}
- local default = self:getDefaultValue("unshuffle") or 0
- table.insert(tValues, default)
- self.buxipaiCheckBoxManager:setDefault(tValues)
- end
-
- if self.boomCheckBoxManager then
- self.boomCheckBoxManager:addItem(self.ui.Items.CheckBox_type_7, 1,1,0);
- -- 设置默认状态
- local tValues = {}
- local default = self:getDefaultValue("bombScore") or 0
- table.insert(tValues, default)
- self.boomCheckBoxManager:setDefault(tValues)
- end
-
- if self.daiHuaPaiCheckBoxManager then
- self.daiHuaPaiCheckBoxManager:addItem(self.ui.Items.CheckBox_type_8, 1,1,0);
- -- 设置默认状态
- local tValues = {}
- local default = self:getDefaultValue("withFlower") or 0
- table.insert(tValues, default)
- self.daiHuaPaiCheckBoxManager:setDefault(tValues)
- end
-
- if self.showLeftCheckBoxManager then
- self.showLeftCheckBoxManager:addItem(self.ui.Items.CheckBox_type_9, 1,1,0);
- -- 设置默认状态
- local tValues = {}
- local default = self:getDefaultValue("reNumShow") or 1
- table.insert(tValues, default)
- self.showLeftCheckBoxManager:setDefault(tValues)
- end
-
- if self.jinChatCheckBoxManager then
- self.jinChatCheckBoxManager:addItem(self.ui.Items.CheckBox_type_10, 1,1,0);
- -- 设置默认状态
- local tValues = {}
- local default = self:getDefaultValue("jzdybq") or 0
- table.insert(tValues, default)
- self.jinChatCheckBoxManager:setDefault(tValues)
- self.ui.Items.CheckBox_type_10:setVisible(false)
- end
-
- self:initOtherCheckBoxManager()
- self:initJiFenBeiShu()
- end
-
- ---
- -- 初始化其他选项
- -- @return
- --
- function CreateRoom_BZP:initOtherCheckBoxManager ()
- if not self.otherCheckBoxManager then
- return
- end
-
- -- self.otherCheckBoxManager:addItem(self.ui.Items.CheckBox_ForbidProp, "forbidProp", 1, 0)
- -- local forbidProp = self:getDefaultValue("forbidProp") or 0
- -- local defaults = {}
- -- if forbidProp > 0 then
- -- table.insert(defaults, "forbidProp")
- -- end
- -- self.otherCheckBoxManager:setDefault(defaults)
-
- self.otherCheckBoxManager:addItem(self.ui.Items.CheckBox_ForbidProp, "forbidProp", 1, 0)--屏蔽快捷语与道具
- self.otherCheckBoxManager:addItem(self.ui.Items.CheckBox_ForbidVoice, "forbidVoice", 1, 0)--屏蔽语音
- local forbidProp = self:getDefaultValue("forbidProp") or 0
- local forbidVoice = self:getDefaultValue("forbidVoice") or 0
- local defaults = {}
- if forbidProp > 0 then
- table.insert(defaults, "forbidProp")
- end
- if forbidVoice == 1 then
- table.insert(defaults, "forbidVoice")
- end
- self.otherCheckBoxManager:setDefault(defaults)
-
- end
-
- -- 初始化积分倍数
- function CreateRoom_BZP:initJiFenBeiShu()
- self.ui.Items.Button_jia:registerClick(handler(self, self.onClickAdd))
- self.ui.Items.Button_jian:registerClick(handler(self, self.onClickJian))
- self.curJFBS = self:getDefaultValue("baseMulti") or 1;
- self:updateJiFenBeiShu()
- --积分倍数说明
- self.ui.Items.ImageView_JFBS:setVisible(false)
- self.ui.Items.Button_JFBS:registerClick(function()
- self.ui.Items.ImageView_JFBS:setVisible(not self.ui.Items.ImageView_JFBS:isVisible())
- end)
- end
- --更新积分倍数
- function CreateRoom_BZP:updateJiFenBeiShu()
- self.curJFBS = self.curJFBS >= 1.0 and math.floor(self.curJFBS) or self.curJFBS;
- self.ui.Items.Text_jifen:setText(self.curJFBS)
-
- self.ui.Items.Button_jia:setEnabled(self.curJFBS ~= 100)
- self.ui.Items.Button_jian:setEnabled(self.curJFBS ~= 0.1)
- end
- --按钮加
- function CreateRoom_BZP:onClickAdd()
- playBtnEffect()
- if not self.curJFBS then
- return
- end
- if self.curJFBS >= 1.0 then
- self.curJFBS = self.curJFBS + 1.0
- else
- self.curJFBS = self.curJFBS + 0.1
- end
- if self.curJFBS >= 100 then
- self.curJFBS = 100;
- end
- self:updateJiFenBeiShu()
- end
- --按钮减
- function CreateRoom_BZP:onClickJian()
- playBtnEffect()
- if not self.curJFBS then
- return
- end
- if self.curJFBS <= 1.0 then
- self.curJFBS = self.curJFBS - 0.1
- else
- self.curJFBS = self.curJFBS - 1.0
- end
- if self.curJFBS <= 0.1 then
- self.curJFBS = 0.1
- end
- self:updateJiFenBeiShu()
- end
-
- function CreateRoom_BZP:getRuleResult()
- local result = {}
- result.gameid = self.gameId
- result.gamerule = 0
- result.enterFlag = 0;--游戏中是否可以中途进入,不允许,传0就可以了
- result.game_num = 0--局数
- result.deductRule = self.payRadioManager:getResult()--房费0房主1aa
- result.playerNum = self.renShuRadioManager:getResult()--玩家人数
- result.playnum = result.playerNum == 5 and 4 or result.playerNum
- result.baseScore = self.diFenRadioManager:getResult()
- result.jiaoPaiType = self.JiaoPaiRadioManager:getResult()
-
- result.fanBao = self.fanbaoCheckBoxManager:getResult()[1].value
- result.withFlower = self.daiHuaPaiCheckBoxManager:getResult()[1].value
- result.firstBao = self.baopaiCheckBoxManager:getResult()[1].value
- result.fightAlone = self.geziweizhanCheckBoxManager:getResult()[1].value
- result.unshuffle = self.buxipaiCheckBoxManager:getResult()[1].value
- result.bombScore = self.boomCheckBoxManager:getResult()[1].value
- result.reNumShow = self.showLeftCheckBoxManager:getResult()[1].value
- result.jzdybq = self.jinChatCheckBoxManager:getResult()[1].value
- result.baseMulti = self.curJFBS
-
- local other = self.otherCheckBoxManager:getResult2()
- local forbidProp = other["forbidProp"]
- local forbidVoice = other["forbidVoice"]
- result.forbidProp = forbidProp
- result.forbidVoice = forbidVoice
-
- self.defaultValus = result
-
- -- 保存玩家的选择
- self:saveDefaultValues()
-
- local strGameInfo = json.encode(self.defaultValus);
- return result.game_num, strGameInfo
- end
-
- function CreateRoom_BZP:onEnter()
- CreateRoom_BZP.super.onEnter(self)
- -- 整理不同局数对应的房卡消耗
-
- end
-
- return CreateRoom_BZP
|