|
- local CreateRoom = class("CreateRoomItem_PK_ERDouDiZhu", require("luaScript.Views.CreateRoom.CreateRoomItemBase"))
-
- function CreateRoom:ctor( defaultValues)
- CreateRoom.super.ctor(self, defaultValues, "CreateRoomItem_PK_ERDouDiZhu.json")
-
- local ui = loadUI("res/ui/ui_chuangjian/pk_chuangjian_erddz.ui")
- self.ui = ui
- self:addChild(ui)
- self:initCreateRoomCost();
-
- -- 钻石
- self.PayRadioManager = import("luaScript.Tools.RadioManager"):new()
- -- 模式
- self.GameModeManager = import("luaScript.Tools.RadioManager"):new()
- -- 封顶
- self.FengDingManager = import("luaScript.Tools.RadioManager"):new()
- -- 让牌
- self.LetCardManager = import("luaScript.Tools.RadioManager"):new()
- -- 玩法
- self.WanFaManager = import("luaScript.Tools.CheckBoxManager"):new()
- -- 其它
- self.OtherManager = import("luaScript.Tools.CheckBoxManager"):new()
- self.otherCheckBoxManager = import("luaScript.Tools.CheckBoxManager"):new()
-
- self:onHideCestView() -- 隐藏cest的界面
- end
-
-
- function CreateRoom: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: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:onEnter()
- CreateRoom.super.onEnter(self)
-
- -- 房费
- if self.PayRadioManager then
- self.PayRadioManager:addItem(self.ui.Items.CheckBox_1_1, 0) -- 房主支付
- self.PayRadioManager:addItem(self.ui.Items.CheckBox_1_2, 1) -- AA支付
-
- local default = self:getDefaultValue("deductRule") or 0
- self.PayRadioManager:setDefault(default)
- self.PayRadioManager:setCallback(function ()
- playBtnEffect()
- app:dispatchEvent({name = "onChangePayMode"})
- end)
- end
-
- -- 模式
- if self.GameModeManager then
- self.GameModeManager:addItem(self.ui.Items.CheckBox_2_1, 1) -- 叫地主
- self.GameModeManager:addItem(self.ui.Items.CheckBox_2_2, 2) -- 叫分
-
- local default = self:getDefaultValue("playMode") or 1
- self.GameModeManager:setDefault(default)
- self.GameModeManager:setCallback(function ()
- playBtnEffect()
- end)
- end
-
- -- 封顶
- if self.FengDingManager then
- self.FengDingManager:addItem(self.ui.Items.CheckBox_3_1, 24) -- 24
- self.FengDingManager:addItem(self.ui.Items.CheckBox_3_2, 48) -- 48
- self.FengDingManager:addItem(self.ui.Items.CheckBox_3_3, 96) -- 96
- self.FengDingManager:addItem(self.ui.Items.CheckBox_3_4, 192) -- 192
- self.FengDingManager:addItem(self.ui.Items.CheckBox_3_5, 0) -- 无上限
-
- local default = self:getDefaultValue("scoreLimit") or 24
- self.FengDingManager:setDefault(default)
- self.FengDingManager:setCallback(function ()
- playBtnEffect()
- end)
- end
-
- -- 让牌
- if self.LetCardManager then
- self.LetCardManager:addItem(self.ui.Items.CheckBox_4_1, 0) -- 0
- self.LetCardManager:addItem(self.ui.Items.CheckBox_4_2, 2) -- 2
- self.LetCardManager:addItem(self.ui.Items.CheckBox_4_3, 3) -- 3
- self.LetCardManager:addItem(self.ui.Items.CheckBox_4_4, 4) -- 4
-
- local default = self:getDefaultValue("rangPai") or 0
- self.LetCardManager:setDefault(default)
- self.LetCardManager:setCallback(function ()
- playBtnEffect()
- end)
-
- --说明
- self.ui.Items.ImageView_RP4:setVisible(false)
- self.ui.Items.Button_RP4:registerClick(function()
- self.ui.Items.ImageView_RP4:setVisible(not self.ui.Items.ImageView_RP4:isVisible())
- end)
- end
-
- -- 玩法
- if self.WanFaManager then
- local values = {
- [1] = {selectValue = 0x01, unselectValue = 0},
- [2] = {selectValue = 0x02, unselectValue = 0},
- [3] = {selectValue = 0x04, unselectValue = 0},
- [4] = {selectValue = 0x08, unselectValue = 0},
- [5] = {selectValue = 0x10, unselectValue = 0},
- [6] = {selectValue = 0x20, unselectValue = 0},
- }
- self.WanFaManager:addItem(self.ui.Items.CheckBox_6_3, values[1].selectValue, values[1].selectValue, values[1].unselectValue) -- 三张
- self.WanFaManager:addItem(self.ui.Items.CheckBox_6_2, values[2].selectValue, values[2].selectValue, values[2].unselectValue) -- 三带二
- self.WanFaManager:addItem(self.ui.Items.CheckBox_6_1, values[3].selectValue, values[3].selectValue, values[3].unselectValue) -- 四带二
- self.WanFaManager:addItem(self.ui.Items.CheckBox_5_1, values[4].selectValue, values[4].selectValue, values[4].unselectValue) -- 加倍
- self.WanFaManager:addItem(self.ui.Items.CheckBox_5_2, values[5].selectValue, values[5].selectValue, values[5].unselectValue) -- 底牌翻倍
- self.WanFaManager:addItem(self.ui.Items.CheckBox_5_3, values[6].selectValue, values[6].selectValue, values[6].unselectValue) -- 轮流先叫
-
- -- 设置默认状态
- local tValues = {}
- local default = self:getDefaultValue("specialRule") or 0
-
- for k,v in ipairs(values) do
- if getNumBand(default, v.selectValue) > 0 then
- table.insert(tValues, v.selectValue)
- end
- end
- self.WanFaManager:setDefault(tValues)
- end
-
- -- 其它
- if self.OtherManager then
- local values = {
- [1] = {selectValue = 0x01, unselectValue = 0},
- }
- self.OtherManager:addItem(self.ui.Items.CheckBox_7_1, values[1].selectValue, values[1].selectValue, values[1].unselectValue) -- 屏蔽...
-
- -- 设置默认状态
- local tValues = {}
- local default = self:getDefaultValue("extPlay") or 0
- for k,v in ipairs(values) do
- if getNumBand(default, v.selectValue) > 0 then
- table.insert(tValues, v.selectValue)
- end
- end
- self.OtherManager:setDefault(tValues)
- end
-
- self:initJiFenBeiShu()
- self:initLayoutEvent()
- self:initOtherCheckBoxManager()
- end
-
-
-
- ---
- -- 初始化其他选项
- -- @return
- --
- function CreateRoom:initOtherCheckBoxManager ()
- if not self.otherCheckBoxManager then
- return
- end
-
- 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:initCreateRoomCost ()
- -- 整理不同局数对应的房卡消耗
- local payTypes={}
- local gameConfig = app.user:getGameConfig(GAME_IDS.ERDouDiZhu)--app.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
- payTypes[gameRound] =
- {
- roomCard = arrRequireCards[idx],
- roomCardAA = arrRequireCardsAA[idx],
- }
- end
- end
- self.cost = payTypes
- end
-
- function CreateRoom: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.roomCard or 0
- elseif payMode == 1 then
- return costInfo.roomCardAA or 0
- end
- end
- end
- return 0
- end
-
- function CreateRoom:initLayoutEvent()
- self.ui.Items.Layout_liuzhou:registerClick(function()
- local buttons = {
- {buttonName = "Button_RP4", tipsName = "ImageView_RP4"},
- {buttonName = "Button_JFBS", tipsName = "ImageView_JFBS"},
- };
-
- -- 隐藏其他提示信息
- for k, v in ipairs(buttons) do
- local tipsNode = self.ui.Items[v.tipsName]
- tipsNode:setVisible(false)
- end
- end)
- end
-
- -- 初始化积分倍数
- function CreateRoom: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)
-
- -- self.ui.Items.Layout_JiFenBeiShu:setVisible(false)
- end
- --更新积分倍数
- function CreateRoom: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: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: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:getRuleResult()
- -- 钻石
- local deductRule = self.PayRadioManager:getResult()
- -- 模式
- local playMode = self.GameModeManager:getResult()
- -- 封顶
- local scoreLimit = self.FengDingManager:getResult()
- -- 让牌
- local rangPai = self.LetCardManager:getResult()
- -- 玩法
- local nSpecialRuleTable = self.WanFaManager:getResult()
- local specialRule = 0
- for i, v in pairs(nSpecialRuleTable) do
- specialRule = getNumOr(specialRule, v.value)
- end
-
- -- 其他
- local nExtPlayTable = self.OtherManager:getResult2()
- local extPlay = nExtPlayTable[1]
-
- -- 屏蔽开关,大厅用的这个字段来表示,所以另加多一次
- -- local forbidProp = extPlay
-
- local other = self.otherCheckBoxManager:getResult2()
- local forbidProp = other["forbidProp"]
- local forbidVoice = other["forbidVoice"]
-
- self.defaultValus =
- {
- gameid = self.gameid,
- gamerule = 1,
- game_num = juShu,
- deductRule= deductRule,
- playMode = playMode,
- scoreLimit = scoreLimit,
- rangPai = rangPai,
- specialRule = specialRule,
- -- extPlay = extPlay,
- baseMulti = self.curJFBS,
- forbidProp = forbidProp,
- forbidVoice = forbidVoice,
- }
-
- -- 保存玩家的选择
- self:saveDefaultValues()
-
- local strGameInfo = json.encode(self.defaultValus)
- return juShu, strGameInfo
- end
-
- return CreateRoom
|