From ccf13a0e8b0a80d6f267866b72067e2480df3a96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BD=97=E5=AE=B6=E7=82=9C?= <2029049582@qq.com> Date: Thu, 24 Apr 2025 11:24:36 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=91=E6=BA=AA=E7=8E=A9=E6=B3=95=E5=88=9B?= =?UTF-8?q?=E5=BB=BA=E4=B8=A2=E5=A4=B1=E9=A1=B5=E9=9D=A2=E8=A1=A5=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../extend/majiang/jinxi/EXGameInfo.lua | 262 +++++++++--------- .../extend/majiang/lichuan/EXMainView.lua | 2 +- .../majiang/jinxi/ui/Info_MJ_JinXi_fui.bytes | Bin 13135 -> 22089 bytes 3 files changed, 132 insertions(+), 132 deletions(-) diff --git a/lua_probject/extend_project/extend/majiang/jinxi/EXGameInfo.lua b/lua_probject/extend_project/extend/majiang/jinxi/EXGameInfo.lua index 0766af4c..9546de52 100644 --- a/lua_probject/extend_project/extend/majiang/jinxi/EXGameInfo.lua +++ b/lua_probject/extend_project/extend/majiang/jinxi/EXGameInfo.lua @@ -4,195 +4,195 @@ local M = EXGameInfo function EXGameInfo.new(blur_view) - setmetatable(M, { __index = IGameInfo }) - local self = setmetatable({}, { __index = M }) - self.class = "EXGameInfo" - UIPackage.AddPackage("extend/majiang/jinxi/ui/Info_MJ_JinXi") - return self + setmetatable(M, { __index = IGameInfo }) + local self = setmetatable({}, { __index = M }) + self.class = "EXGameInfo" + UIPackage.AddPackage("extend/majiang/jinxi/ui/Info_MJ_JinXi") + return self end function M:FillData() - self._maxPlayer = 4 -- 默认玩家人数 - self._roundChoice = 3 -- 回合选项数 - self._config = UIPackage.CreateObjectFromURL("ui://Info_MJ_JinXi/Label_Detail_83") + self._maxPlayer = 4 -- 默认玩家人数 + self._roundChoice = 3 -- 回合选项数 + self._config = UIPackage.CreateObjectFromURL("ui://Info_MJ_JinXi/Label_Detail_83") - local jiangmaSlider = self._config:GetChild("n92") - jiangmaSlider.onChanged:Set(function() - self._config:GetChild("n93").text = string.format("奖%s马", Mathf.Round(jiangmaSlider.value) * 2) - end) + local jiangmaSlider = self._config:GetChild("n92") + jiangmaSlider.onChanged:Set(function() + self._config:GetChild("n93").text = string.format("奖%s马", Mathf.Round(jiangmaSlider.value) * 2) + end) - -- if oldGameVersion == 2 then - -- self._config:GetController("xipai").selectedIndex = 0 + -- if oldGameVersion == 2 then + -- self._config:GetController("xipai").selectedIndex = 0 - -- self.xipaiValueText = self._config:GetChild('xipaifen') - -- self.xipaiValueText.text = 1 - -- self.xipaiValue = 1 + -- self.xipaiValueText = self._config:GetChild('xipaifen') + -- self.xipaiValueText.text = 1 + -- self.xipaiValue = 1 - -- self.anchouValueText = self._config:GetChild('anchoufen') - -- self.anchouValueText.text = 1 - -- self.anchouValue = 1 + -- self.anchouValueText = self._config:GetChild('anchoufen') + -- self.anchouValueText.text = 1 + -- self.anchouValue = 1 - -- local btn_cr = self._config:GetChild('sdsrbtn') - -- btn_cr.onClick:Set( - -- function() - -- local gniv = GroupNumberInputView_Game.new(nil, function(num) - -- local value = limit - -- if otype == 1 then - -- value = value + ad2d(num) - -- elseif otype == -1 then - -- value = value - ad2d(num) - -- else - -- value = ad2d(num) - -- end + -- local btn_cr = self._config:GetChild('sdsrbtn') + -- btn_cr.onClick:Set( + -- function() + -- local gniv = GroupNumberInputView_Game.new(nil, function(num) + -- local value = limit + -- if otype == 1 then + -- value = value + ad2d(num) + -- elseif otype == -1 then + -- value = value - ad2d(num) + -- else + -- value = ad2d(num) + -- end - -- if value < 0 then - -- ViewUtil.ErrorTip(1, "输入数据异常!") - -- end + -- if value < 0 then + -- ViewUtil.ErrorTip(1, "输入数据异常!") + -- end - -- self.xipaiValueText.text = value / 1000 - -- self.xipaiValue = value / 1000 - -- end, 3, nil) - -- gniv:Show() - -- end - -- ) + -- self.xipaiValueText.text = value / 1000 + -- self.xipaiValue = value / 1000 + -- end, 3, nil) + -- gniv:Show() + -- end + -- ) - -- local btn_cr2 = self._config:GetChild('anchoubtn') - -- btn_cr2.onClick:Set( - -- function() - -- local gniv = GroupNumberInputView_Game.new(nil, function(num) - -- local value = limit - -- if otype == 1 then - -- value = value + ad2d(num) - -- elseif otype == -1 then - -- value = value - ad2d(num) - -- else - -- value = ad2d(num) - -- end + -- local btn_cr2 = self._config:GetChild('anchoubtn') + -- btn_cr2.onClick:Set( + -- function() + -- local gniv = GroupNumberInputView_Game.new(nil, function(num) + -- local value = limit + -- if otype == 1 then + -- value = value + ad2d(num) + -- elseif otype == -1 then + -- value = value - ad2d(num) + -- else + -- value = ad2d(num) + -- end - -- if value < 0 then - -- ViewUtil.ErrorTip(1, "输入数据异常!") - -- end + -- if value < 0 then + -- ViewUtil.ErrorTip(1, "输入数据异常!") + -- end - -- self.anchouValueText.text = value / 1000 - -- self.anchouValue = value / 1000 - -- end, 3, nil) - -- gniv:Show() - -- end - -- ) - -- end + -- self.anchouValueText.text = value / 1000 + -- self.anchouValue = value / 1000 + -- end, 3, nil) + -- gniv:Show() + -- end + -- ) + -- end end local _help_url = "ui://Info_MJ_JinXi/Com_help" function M:GetHelpUrl() - return _help_url + return _help_url end local _icon_url = "ui://Info_MJ_JinXi/icon" function M:GetIconUrl() - return _icon_url + return _icon_url end local _icon_url1 = "ui://Info_MJ_JinXi/icon1" function M:GetIconUrl1() - return _icon_url1 + return _icon_url1 end local _play_list = {} function M:GetPlayList() - return _play_list + return _play_list end function M:SelectedConfigData() - local _config = self._config - local round = _config:GetController("round").selectedIndex + 1 - local people = _config:GetController("peopleNum").selectedIndex + 2 + local _config = self._config + local round = _config:GetController("round").selectedIndex + 1 + local people = _config:GetController("peopleNum").selectedIndex + 2 - local zimo = _config:GetController("ZiMo").selectedIndex - local gangjiangma = _config:GetController("GangJiangMa").selectedIndex - local fengding = _config:GetController("FengDing").selectedIndex - local sanjingjiangma = _config:GetController("SanJingJiangMa").selectedIndex - local zikechengshun = _config:GetController("ZiKeChengShun").selectedIndex + local zimo = _config:GetController("ZiMo").selectedIndex + local gangjiangma = _config:GetController("GangJiangMa").selectedIndex + local fengding = _config:GetController("FengDing").selectedIndex + local sanjingjiangma = _config:GetController("SanJingChengMa").selectedIndex + local zikechengshun = _config:GetController("ZiKeChengShun").selectedIndex - local jiangma = Mathf.Round(_config:GetChild("n92").value) + local jiangma = Mathf.Round(_config:GetChild("n92").value) - local xi_pai = false - local xi_paifen = 0 - if _config:GetChild("xipai") then - xi_pai = _config:GetChild("xipai").selected - end + local xi_pai = false + local xi_paifen = 0 + if _config:GetChild("xipai") then + xi_pai = _config:GetChild("xipai").selected + end - ------ - local _data = {} - _data["opt"] = round - _data["maxPlayers"] = people + ------ + local _data = {} + _data["opt"] = round + _data["maxPlayers"] = people - _data["zimo"] = zimo - _data["gangjiangma"] = gangjiangma - _data["fengding"] = fengding - _data["sanjingjiangma"] = sanjingjiangma - _data["zikechengshun"] = zikechengshun + _data["zimo"] = zimo + _data["gangjiangma"] = gangjiangma + _data["fengding"] = fengding + _data["sanjingjiangma"] = sanjingjiangma + _data["zikechengshun"] = zikechengshun - _data["jiangma"] = jiangma - _data['xi_pai'] = xi_pai + _data["jiangma"] = jiangma + _data['xi_pai'] = xi_pai - local xi_pai_score = 0 - local an_chou_score = 0 - -- if oldGameVersion == 2 then - -- xi_pai_score = self.xipaiValue - -- an_chou_score = self.anchouValue - -- end + local xi_pai_score = 0 + local an_chou_score = 0 + -- if oldGameVersion == 2 then + -- xi_pai_score = self.xipaiValue + -- an_chou_score = self.anchouValue + -- end - _data['xi_pai_score'] = xi_pai_score * 1000 - _data['an_chou_score'] = an_chou_score * 1000 + _data['xi_pai_score'] = xi_pai_score * 1000 + _data['an_chou_score'] = an_chou_score * 1000 - return _data + return _data end function M:LoadConfigData(data) - --printlog("加载房间配置=========>>>") - --pt(data) - local _config = self._config - _config:GetController("round").selectedIndex = data.opt - 1 - _config:GetController("play_list").selectedIndex = data.maxPlayers - 2 + --printlog("加载房间配置=========>>>") + --pt(data) + local _config = self._config + _config:GetController("round").selectedIndex = data.opt - 1 + _config:GetController("play_list").selectedIndex = data.maxPlayers - 2 - _config:GetController("fengding").selectedIndex = data.fengding + _config:GetController("fengding").selectedIndex = data.fengding - _config:GetController("wanfa").selectedIndex = data.wanfa - _config:GetChild("btn_qidui").selected = data.qiduijiafan - _config:GetChild("btn_shoudailong").selected = data.shoudailongjiafan - _config:GetChild("btn_loudilong").selected = data.loudilongjiafan - _config:GetChild("btn_bunengchi").selected = data.bunengchi + _config:GetController("wanfa").selectedIndex = data.wanfa + _config:GetChild("btn_qidui").selected = data.qiduijiafan + _config:GetChild("btn_shoudailong").selected = data.shoudailongjiafan + _config:GetChild("btn_loudilong").selected = data.loudilongjiafan + _config:GetChild("btn_bunengchi").selected = data.bunengchi - _config:GetChild("btn_doudizhu").selected = data.doudizhu - _config:GetChild("btn_doudizhufanbei").selected = data.doudizhufanbei + _config:GetChild("btn_doudizhu").selected = data.doudizhu + _config:GetChild("btn_doudizhufanbei").selected = data.doudizhufanbei - if _config:GetChild("xipai") then - _config:GetChild("xipai").selected = data.xi_pai - end + if _config:GetChild("xipai") then + _config:GetChild("xipai").selected = data.xi_pai + end - if oldGameVersion == 2 then - self.xipaiValueText.text = data.xi_pai_score / 1000 - self.xipaiValue = data.xi_pai_score / 1000 + if oldGameVersion == 2 then + self.xipaiValueText.text = data.xi_pai_score / 1000 + self.xipaiValue = data.xi_pai_score / 1000 - self.anchouValueText.text = data.an_chou_score / 1000 - self.anchouValue = data.an_chou_score / 1000 - end + self.anchouValueText.text = data.an_chou_score / 1000 + self.anchouValue = data.an_chou_score / 1000 + end end function M:LoadConfigToDetail(data) - local configData = json.decode(data) - local returnString = string.format("人数%s人,%s马,%s,%s,%s%s,%s", configData.maxPlayers, - configData.jiangma and string.format("奖%d", configData.jiangma) or "不奖", - configData.zimo and "只能自摸" or "自摸可点炮", - configData.tuoguan and string.format("%d秒后自动托管", configData.tuoguan_active_time) or "不能托管", - configData.sanjingjiangma and "三精算奖马" or "三精不算奖马", configData.fengding and ",封顶10炮" or "", - configData.zikechengshun and "字可成顺" or "字不可成顺") - return returnString + local configData = json.decode(data) + local returnString = string.format("人数%s人,%s马,%s,%s,%s%s,%s", configData.maxPlayers, + configData.jiangma and string.format("奖%d", configData.jiangma) or "不奖", + configData.zimo and "只能自摸" or "自摸可点炮", + configData.tuoguan and string.format("%d秒后自动托管", configData.tuoguan_active_time) or "不能托管", + configData.sanjingjiangma and "三精算奖马" or "三精不算奖马", configData.fengding and ",封顶10炮" or "", + configData.zikechengshun and "字可成顺" or "字不可成顺") + return returnString end return M diff --git a/lua_probject/extend_project/extend/majiang/lichuan/EXMainView.lua b/lua_probject/extend_project/extend/majiang/lichuan/EXMainView.lua index f0bd471f..8c6e5e53 100644 --- a/lua_probject/extend_project/extend/majiang/lichuan/EXMainView.lua +++ b/lua_probject/extend_project/extend/majiang/lichuan/EXMainView.lua @@ -26,7 +26,7 @@ function M:InitView(url) self._full = true UIPackage.AddPackage("extend/majiang/lichuan/ui/Extend_MJ_LiChuan") if self._room.room_config.people_num == 2 then - MJMainView.InitView(self, "ui://Main_Majiang/Main_new_" .. room.room_config.people_num) + MJMainView.InitView(self, "ui://Main_Majiang/Main_new_" .. room.room_config.people_num .. "_jiangxi") else MJMainView.InitView(self, "ui://Main_Majiang/Main_" .. room.room_config.people_num .. "_s2") end diff --git a/wb_unity_pro/Assets/ART/extend/majiang/jinxi/ui/Info_MJ_JinXi_fui.bytes b/wb_unity_pro/Assets/ART/extend/majiang/jinxi/ui/Info_MJ_JinXi_fui.bytes index ba9b3cd1cf2d97e834d882149b768f90f6449b98..59825391e6b027d4310c6a2d61e4cdad72e87324 100644 GIT binary patch literal 22089 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