新两人显示
parent
495e3cffd7
commit
728a07e106
|
|
@ -271,7 +271,7 @@ function pt(...)
|
|||
end
|
||||
end
|
||||
if not has then
|
||||
-- print(...)
|
||||
print(...)
|
||||
end
|
||||
|
||||
local content = ""
|
||||
|
|
@ -281,7 +281,7 @@ function pt(...)
|
|||
else
|
||||
content = content .. "==>[T]:" .. LuaPrint(v, limit), debug.traceback() .. "\n"
|
||||
end
|
||||
-- print(content)
|
||||
print(content)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -0,0 +1,605 @@
|
|||
require("Game.View.ResultView")
|
||||
local Hu_Type_Name = import(".CS_Win_Type")
|
||||
|
||||
local EXClearingView = {}
|
||||
|
||||
local M = EXClearingView
|
||||
|
||||
function EXClearingView.new(blur_view)
|
||||
setmetatable(M, { __index = ResultView })
|
||||
local self = setmetatable({}, { __index = M })
|
||||
self._full = true
|
||||
ResultView.init(self, "ui://Main_Majiang/clearing_jiangxi")
|
||||
|
||||
self._currenIndex = 0
|
||||
self._blur_view = blur_view
|
||||
self._close_zone = false
|
||||
self:InitMaPai()
|
||||
|
||||
return self
|
||||
end
|
||||
|
||||
function M:InitMaPai()
|
||||
self.maPaiCtr = self._view:GetController("mapai")
|
||||
self.maPaiCtr.selectedIndex = 0
|
||||
|
||||
self.maPaiList = {}
|
||||
|
||||
for i = 1, 8 do
|
||||
local tempMP = self._view:GetChild("niao" .. i)
|
||||
table.insert(self.maPaiList, tempMP)
|
||||
end
|
||||
end
|
||||
|
||||
function M:IsMapaiShow(niao, isShow)
|
||||
if niao then
|
||||
niao.visible = isShow
|
||||
end
|
||||
end
|
||||
|
||||
function M:SetMaPaiValue(niao, value)
|
||||
if niao then
|
||||
niao.icon = 'ui://Main_Majiang/' .. get_majiang_prefix(DataManager.CurrenRoom.game_id) .. "201_" .. value
|
||||
end
|
||||
end
|
||||
|
||||
function M:SetMaPaiColor(niao, num)
|
||||
niao:GetController("color").selectedIndex = num
|
||||
end
|
||||
|
||||
function M:HideAllMapai()
|
||||
for i = 1, #self.maPaiList do
|
||||
self:IsMapaiShow(self.maPaiList[i], false)
|
||||
self:SetMaPaiColor(self.maPaiList[i], 0)
|
||||
end
|
||||
end
|
||||
|
||||
function M:ShowSelectMaPai(niaoList)
|
||||
if niaoList and #niaoList > 0 then
|
||||
self.maPaiCtr.selectedIndex = 1
|
||||
self:HideAllMapai()
|
||||
for i = 1, #niaoList do
|
||||
self:IsMapaiShow(self.maPaiList[i], true)
|
||||
self:SetMaPaiValue(self.maPaiList[i], niaoList[i].card)
|
||||
if niaoList[i].score > 0 then
|
||||
self:SetMaPaiColor(self.maPaiList[i], 2)
|
||||
end
|
||||
end
|
||||
else
|
||||
self.maPaiCtr.selectedIndex = 0
|
||||
end
|
||||
end
|
||||
|
||||
function M:CalculatePaixingInfo(result)
|
||||
self.WinList = {}
|
||||
if result.info_list and #result.info_list > 0 then
|
||||
for i = 1, #result.info_list do
|
||||
if result.info_list[i].win_list and #result.info_list[i].win_list > 0 then
|
||||
table.insert(self.WinList, result.info_list[i].win_list)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
printlog("牌型列表====>>>")
|
||||
pt(self.WinList)
|
||||
end
|
||||
|
||||
function M:SetPaixingxiangqing(num)
|
||||
for i = 1, #self.PaiXingXiangQingCtrList do
|
||||
if self.PaiXingXiangQingCtrList[i] then
|
||||
self.PaiXingXiangQingCtrList[i].selectedIndex = num
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function M:InitData(over, room, result, total_result, callback)
|
||||
self._callback = callback
|
||||
local _overCtr = self._view:GetController("over")
|
||||
local btn_confirm = self._view:GetChild("btn_confirm")
|
||||
local btn_result = self._view:GetChild("btn_showResult")
|
||||
local btn_close = self._view:GetChild("big_result"):GetChild("btn_close")
|
||||
local _btnCtr = self._view:GetController("button")
|
||||
local _sdkCtr = self._view:GetController("sdk")
|
||||
local ctr_type = self._view:GetController("type")
|
||||
|
||||
self._view:GetChild("tex_roominfo").text = string.format("房号%s 局%s/%s %s", room.room_id, room.curren_round,
|
||||
room.room_config.round, os.date("%Y-%m-%d %H:%M:%S", os.time()))
|
||||
self._view:GetChild("tex_gameinfo").text = string.gsub(room.room_config:GetDes2(), "\r", "")
|
||||
|
||||
if result then
|
||||
self:ShowSelectMaPai(result.niao)
|
||||
self:CalculatePaixingInfo(result)
|
||||
end
|
||||
|
||||
self.PaiXingXiangQingCtrList = {}
|
||||
|
||||
local paixingxiangqing = self._view:GetChild("btn_detal")
|
||||
local fanhuipaixing = self._view:GetChild("btn_fanhuipaixing")
|
||||
fanhuipaixing.visible = false
|
||||
paixingxiangqing.visible = true
|
||||
paixingxiangqing.onClick:Add(function()
|
||||
paixingxiangqing.visible = false
|
||||
fanhuipaixing.visible = true
|
||||
self:SetPaixingxiangqing(1)
|
||||
end)
|
||||
fanhuipaixing.onClick:Add(function()
|
||||
paixingxiangqing.visible = true
|
||||
fanhuipaixing.visible = false
|
||||
self:SetPaixingxiangqing(0)
|
||||
end)
|
||||
|
||||
|
||||
if over ~= 2 then
|
||||
if result.liuju then
|
||||
ctr_type.selectedIndex = 3
|
||||
else
|
||||
local info_list = result.info_list
|
||||
for i = 1, #info_list do
|
||||
local is_win = info_list[i].is_win
|
||||
if is_win then
|
||||
if info_list[i].seat == room.self_player.seat then
|
||||
ctr_type.selectedIndex = 1
|
||||
else
|
||||
ctr_type.selectedIndex = 2
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
if over == 0 then
|
||||
_btnCtr.selectedIndex = 0
|
||||
_sdkCtr.selectedIndex = 1
|
||||
btn_confirm.onClick:Add(function()
|
||||
local _gamectr = ControllerManager.GetController(GameController)
|
||||
_gamectr:PlayerReady()
|
||||
self:DestroyWithCallback()
|
||||
end)
|
||||
self:AddClearItem(room, result.info_list, nil, over, result.niao, result.active_player)
|
||||
elseif over == 1 then
|
||||
_btnCtr.selectedIndex = 1
|
||||
_sdkCtr.selectedIndex = 1
|
||||
btn_result.onClick:Add(function()
|
||||
self.maPaiCtr.selectedIndex = 0
|
||||
_overCtr.selectedIndex = 1
|
||||
_btnCtr.selectedIndex = 0
|
||||
_sdkCtr.selectedIndex = 0
|
||||
if self._qsinfo_view then
|
||||
self._qsinfo_view:Dispose()
|
||||
end
|
||||
end)
|
||||
btn_close.onClick:Add(function()
|
||||
ViewManager.ChangeView(ViewManager.View_Lobby)
|
||||
end)
|
||||
|
||||
self:AddClearItem(room, result.info_list, total_result.info_list, over, result.niao, result.active_player)
|
||||
end
|
||||
else
|
||||
_overCtr.selectedIndex = 1
|
||||
self.maPaiCtr.selectedIndex = 0
|
||||
btn_close.onClick:Add(function()
|
||||
ViewManager.ChangeView(ViewManager.View_Lobby)
|
||||
end)
|
||||
|
||||
self:AddClearItem(room, nil, total_result.info_list, over)
|
||||
end
|
||||
-----------------------lingmeng----------------------------
|
||||
local showClearMainBtn = self._view:GetChild("btn_showClearMain")
|
||||
local nextRoundBtn = self._view:GetChild("btn_nextRound")
|
||||
local MainCtr = self._view:GetController("main")
|
||||
|
||||
showClearMainBtn.onClick:Set(function()
|
||||
MainCtr.selectedIndex = 1
|
||||
end)
|
||||
|
||||
nextRoundBtn.onClick:Set(function()
|
||||
local _gamectr = ControllerManager.GetController(GameController)
|
||||
_gamectr:PlayerReady()
|
||||
self:DestroyWithCallback()
|
||||
end)
|
||||
-----------------------------------------------------------
|
||||
end
|
||||
|
||||
function M:AddClearItem(room, data, total_data, over, niao, active_player)
|
||||
local n = over + 1
|
||||
local list_view1 = self._view:GetChild("player_list_1")
|
||||
local list_view2 = self._view:GetChild("player_list_2")
|
||||
|
||||
if 0 == over or 1 == over then
|
||||
table.sort(data, function(a, b) return a.seat < b.seat end)
|
||||
list_view1:RemoveChildrenToPool()
|
||||
|
||||
for i = 1, #data do
|
||||
local item = list_view1:AddItemFromPool()
|
||||
self:FillItemData(room, data[i], item, active_player, niao)
|
||||
end
|
||||
if #data == 3 then
|
||||
list_view1.lineGap = 54
|
||||
elseif #data == 2 then
|
||||
list_view1.lineGap = 108
|
||||
end
|
||||
if 1 == over then
|
||||
self:FillItemData2(room, total_data, list_view2)
|
||||
end
|
||||
elseif 2 == over then
|
||||
self:FillItemData2(room, total_data, list_view2)
|
||||
end
|
||||
end
|
||||
|
||||
function M:FillItemData(room, data, item, active_player, niao)
|
||||
local _gamectr = ControllerManager.GetController(GameController)
|
||||
local p = room:GetPlayerBySeat(data["seat"])
|
||||
item:GetChild("playerName").text = p.self_user.nick_name
|
||||
item:GetChild("lab_hp").text = "" --抓马
|
||||
local user = room:GetPlayerBySeat(data["seat"]).self_user
|
||||
local head = item:GetChild('head'):GetChild('n4')
|
||||
ImageLoad.Load(user.head_url, head)
|
||||
|
||||
-- 手牌
|
||||
local hand_cards = data["hand_card"]
|
||||
table.sort(hand_cards, ViewUtil.HandCardSort)
|
||||
local hand_list_view = item:GetChild("hand_card_list")
|
||||
hand_list_view:RemoveChildrenToPool()
|
||||
for i = 1, #hand_cards do
|
||||
local card = hand_list_view:AddItemFromPool()
|
||||
card.icon = "ui://Main_Majiang/202_" .. hand_cards[i]
|
||||
end
|
||||
hand_list_view.width = 52 * #hand_cards
|
||||
|
||||
local fz_card = p.fz_list
|
||||
local fz_card_list = item:GetChild("fz_card_list")
|
||||
fz_card_list.width = 157 * #fz_card * 0.8
|
||||
fz_card_list:RemoveChildrenToPool()
|
||||
|
||||
for i = 1, #fz_card do
|
||||
if fz_card[i].type == FZType.Peng then
|
||||
local item = fz_card_list:AddItemFromPool("ui://Main_Majiang/clearing_fz_3")
|
||||
for j = 1, 3 do
|
||||
local card = item:GetChild("card_" .. j)
|
||||
card.icon = "ui://Main_Majiang/202_" .. fz_card[i].card
|
||||
end
|
||||
elseif fz_card[i].type == FZType.Chi then
|
||||
local item = fz_card_list:AddItemFromPool("ui://Main_Majiang/clearing_fz_3")
|
||||
for j = 1, 3 do
|
||||
local card = item:GetChild("card_" .. j)
|
||||
card.icon = "ui://Main_Majiang/" .. self:GetPrefix() .. "202_" .. fz_card[i].opcard[j]
|
||||
end
|
||||
elseif fz_card[i].type == FZType.Gang or fz_card[i].type == FZType.Gang_An or fz_card[i].type == FZType.Gang_Peng then
|
||||
local item = fz_card_list:AddItemFromPool("ui://Main_Majiang/clearing_fz_4")
|
||||
for j = 1, 4 do
|
||||
local card = item:GetChild("card_" .. j)
|
||||
if fz_card[i].type == FZType.Gang_An and j == 4 then
|
||||
card.icon = "ui://Main_Majiang/202_00"
|
||||
else
|
||||
card.icon = "ui://Main_Majiang/202_" .. fz_card[i].card
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local huadd = data["hu_score"]
|
||||
local gangadd = data["gang_score"]
|
||||
local jingadd = data["jing_score"]
|
||||
local total = data["round_score"]
|
||||
local geng_zhuan = data["geng_zhuan"]
|
||||
local sp = " "
|
||||
local str = "胡:" .. huadd .. "分"
|
||||
if gangadd then
|
||||
str = str .. sp .. "杠:" .. gangadd .. "分"
|
||||
end
|
||||
if jingadd then
|
||||
str = str .. sp .. "博精:" .. jingadd .. "分"
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
item:GetChild("score1").text = str
|
||||
-- local total_score = data["total_score"]
|
||||
if total >= 0 then
|
||||
item:GetChild("score2").text = "+" .. total
|
||||
item:GetChild("score2").grayed = false
|
||||
else
|
||||
item:GetChild("score2").text = total
|
||||
item:GetChild("score2").grayed = true
|
||||
end
|
||||
|
||||
|
||||
--计算牌型
|
||||
local totalPeson = DataManager.CurrenRoom.room_config.people_num - 1
|
||||
local win_list = data["win_list"]
|
||||
local is_win = data["is_win"] or false
|
||||
local str1 = ""
|
||||
sp = "、"
|
||||
if is_win then
|
||||
if win_list then
|
||||
if DataManager.CurrenRoom.isZiMoHu then
|
||||
str1 = "自摸"
|
||||
else
|
||||
str1 = "接炮"
|
||||
end
|
||||
for i = 1, #win_list do
|
||||
local huName = Hu_Type_Name[win_list[i].type]
|
||||
if huName then
|
||||
str1 = str1 .. sp .. huName .. "x" .. win_list[i].score
|
||||
end
|
||||
end
|
||||
str1 = str1 .. " +" .. huadd .. "分"
|
||||
end
|
||||
else
|
||||
printlog("输家============")
|
||||
if DataManager.CurrenRoom.isZiMoHu then
|
||||
printlog("自摸处理============")
|
||||
--str1=""
|
||||
if #self.WinList == 1 then
|
||||
for i = 1, #self.WinList do
|
||||
for j = 1, #self.WinList[i] do
|
||||
local huName = Hu_Type_Name[self.WinList[i][j].type]
|
||||
if huName then
|
||||
if j == 1 then
|
||||
str1 = str1 .. huName .. "x" .. self.WinList[i][j].score
|
||||
else
|
||||
str1 = str1 .. sp .. huName .. "x" .. self.WinList[i][j].score
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
str1 = str1 .. " " .. huadd .. "分"
|
||||
else
|
||||
printlog("服务端自摸计算异常===>>>")
|
||||
end
|
||||
else
|
||||
printlog("非自摸处理====>>>")
|
||||
--点炮 一炮多响
|
||||
local yipaoduoxiang = false
|
||||
if #self.WinList > 1 then
|
||||
yipaoduoxiang = true
|
||||
end
|
||||
|
||||
if yipaoduoxiang then
|
||||
printlog("一炮多响====>>>")
|
||||
str = "点炮"
|
||||
local allTypeList = {}
|
||||
local isHas = false
|
||||
for i = 1, #self.WinList do
|
||||
for j = 1, #self.WinList[i] do
|
||||
isHas = IsHasDictionary(self.WinList[i][j].type, allTypeList)
|
||||
if isHas == false then
|
||||
table.insert(allTypeList, self.WinList[i][j].type)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
if #allTypeList > 0 then
|
||||
for i = 1, #allTypeList do
|
||||
local huName = Hu_Type_Name[allTypeList[i]]
|
||||
if huName then
|
||||
str1 = str1 .. huName .. "、"
|
||||
end
|
||||
end
|
||||
str1 = str1 .. " " .. huadd .. "分"
|
||||
end
|
||||
else
|
||||
if p.self_user.account_id == active_player and is_win == false and not data["liuju"] then
|
||||
str1 = "点炮"
|
||||
if #self.WinList == 1 then
|
||||
for i = 1, # self.WinList do
|
||||
for j = 1, #self.WinList[i] do
|
||||
local huName = Hu_Type_Name[self.WinList[i][j].type]
|
||||
if huName then
|
||||
str1 = str1 .. sp .. huName .. "x" .. self.WinList[i][j].score
|
||||
end
|
||||
end
|
||||
end
|
||||
str1 = str1 .. " " .. huadd .. "分"
|
||||
else
|
||||
printlog("服务端自摸计算异常===>>>")
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
--
|
||||
printlog("牌型计算==>>>", str1)
|
||||
|
||||
if data["ming_gang_num"] > 0 then
|
||||
str1 = str1 .. " 明杠x" .. data["ming_gang_num"]
|
||||
end
|
||||
|
||||
if data["an_gang_num"] > 0 then
|
||||
str1 = str1 .. " 暗杠x" .. data["an_gang_num"]
|
||||
end
|
||||
|
||||
if data["dian_gang_num"] > 0 then
|
||||
str1 = str1 .. " 点杠x" .. data["dian_gang_num"]
|
||||
end
|
||||
|
||||
if gangadd ~= 0 then
|
||||
if gangadd > 0 then
|
||||
str1 = str1 .. " +" .. gangadd .. "分"
|
||||
else
|
||||
str1 = str1 .. " " .. gangadd .. "分"
|
||||
end
|
||||
end
|
||||
|
||||
if data["ma_geng_gong"] and data["ma_geng_gong"] ~= 0 then
|
||||
if data["ma_geng_gong"] > 0 then
|
||||
str1 = str1 .. " 马跟杠:+" .. data["ma_geng_gong"] .. "分"
|
||||
else
|
||||
str1 = str1 .. " 马跟杠:" .. data["ma_geng_gong"] .. "分"
|
||||
end
|
||||
end
|
||||
|
||||
if geng_zhuan and geng_zhuan ~= 0 then
|
||||
if geng_zhuan > 0 then
|
||||
str1 = str1 .. " 跟庄:+" .. geng_zhuan .. "分"
|
||||
else
|
||||
str1 = str1 .. " 跟庄:" .. geng_zhuan .. "分"
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
item:GetChild("score3").text = str1
|
||||
item:GetChild("score4").text = str1
|
||||
local paixingCtr = item:GetController("detail")
|
||||
table.insert(self.PaiXingXiangQingCtrList, paixingCtr)
|
||||
-------------------------
|
||||
|
||||
local hp_nonnegative = room:checkHpNonnegative()
|
||||
item:GetController("nonnegative").selectedIndex = hp_nonnegative and 1 or 0
|
||||
if hp_nonnegative then
|
||||
local hp_info = data.hp_info
|
||||
local ctr_hp_limit = item:GetController("hp_limit")
|
||||
local hp = d2ad(hp_info.round_actual_hp)
|
||||
if hp >= 0 then hp = "+" .. tostring(hp) end
|
||||
item:GetChild("tex_hp").text = hp
|
||||
ctr_hp_limit.selectedIndex = hp_info.upper_limit and 1 or 0
|
||||
end
|
||||
|
||||
|
||||
item:GetController("win").selectedIndex = is_win and 0 or 1
|
||||
if p.self_user.account_id == active_player and is_win == false and total < 0 then
|
||||
item:GetController("win").selectedIndex = 2
|
||||
end
|
||||
|
||||
if is_win then
|
||||
item:GetController("bg").selectedIndex = 1
|
||||
else
|
||||
item:GetController("bg").selectedIndex = 0
|
||||
end
|
||||
local win_card = item:GetChild("win_card")
|
||||
win_card.icon = "ui://Main_Majiang/202_" .. data["win_card"]
|
||||
|
||||
if niao and #niao > 0 then
|
||||
local currentNiaoList = self:CalculateNiao(niao, data["seat"])
|
||||
if currentNiaoList and #currentNiaoList > 0 then
|
||||
local lst_niao = item:GetChild("list_niao")
|
||||
lst_niao:RemoveChildrenToPool()
|
||||
for i = 1, #currentNiaoList do
|
||||
if currentNiaoList[i].score > 0 then
|
||||
local card_niao = lst_niao:AddItemFromPool()
|
||||
card_niao.icon = "ui://Main_Majiang/202_" .. currentNiaoList[i].card
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
|
||||
if p.seat == room.banker_seat then
|
||||
item:GetController("bank").selectedIndex = 1
|
||||
end
|
||||
end
|
||||
|
||||
function M:CalculateNiao(niaoList, seat)
|
||||
local tempNiao = {}
|
||||
for i = 1, #niaoList do
|
||||
if niaoList[i].seat == seat then
|
||||
table.insert(tempNiao, niaoList[i])
|
||||
end
|
||||
end
|
||||
return tempNiao
|
||||
end
|
||||
|
||||
function M:FillItemData2(room, data, list)
|
||||
-- 赋值result_info,聊天室分享需要
|
||||
local player_list = {}
|
||||
for i = 1, #data do
|
||||
player_list[i] = {}
|
||||
local user = room:GetPlayerBySeat(data[i].seat).self_user
|
||||
player_list[i].id = user.account_id
|
||||
player_list[i].hp_info = data[i].hp_info
|
||||
player_list[i].score = data[i].total_score
|
||||
player_list[i].house = room.owner_id == player_list[i].id and 1 or 0
|
||||
player_list[i].nick = user.nick_name
|
||||
player_list[i].head_url = user.head_url
|
||||
|
||||
local settle_log = data[i].settle_log
|
||||
player_list[i].param = {}
|
||||
player_list[i].param[1] = {}
|
||||
player_list[i].param[1].key = "自摸次数:"
|
||||
player_list[i].param[1].value = tostring(data[i].settle_log.zimo)
|
||||
player_list[i].param[2] = {}
|
||||
player_list[i].param[2].key = "接炮次数:"
|
||||
player_list[i].param[2].value = tostring(data[i].settle_log.jie_pao)
|
||||
player_list[i].param[3] = {}
|
||||
player_list[i].param[3].key = "点炮次数:"
|
||||
player_list[i].param[3].value = tostring(data[i].settle_log.dian_pao)
|
||||
player_list[i].param[4] = {}
|
||||
player_list[i].param[4].key = "暗杠次数:"
|
||||
player_list[i].param[4].value = tostring(data[i].settle_log.an_kong)
|
||||
player_list[i].param[5] = {}
|
||||
player_list[i].param[5].key = "明杠次数:"
|
||||
player_list[i].param[5].value = tostring(data[i].settle_log.ming_kong)
|
||||
end
|
||||
|
||||
local round = room.room_config.round
|
||||
self:GenerateRoomResultInfo(round, room.room_config:GetGameName(), room.room_id, room.create_time, player_list)
|
||||
local big_result = self._view:GetChild("big_result")
|
||||
big_result:GetChild("txt_room_info").text = string.format("%s 房号%s 局%s/%s", os.date("%Y/%m/%d", os.time()),
|
||||
room.room_id, room.curren_round, room.room_config.round)
|
||||
local lst_p = big_result:GetChild("player_list")
|
||||
if #player_list == 3 then
|
||||
lst_p.columnGap = 108
|
||||
elseif #player_list == 2 then
|
||||
lst_p.columnGap = 208
|
||||
end
|
||||
|
||||
self:InitBigResult(room, 30)
|
||||
local show_detail = room.hpOnOff == 1
|
||||
for i = 1, lst_p.numChildren do
|
||||
local com_p = lst_p:GetChildAt(i - 1)
|
||||
com_p:GetController("jsicon").selectedIndex = i - 1
|
||||
local list_param = com_p:GetChild("list_param")
|
||||
for j = 1, list_param.numChildren do
|
||||
local tem = list_param:GetChildAt(j - 1)
|
||||
tem:GetChild("txt_value").textFormat.size = 30
|
||||
end
|
||||
if show_detail then
|
||||
local score = 0
|
||||
if com_p:GetController("pn").selectedIndex == 0 then
|
||||
score = com_p:GetChild("txt_navigate").text
|
||||
else
|
||||
score = com_p:GetChild("txt_positive").text
|
||||
end
|
||||
score = score / room.score_times
|
||||
com_p:GetChild("tex_detail_score").text = string.format("%s × %s倍", score, room.score_times)
|
||||
end
|
||||
end
|
||||
|
||||
if room.group_id ~= 0 then
|
||||
big_result:GetController("group").selectedIndex = 1
|
||||
end
|
||||
DataManager.CurrenRoom = nil
|
||||
end
|
||||
|
||||
function M:LoadHead(p, room)
|
||||
local btn_head = self._view:GetChild("btn_head")
|
||||
for i = 1, #room.player_list do
|
||||
local player = room.player_list[i]
|
||||
if p.seat == player.seat and player.self_user.head_url ~= "" then
|
||||
ImageLoad.Load(player.self_user.head_url, btn_head.icon)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local prefix
|
||||
function M:GetPrefix()
|
||||
-- if not prefix then
|
||||
prefix = get_majiang_prefix(10)
|
||||
-- end
|
||||
return prefix
|
||||
end
|
||||
|
||||
function M:DestroyWithCallback()
|
||||
if self._callback then
|
||||
self._callback()
|
||||
end
|
||||
self:Destroy()
|
||||
end
|
||||
|
||||
return M
|
||||
|
|
@ -40,6 +40,19 @@ end
|
|||
|
||||
local __pre_delete_card = false
|
||||
-- 发送出牌指令到服务器
|
||||
|
||||
|
||||
-------------------------lingmeng---------------------------
|
||||
function M:SendNextCard(card)
|
||||
local _data = {}
|
||||
_data["seat"] = self._room.self_player.seat
|
||||
_data["card"] = card
|
||||
local _client = ControllerManager.GameNetClinet
|
||||
_client:send(TX_Protocol.GAME_NEXT_CARD, _data)
|
||||
end
|
||||
|
||||
------------------------------------------------------------
|
||||
|
||||
function M:SendOutCard(card, callback)
|
||||
local _data = {}
|
||||
_data["card"] = card
|
||||
|
|
@ -189,6 +202,7 @@ function M:OnEventTurn(evt_data)
|
|||
end
|
||||
|
||||
function M:OnEventFzTips(evt_data)
|
||||
print("========================OnEventFzTips")
|
||||
self._cacheEvent:Enqueue(function()
|
||||
local tiplist = FZTipList.new()
|
||||
local list = evt_data["tip_list"]
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
local MJPlayerSelfCardInfoView = import(".MJPlayerSelfCardInfoView")
|
||||
local MJPlayerCardInfoView = require("main.majiang.MJPlayerCardInfoView")
|
||||
local MJMainView = require("main.majiang.MJMainView")
|
||||
local EXClearingView = import(".EXClearingView")
|
||||
local EXClearingView = import(".EXClearingView_JiangXi")
|
||||
local TX_GameEvent = import(".GameEvent")
|
||||
local HuTipView = import("main.majiang.HuTipView")
|
||||
local SettingView = import("main.majiang.MJSettingViewNew")
|
||||
local SettingView = import(".EXSettingView")
|
||||
local PlayerInfoView = import(".EXPlayerInfoView")
|
||||
local M = {}
|
||||
|
||||
|
|
@ -42,8 +42,86 @@ function M:InitView(url)
|
|||
self.Laizi2Btn.visible = true
|
||||
self.bugangnum = self._view:GetChild("bugangnum")
|
||||
|
||||
--lingmeng
|
||||
---[[
|
||||
MJMainView.InitView(self, "ui://Main_Majiang/Main_new_" .. room.room_config.people_num)
|
||||
--]]
|
||||
|
||||
self.jing = self._view:GetChild('jing')
|
||||
|
||||
local showNextCtr = self._view:GetController('showNext')
|
||||
local ShowNextConfrimCtr = self._view:GetController('showNextConfrim')
|
||||
local showNextList = self._view:GetChild('list_showNext')
|
||||
local pop_showNextConfrim = self._view:GetChild('pop_showNextConfrim')
|
||||
local btn_closeRoom = self._view:GetChild("btn_setting")
|
||||
|
||||
self._view:GetChild('btn_closeRoom').onClick:Set(function()
|
||||
---[[
|
||||
--旧
|
||||
local tip_owner = '您是否退出房间?\n(退出房间后房间将解散)'
|
||||
local tip = '您是否退出房间?' -- \n (请注意,申请洗牌后退出,不会返还洗牌分)
|
||||
local tipStr = ''
|
||||
if self._room.agent then
|
||||
tipStr = '您是否退出房间?'
|
||||
else
|
||||
tipStr = self._room.owner_id == self._room.self_player.self_user.account_id and tip_owner or tip
|
||||
end
|
||||
local _curren_msg = MsgWindow.new(self._root_view, tipStr, MsgWindow.MsgMode.OkAndCancel)
|
||||
_curren_msg.onOk:Add(
|
||||
function()
|
||||
if self._state.selectedIndex > 0 and self._state.selectedIndex < 3 then
|
||||
ViewUtil.ErrorTip(nil, '房间已开始,无法退出游戏。')
|
||||
else
|
||||
ViewUtil.ShowModalWait(self._root_view)
|
||||
self._gamectr:LevelRoom(
|
||||
function(res)
|
||||
ViewUtil.CloseModalWait()
|
||||
if res.ReturnCode == 0 then
|
||||
ViewManager.ChangeView(ViewManager.View_Lobby)
|
||||
else
|
||||
ViewUtil.ErrorTip(res.ReturnCode)
|
||||
end
|
||||
end
|
||||
)
|
||||
end
|
||||
end
|
||||
)
|
||||
_curren_msg:Show()
|
||||
--]]
|
||||
end)
|
||||
|
||||
self._view:GetChild('btn_showNext').onClick:Set(function()
|
||||
showNextCtr.selectedIndex = 1
|
||||
end)
|
||||
|
||||
self._view:GetChild('btn_sendShow').onClick:Set(function()
|
||||
self:SendShowNext(ShowNextConfrimCtr)
|
||||
end)
|
||||
self._view:GetChild('btn_closeShow').onClick:Set(function()
|
||||
ShowNextConfrimCtr.selectedIndex = 0
|
||||
showNextCtr.selectedIndex = 0
|
||||
showNextList.selectedIndex = -1
|
||||
self._showNextName = nil
|
||||
end)
|
||||
showNextList.onClickItem:Set(function(context)
|
||||
self:ClickShowNext(context, ShowNextConfrimCtr)
|
||||
end)
|
||||
ShowNextConfrimCtr.onChanged:Set(function()
|
||||
pop_showNextConfrim:GetChild("btn_ShowCard").icon = self._showNextName
|
||||
end)
|
||||
pop_showNextConfrim:GetChild("btn_center").onClick:Set(function()
|
||||
local _gamectr = ControllerManager.GetController(GameController)
|
||||
_gamectr:SendNextCard(string.sub(self._showNextName, -3))
|
||||
ShowNextConfrimCtr.selectedIndex = 0
|
||||
showNextCtr.selectedIndex = 0
|
||||
showNextList.selectedIndex = -1
|
||||
self._showNextName = nil
|
||||
end)
|
||||
btn_closeRoom.onClick:Add(handler(self, function()
|
||||
local settingView = SettingView.new(self)
|
||||
settingView:Show()
|
||||
end))
|
||||
--------
|
||||
self:PlayerChangeLineState()
|
||||
|
||||
if room.playing or room.curren_round > 0 then
|
||||
|
|
@ -236,6 +314,7 @@ function M:EventInit()
|
|||
end)
|
||||
|
||||
_gamectr:AddEventListener(TX_GameEvent.FZTips, function(...)
|
||||
print("========================OnEventFzTips1")
|
||||
local arg = { ... }
|
||||
local _tip = arg[1]
|
||||
local weight = arg[2]
|
||||
|
|
@ -479,7 +558,7 @@ function M:OutCard(card)
|
|||
end
|
||||
|
||||
function M:__FangziTip(tip, weight)
|
||||
printlog("__FangziTip")
|
||||
print("========================OnEventFzTips2", tip, weight)
|
||||
local _gamectr = self._gamectr
|
||||
local _chipeng_tip = UIPackage.CreateObject("Main_Majiang", "Gcm_action_tips")
|
||||
_chipeng_tip:GetController("hide_bg").selectedIndex = 1
|
||||
|
|
@ -813,6 +892,26 @@ function M:UpdateCardBox(seat)
|
|||
self._ctr_cardbox.selectedIndex = index
|
||||
end
|
||||
|
||||
-----------------------lingmeng----------------------------
|
||||
function M:SendShowNext(ShowNextConfrimCtr)
|
||||
if not self._showNextName then
|
||||
ViewUtil.ErrorTip(nil, "请先选择一个麻将牌")
|
||||
return
|
||||
end
|
||||
ShowNextConfrimCtr.selectedIndex = 1
|
||||
end
|
||||
|
||||
function M:ClickShowNext(context, ShowNextConfrimCtr)
|
||||
if self._showNextName == context.data.name then
|
||||
self:SendShowNext(ShowNextConfrimCtr)
|
||||
return
|
||||
end
|
||||
self._showNextName = context.data.name
|
||||
end
|
||||
|
||||
-----------------------------------------------------------
|
||||
|
||||
|
||||
function M:__CloseTip()
|
||||
if self._chipeng_tip then
|
||||
self._chipeng_tip:Dispose()
|
||||
|
|
|
|||
|
|
@ -0,0 +1,60 @@
|
|||
--设置窗口对象
|
||||
|
||||
local EXSettingView = {}
|
||||
|
||||
local M = EXSettingView
|
||||
setmetatable(M, { __index = BaseWindow })
|
||||
|
||||
function EXSettingView.new(main_view)
|
||||
local self = setmetatable({}, { __index = M })
|
||||
self.class = 'EXSettingView'
|
||||
self._close_destroy = true
|
||||
self._mainView = main_view
|
||||
self:init('ui://Main_Majiang/Setting')
|
||||
return self
|
||||
end
|
||||
|
||||
function M:init(url)
|
||||
BaseWindow.init(self, url)
|
||||
|
||||
local view = self._view
|
||||
local slider_sound = view:GetChild('slider_vedio_sound')
|
||||
local slider_music = view:GetChild('slider_vedio_music')
|
||||
local btn_music = view:GetChild('btn_vedio_music')
|
||||
local btn_sound = view:GetChild('btn_vedio_sound')
|
||||
|
||||
-- slider_sound.value = GameApplication.Instance.SoundValue
|
||||
-- slider_music.value = GameApplication.Instance.MusicValue
|
||||
|
||||
slider_music.onChanged:Add(function()
|
||||
-- GameApplication.Instance.MusicValue = slider_music.value
|
||||
-- btn_music.selected = false
|
||||
-- GameApplication.Instance.MusicMute = false;
|
||||
end)
|
||||
|
||||
slider_sound.onChanged:Add(function()
|
||||
-- GameApplication.Instance.SoundValue = slider_sound.value
|
||||
-- btn_sound.selected = false
|
||||
-- GameApplication.Instance.SoundMute = false;
|
||||
end)
|
||||
|
||||
btn_sound.onClick:Add(function()
|
||||
-- GameApplication.Instance.SoundMute = btn_sound.selected;
|
||||
end)
|
||||
|
||||
btn_music.onClick:Add(function()
|
||||
-- GameApplication.Instance.MusicMute = btn_music.selected;
|
||||
end)
|
||||
|
||||
local _btn_logout = self._view:GetChild('btn_closeRoom')
|
||||
_btn_logout.onClick:Set(function()
|
||||
if self._mainView.dismiss_room_cd_time > 0 then
|
||||
ViewUtil.ErrorTip(nil, "您还处于解散冷却时间当中,请稍后重试!")
|
||||
else
|
||||
local _gamectr = ControllerManager.GetController(GameController)
|
||||
_gamectr:AskDismissRoom()
|
||||
end
|
||||
end)
|
||||
end
|
||||
|
||||
return M
|
||||
|
|
@ -47,6 +47,9 @@ local Protocol = {
|
|||
GAME_EVT_GANGZI = "837",
|
||||
GAME_EVT_BUGANG = "838",
|
||||
GAME_EVT_DOGANG = "839",
|
||||
|
||||
--送牌
|
||||
GAME_NEXT_CARD = "888"
|
||||
}
|
||||
|
||||
return Protocol
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 965 KiB |
|
|
@ -0,0 +1,92 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 4587ac8396eae5a449115deafd05e4f7
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 11
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 1
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: -1
|
||||
aniso: -1
|
||||
mipBias: -100
|
||||
wrapU: -1
|
||||
wrapV: -1
|
||||
wrapW: -1
|
||||
nPOTScale: 1
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 0
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 0
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
applyGammaDecoding: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID:
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Loading…
Reference in New Issue