master
罗家炜 2025-10-30 18:45:47 +08:00
parent f5527880d9
commit a6c0ee2e45
84 changed files with 1865 additions and 838 deletions

View File

@ -518,7 +518,8 @@ function M:RecordItemDetailRender(round, allDate, rdata, obj)
local btn_play = obj:GetChild("n10")
btn_play.onClick:Set(function()
local group = DataManager.groups:get(self.group_id)
if DataManager.SelfUser.playback[allDate.military_id] ~= nil and DataManager.SelfUser.playback[allDate.military_id][round] ~= nil then
ViewUtil.ShowModalWait2(self._view)
if DataManager.SelfUser.playback[allDate.military_id] ~= nil and DataManager.SelfUser.playback[allDate.military_id][round] ~= nil and tonumber(DataManager.SelfUser.playback[allDate.military_id][round].info.round) == round then
local room = ExtendManager.GetExtendConfig(allDate.game_info.game_id):NewRoom()
DataManager.CurrenRoom = room
room.lev = group.lev
@ -531,16 +532,15 @@ function M:RecordItemDetailRender(round, allDate, rdata, obj)
local main = self:GenaratePlayBack(ViewManager.View_PlayBack, allDate.game_info.game_id)
main._currentId = allDate.military_id
main._currentRound = round
main._totalRound = tonumber(rdata.round)
main._totalRound = tonumber(allDate.round)
main:FillRoomData(DataManager.SelfUser.playback[allDate.military_id][round])
ViewUtil.CloseModalWait2()
else
ViewUtil.ShowModalWait(self._view)
local _data = {}
_data["military_id"] = allDate.military_id
_data["round"] = tostring(round)
local loddyCtr1 = ControllerManager.GetController(LoddyController)
loddyCtr1:RequestPlayBack(_data, function(code, data)
ViewUtil.CloseModalWait()
if code == 0 then
if DataManager.SelfUser.playback[allDate.military_id] ~= nil then
DataManager.SelfUser.playback[allDate.military_id][round] = data
@ -556,9 +556,10 @@ function M:RecordItemDetailRender(round, allDate, rdata, obj)
main._totalRound = tonumber(allDate.round)
main:FillRoomData(data)
main._room.lev = group.lev
ViewUtil.CloseModalWait2()
elseif code == 25 then
ViewUtil.ErrorTip(-1, "回放未找到!")
-- btn_play_back.grayed = true
ViewUtil.CloseModalWait2()
end
end, allDate.game_info)
end

View File

@ -208,7 +208,8 @@ function M:RecordItemDetailRender(round, allDate, rdata, obj)
local btn_play = obj:GetChild("n10")
btn_play.onClick:Set(function()
local group = self.currenGroup
if DataManager.SelfUser.playback[allDate.military_id] ~= nil and DataManager.SelfUser.playback[allDate.military_id][round] ~= nil then
ViewUtil.ShowModalWait2(self._view)
if DataManager.SelfUser.playback[allDate.military_id] ~= nil and DataManager.SelfUser.playback[allDate.military_id][round] ~= nil and tonumber(DataManager.SelfUser.playback[allDate.military_id][round].info.round) == round then
local room = ExtendManager.GetExtendConfig(allDate.game_info.game_id):NewRoom()
DataManager.CurrenRoom = room
room.lev = group.lev
@ -221,16 +222,15 @@ function M:RecordItemDetailRender(round, allDate, rdata, obj)
local main = self:GenaratePlayBack(ViewManager.View_PlayBack, allDate.game_info.game_id)
main._currentId = allDate.military_id
main._currentRound = round
main._totalRound = tonumber(rdata.round)
main._totalRound = tonumber(allDate.round)
main:FillRoomData(DataManager.SelfUser.playback[allDate.military_id][round])
ViewUtil.CloseModalWait2()
else
ViewUtil.ShowModalWait(self._view)
local _data = {}
_data["military_id"] = allDate.military_id
_data["round"] = tostring(round)
local loddyCtr1 = ControllerManager.GetController(LoddyController)
loddyCtr1:RequestPlayBack(_data, function(code, data)
ViewUtil.CloseModalWait()
if code == 0 then
if DataManager.SelfUser.playback[allDate.military_id] ~= nil then
DataManager.SelfUser.playback[allDate.military_id][round] = data
@ -246,9 +246,10 @@ function M:RecordItemDetailRender(round, allDate, rdata, obj)
main._totalRound = tonumber(allDate.round)
main:FillRoomData(data)
main._room.lev = group.lev
ViewUtil.CloseModalWait2()
elseif code == 25 then
ViewUtil.ErrorTip(-1, "回放未找到!")
-- btn_play_back.grayed = true
ViewUtil.CloseModalWait2()
end
end, allDate.game_info)
end

View File

@ -225,7 +225,8 @@ end
function M:NextRecordPlay()
if self._currentRound < self._totalRound then
if DataManager.SelfUser.playback[self._currentId][self._currentRound + 1] ~= nil then
ViewUtil.ShowModalWait2(self._view)
if DataManager.SelfUser.playback[self._currentId][self._currentRound + 1] ~= nil and tonumber(DataManager.SelfUser.playback[self._currentId][self._currentRound + 1].info.round) == self._currentRound + 1 then
-- self:ChangeButtonEnabled()
self._currentRound = self._currentRound + 1
local game_id = DataManager.CurrenRoom.game_id
@ -248,8 +249,8 @@ function M:NextRecordPlay()
self.cmdList = self._room.cmdList
self:FillRoomData(DataManager.SelfUser.playback[self._currentId][self._currentRound])
self:ChangeAlpha()
ViewUtil.CloseModalWait2()
else
ViewUtil.ShowModalWait(self._view)
local _data = {}
_data['military_id'] = self._currentId
_data['round'] = tostring(self._currentRound + 1)
@ -257,7 +258,6 @@ function M:NextRecordPlay()
loddyCtr:RequestPlayBack(
_data,
function(code, data)
ViewUtil.CloseModalWait()
if code == 0 then
-- self:ChangeButtonEnabled()
self._currentRound = self._currentRound + 1
@ -283,8 +283,10 @@ function M:NextRecordPlay()
self.cmdList = self._room.cmdList
self:FillRoomData(data)
self:ChangeAlpha()
ViewUtil.CloseModalWait2()
elseif code == 25 then
ViewUtil.ErrorTip(res.ReturnCode, '回放未找到!')
ViewUtil.CloseModalWait2()
end
end
)
@ -298,7 +300,8 @@ end
function M:LastRecordPlay()
if self._currentRound > 1 then
if DataManager.SelfUser.playback[self._currentId][self._currentRound - 1] ~= nil then
ViewUtil.ShowModalWait2(self._view)
if DataManager.SelfUser.playback[self._currentId][self._currentRound - 1] ~= nil and tonumber(DataManager.SelfUser.playback[self._currentId][self._currentRound - 1].info.round) == self._currentRound - 1 then
-- self:ChangeButtonEnabled()
self._currentRound = self._currentRound - 1
local game_id = DataManager.CurrenRoom.game_id
@ -314,8 +317,8 @@ function M:LastRecordPlay()
self.cmdList = self._room.cmdList
self:FillRoomData(DataManager.SelfUser.playback[self._currentId][self._currentRound])
self:ChangeAlpha()
ViewUtil.CloseModalWait2()
else
ViewUtil.ShowModalWait(self._view)
local _data = {}
_data['military_id'] = self._currentId
_data['round'] = tostring(self._currentRound - 1)
@ -323,7 +326,6 @@ function M:LastRecordPlay()
loddyCtr:RequestPlayBack(
_data,
function(code, data)
ViewUtil.CloseModalWait()
if code == 0 then
-- self:ChangeButtonEnabled()
self._currentRound = self._currentRound - 1
@ -341,8 +343,10 @@ function M:LastRecordPlay()
self.cmdList = self._room.cmdList
self:FillRoomData(data)
self:ChangeAlpha()
ViewUtil.CloseModalWait2()
elseif code == 25 then
ViewUtil.ErrorTip(res.ReturnCode, '回放未找到!')
ViewUtil.CloseModalWait2()
end
end
)

View File

@ -199,7 +199,7 @@ function M:LoadConfigToDetailOnlyPlay(data, hpdata)
returnString = string.format("%s人数%s人", returnString, configData.maxPlayers)
if hpData then
returnString = string.format("%s %s", returnString, hpData.maxRound)
returnString = string.format("%s %s", returnString, hpData.maxRound)
end
if configData.zimo then
@ -261,7 +261,7 @@ function M:LoadConfigToDetail(data, hpdata)
returnString = string.format("%s人数%s人", returnString, configData.maxPlayers)
if hpData then
returnString = string.format("%s %s", returnString, hpData.maxRound)
returnString = string.format("%s %s", returnString, hpData.maxRound)
end
if configData.zimo then
returnString = string.format("%s,%s", returnString, configData.zimo == 0 and "可点炮,可自摸" or "必须自摸")

View File

@ -509,6 +509,8 @@ function M:EventInit()
self.dismissWin:Destroy()
end
self.dismissWin = nil
self._player_card_info[1]._ctr_tip.selectedIndex = 0
self._player_card_info[1]._ctr_showGuoHu.selectedIndex = 0
if over == 2 then
if _room.curren_round > 0 then
self:PlayMJMusic("gameover.mp3")

View File

@ -3,6 +3,8 @@ local EXRoomConfig = import(".EXRoomConfig")
local EXClearingView = import(".EXClearingView")
local HuCardImg = import(".HuCardImg")
local FZTipList = require("main.majiang.FZData")
local MJPlayerCardInfoView = require("main.majiang.MJPlayerCardInfoView")
local Record_Event = import(".RecordEvent")
@ -29,6 +31,7 @@ function M:InitView(url)
self._tex_round = self._view:GetChild("tex_round")
self._tex_LeftCard = self._view:GetChild("remaining_card")
self._anchor = self._view:GetChild("mask_tips")
self.jing = self._view:GetChild('jing')
self.HuCardImg = setmetatable(HuCardImg, { __index = self.HuCardImg })
self.asset_group = "FuZhou_MJ"
@ -62,6 +65,7 @@ function M:FillRoomData(data)
self:UpdateLeftCard(left_count)
local round = data.info.round
self:UpdateRound(round)
self:ShowJing()
local roominfo_panel = self._view:GetChild("roominfo_panel1")
roominfo_panel:GetChild("tex_roomid").text = room.room_id
@ -79,7 +83,9 @@ function M:FillRoomData(data)
self:GenerateAllStepData(data)
self:UpdateStep(1)
self:Play()
-- self:ShowStep(0)
self._laiziMove:Play()
self._touxiangMove:Play()
-- self:ShowStep(0)
end
function M:ShowStep(index)
@ -98,8 +104,8 @@ function M:ShowStep(index)
p.outcard_list = step.player_card_data[i].outcard_list
p.fz_list = step.player_card_data[i].fz_list
p.hand_left_count = #p.card_list
info:Clear()
info:ResetFzList()
-- info:Clear()
-- info:ResetFzList()
p.piao_niao = step.player_card_data[i].piao_niao
local head_info = self._player_info[self:GetPos(i)]
if p.piao_niao and p.piao_niao > 0 then
@ -116,145 +122,169 @@ function M:ShowStep(index)
else
info:UpdateOutCardList()
end
if (step.cmd == Record_Event.Evt_GetCard or step.cmd == Record_Event.Evt_Action) and p.seat == step.current_out_seat then
info:UpdateHandCard(true, true)
if step.cmd == Record_Event.Evt_Action then
pt("lingmeng step ", step)
local fz = step.fz
local info = self._player_card_info[self:GetPos(i)]
local loader_HuEffect = info._viewClip_Peng_Gang
local effects = ""
if fz.type == FZType.Peng then
self:PlaySound("Main_Majiang", p.self_user.sex, "peng")
effects = "clip_peng"
elseif fz.type == FZType.Chi then
---显示提示按钮
local _ctr_tips = info._view:GetController('tip2')
local _lit_fanzi = info._view:GetChild("Comp_Back_FZTips")
local _flag_tipGetCard = false
if step.cmd == Record_Event.Evt_FZTip then
if p.seat == step.seat then
local tip = step.tiplist
local _tlist = tip.tip_sortList
_lit_fanzi.itemRenderer = function(index, obj)
local type = obj:GetController('type')
if index == tip.tip_num then
type.selectedIndex = 0
else
index = index + 1
if _tlist[index].type == FZType.HU then
type.selectedIndex = 4
obj:GetChild('btn_Card1').icon = string.format('ui://Main_Majiang/b202_%d',
_tlist[index].card)
_flag_tipGetCard = self.last_get_seat ~= step.seat
elseif _tlist[index].type == FZType.Chi then
type.selectedIndex = FZType.Chi
for i = 1, 3 do
obj:GetChild(string.format('btn_Card%d', i)).icon = string.format(
'ui://Main_Majiang/b202_%d',
_tlist[index].opcard[i])
end
elseif _tlist[index].type == FZType.Peng then
type.selectedIndex = FZType.Peng
for i = 1, 3 do
obj:GetChild(string.format('btn_Card%d', i)).icon = string.format(
'ui://Main_Majiang/b202_%d',
_tlist[index].card)
end
else
for i = 1, 4 do
obj:GetChild(string.format('btn_Card%d', i)).icon = string.format(
'ui://Main_Majiang/b202_%d',
_tlist[index].card)
end
type.selectedIndex = FZType.Gang
if _tlist[index].type == FZType.Gang_An then
obj:GetChild('btn_Card4').icon = 'ui://Main_Majiang/b202_00'
end
_flag_tipGetCard = true
end
end
end
_ctr_tips.selectedIndex = 1
_lit_fanzi.numItems = tip.tip_num + 1
end
else
_ctr_tips.selectedIndex = 0
_lit_fanzi.numItems = 0
end
----多人胡的时候,同时显示胡
if step.cmd == Record_Event.Evt_Result then
--所有都显示胡吧,暂时没做胡和自摸的判断
if not self.result then
if step.result_data.info_list[i].is_win then
local info2 = self._player_card_info[self:GetPos(step.result_data.info_list[i].seat)]
local loader_HuEffect = info2._viewLoader_selfHuCardEffect
local isZiMo = false
DataManager.CurrenRoom.isZiMoHu = isZiMo
local hu_sound = isZiMo and ("zimo") or ("hu")
printlog("声音====>>>", hu_sound)
self:PlaySound(self.asset_group, p.self_user.sex, hu_sound)
else
self:PlaySound("Main_Majiang", p.self_user.sex, "gang")
effects = "clip_gang"
end
local clip = UIPackage.CreateObjectFromURL(string.format("ui://Main_Majiang/%s", effects))
clip:SetSize(loader_HuEffect.width, loader_HuEffect.height)
loader_HuEffect:AddChild(clip)
clip:SetPlaySettings(0, -1, 1, -1)
clip.onPlayEnd:Add(function()
if clip.parent then
clip.parent:RemoveChild(clip)
end
clip:Dispose()
end)
clip.playing = true
coroutine.start(function()
coroutine.wait(0.3)
self._popEvent = true
end)
end
else
info:UpdateHandCard(false, true)
end
----多人胡的时候,同时显示胡
if step.cmd == Record_Event.Evt_Result then
--所有都显示胡吧,暂时没做胡和自摸的判断
if not self.result then
if step.result_data.info_list[i].is_win then
local info2 = self._player_card_info[self:GetPos(step.result_data.info_list[i].seat)]
local loader_HuEffect = info2._viewLoader_selfHuCardEffect
local isZiMo = false
DataManager.CurrenRoom.isZiMoHu = isZiMo
local hu_sound = isZiMo and ("zimo") or ("hu")
printlog("声音====>>>", hu_sound)
self:PlaySound(self.asset_group, p.self_user.sex, hu_sound)
local effects = isZiMo and ("tile_zimo") or ("tile_hu")
loader_HuEffect.visible = true
loader_HuEffect.url = "ui://Main_Majiang/" .. effects
loader_HuEffect:SetScale(2, 2)
local hu_tween = loader_HuEffect:TweenScale(Vector2(1, 1), 0.3)
hu_tween:SetEase(EaseType.QuartOut)
hu_tween:OnComplete(function()
loader_HuEffect.visible = false
end)
end
end
end
if step.cmd ~= Record_Event.Evt_OutCard and step.cmd ~= Record_Event.Evt_GangScore and step.cmd ~= Record_Event.Evt_Win and p.seat == step.current_out_seat or step.cmd == Record_Event.Evt_Result then
if step.cmd == Record_Event.Evt_Action then
pt("lingmeng step ", step)
local fz = step.fz
local info = self._player_card_info[self:GetPos(i)]
local loader_HuEffect = info._viewClip_Peng_Gang
local effects = ""
if fz.type == FZType.Peng then
self:PlaySound("Main_Majiang", p.self_user.sex, "peng")
effects = "clip_peng"
elseif fz.type == FZType.Chi then
local effects = isZiMo and ("tile_zimo") or ("tile_hu")
loader_HuEffect.visible = true
loader_HuEffect.url = "ui://Main_Majiang/" .. effects
loader_HuEffect:SetScale(2, 2)
local hu_tween = loader_HuEffect:TweenScale(Vector2(1, 1), 0.3)
hu_tween:SetEase(EaseType.QuartOut)
hu_tween:OnComplete(function()
loader_HuEffect.visible = false
end)
end
end
end
---显示提示按钮
local _ctr_tips = info._view:GetController('tip2')
local _lit_fanzi = info._view:GetChild("Comp_Back_FZTips")
if step.cmd == Record_Event.Evt_FZTip then
if p.seat == step.seat then
local tip = step.tiplist
local _tlist = tip.tip_sortList
_lit_fanzi.itemRenderer = function(index, obj)
local type = obj:GetController('type')
if index == tip.tip_num then
type.selectedIndex = 0
else
index = index + 1
if _tlist[index].type == FZType.HU then
type.selectedIndex = 4
obj:GetChild('btn_Card1').icon = string.format('ui://Main_Majiang/b202_%d',
_tlist[index].card)
elseif _tlist[index].type == FZType.Chi then
type.selectedIndex = FZType.Chi
for i = 1, 3 do
obj:GetChild(string.format('btn_Card%d', i)).icon = string.format(
'ui://Main_Majiang/b202_%d',
_tlist[index].opcard[i])
end
elseif _tlist[index].type == FZType.Peng then
type.selectedIndex = FZType.Peng
for i = 1, 3 do
obj:GetChild(string.format('btn_Card%d', i)).icon = string.format(
'ui://Main_Majiang/b202_%d',
_tlist[index].card)
end
else
for i = 1, 4 do
obj:GetChild(string.format('btn_Card%d', i)).icon = string.format(
'ui://Main_Majiang/b202_%d',
_tlist[index].card)
end
type.selectedIndex = FZType.Gang
if _tlist[index].type == FZType.Gang_An then
obj:GetChild('btn_Card4').icon = 'ui://Main_Majiang/b202_00'
end
end
end
end
_ctr_tips.selectedIndex = 1
_lit_fanzi.numItems = tip.tip_num + 1
end
else
_ctr_tips.selectedIndex = 0
_lit_fanzi.numItems = 0
end
end
else
self:PlaySound("Main_Majiang", p.self_user.sex, "gang")
effects = "clip_gang"
end
local clip = UIPackage.CreateObjectFromURL(string.format("ui://Main_Majiang/%s", effects))
clip:SetSize(loader_HuEffect.width, loader_HuEffect.height)
loader_HuEffect:AddChild(clip)
clip:SetPlaySettings(0, -1, 1, -1)
clip.onPlayEnd:Add(function()
if clip.parent then
clip.parent:RemoveChild(clip)
end
clip:Dispose()
end)
clip.playing = true
info:UpdateFzList(fz, index, true, self:GetPos(fz.from_seat))
end
printlog("lingmeng UpdateHandCard", step.cmd, p.seat, step.fz and step.fz.type or -1, FZType.Peng,
_flag_tipGetCard)
if step.cmd == Record_Event.Evt_Action and step.fz.type ~= FZType.Peng then
info:UpdateHandCard(false, true)
elseif step.cmd == Record_Event.Evt_FZTip and not _flag_tipGetCard then
info:UpdateHandCard(false, true)
elseif step.cmd == Record_Event.Evt_Result then
local _flag_result = false
for i = 1, #step.result_data.info_list do
printlog("lingmeng UpdateHandCard3", step.result_data.info_list[i].is_win,
step.result_data.info_list[i].seat)
--统一在大结算时显示
if step.cmd == Record_Event.Evt_Win then
else
if self._win_pic then
self._win_pic:Dispose()
end
end
--统一在大结算时显示
if step.cmd == Record_Event.Evt_Niao then
local niao_list = step.niao
else
end
if step.cmd == Record_Event.Evt_Result then
print("lingmeng playerback", self.result)
if not self.result then
local result = step.result_data
self.result = EXClearingView.new(self, { flag_back = true })
self.result:InitData(0, self._room, result)
self.result._view.x = (GRoot.inst.width - self.result._view.width) * -0.5
self.result._view.width = GRoot.inst.width
self.result._view.height = GRoot.inst.height
self._anchor:AddChild(self.result._view)
self.result._view.visible = false
self.result._view.x = self._anchor.x * -1
self.result._view.y = self._anchor.y * -1
if step.result_data.info_list[i].is_win and p.seat == step.result_data.info_list[i].seat then
_flag_result = true
end
end
printlog("lingmeng UpdateHandCard3", _flag_result)
info:UpdateHandCard(_flag_result, true)
else
info:UpdateHandCard(true, true)
end
else
if step.cmd == Record_Event.Evt_Win then
else
info:UpdateHandCard(false, true)
end
end
end
--统一在大结算时显示
if step.cmd == Record_Event.Evt_Win then
else
if self._win_pic then
self._win_pic:Dispose()
end
end
--统一在大结算时显示
if step.cmd == Record_Event.Evt_Niao then
local niao_list = step.niao
else
end
if step.cmd == Record_Event.Evt_Result then
print("lingmeng playerback", self.result)
if not self.result then
local result = step.result_data
result.cardList = step.residual_card
self.result = EXClearingView.new(self, { flag_back = true })
self.result:InitData(0, self._room, result)
self.result._view.x = (GRoot.inst.width - self.result._view.width) * -0.5
self.result._view.width = GRoot.inst.width
self.result._view.height = GRoot.inst.height
self._anchor:AddChild(self.result._view)
self.result._view.visible = false
self.result._view.x = self._anchor.x * -1
self.result._view.y = self._anchor.y * -1
local liuju = result and result.liuju or nil
coroutine.start(function()
@ -421,16 +451,18 @@ function M:ShowStep(index)
end
function M:GenerateAllStepData(data)
local cmdList = self.cmdList
self._step = {}
local step = {}
local info = data.info
step.cmd = ""
step.left_card = info.left_card
step.last_out_seat = 0
step.current_out_seat = 1
step.win = 0
step.niao = 0
local cmdList = self.cmdList
self._step = {}
local step = {}
local info = data.info
step.cmd = ""
step.left_card = info.left_card
step.last_get_seat = 0
step.last_out_seat = 0
step.current_out_seat = 1
step.win = 0
step.niao = 0
step.residual_card = info.residual_card
step.player_card_data = {}
for i = 1, #self._room.player_list do
@ -453,12 +485,13 @@ function M:GenerateAllStepData(data)
end
function M:CmdGetCard(cmd, index)
local data = self:CopyLastStep(index)
data.cmd = cmd.cmd
data.current_out_seat = cmd.seat
data.left_card = cmd.data.left_count
local u = data.player_card_data[cmd.seat]
u.card_list[#u.card_list + 1] = cmd.data.card
local data = self:CopyLastStep(index)
data.cmd = cmd.cmd
data.current_out_seat = cmd.seat
data.last_get_seat = cmd.seat
data.left_card = cmd.data.left_count
local u = data.player_card_data[cmd.seat]
u.card_list[#u.card_list + 1] = cmd.data.card
end
function M:CmdOutCard(cmd, index)
@ -472,33 +505,48 @@ function M:CmdOutCard(cmd, index)
end
function M:CmdAction(cmd, index)
local data = self:CopyLastStep(index)
data.cmd = cmd.cmd
data.last_out_seat = 0
data.current_out_seat = cmd.seat
local u = data.player_card_data[cmd.seat]
for i = 1, #cmd.data.opcard do
list_remove(u.card_list, cmd.data.opcard[i])
end
local fz = {}
fz.type = cmd.data.type
fz.card = cmd.data.card
fz.opcard = cmd.data.opcard
fz.from_seat = cmd.data.from_seat
data.fz = fz
local uf = data.player_card_data[cmd.data.from_seat]
if fz.type ~= FZType.Gang_An and fz.type ~= FZType.Gang_Peng then
table.remove(uf.outcard_list, #uf.outcard_list)
end
if fz.type ~= FZType.Gang_Peng then
u.fz_list[#u.fz_list + 1] = fz
else
for i = 1, #u.fz_list do
if u.fz_list[i].type == FZType.Peng and u.fz_list[i].card == fz.card then
u.fz_list[i].type = FZType.Gang_Peng
end
end
end
local data = self:CopyLastStep(index)
data.cmd = cmd.cmd
data.last_out_seat = 0
data.current_out_seat = cmd.seat
local u = data.player_card_data[cmd.seat]
local fz = nil
local index = -1
local ftype = cmd.data.type
if (ftype == FZType.Gang_Peng) then
for i = 1, #u.fz_list do
if (u.fz_list[i].card == cmd.data.card) then
u.fz_list[i].card = cmd.data.card
fz = u.fz_list[i]
fz.type = cmd.data.type
index = i - 1
break
end
end
end
fz = {}
fz.card = cmd.data.card
fz.type = cmd.data.type
if (index == -1) then
u.fz_list[#u.fz_list + 1] = fz
end
fz.from_seat = cmd.data.from_seat
local remove_num = #cmd.data.opcard
for i = 1, remove_num do
if ftype == FZType.Gang_Peng then
list_remove(u.card_list, cmd.data.card)
else
list_remove(u.card_list, cmd.data.opcard[i])
end
end
u.hand_left_count = u.hand_left_count - remove_num
if cmd.data.from_seat ~= u.seat and ftype ~= FZType.Gang_Peng then
local u = data.player_card_data[cmd.data.from_seat]
table.remove(u.outcard_list, #u.outcard_list)
end
data.fz = fz
end
function M:CmdWin(cmd, index)
@ -553,9 +601,19 @@ function M:GangScore(cmd, index)
end
function M:CmdResult(cmd, index)
local data = self:CopyLastStep(index)
data.cmd = cmd.cmd
data.result_data = cmd.data
local data = self:CopyLastStep(index)
data.cmd = cmd.cmd
data.seat = 0
data.result_data = cmd.data
for i = 1, #cmd.data.info_list do
local info = cmd.data.info_list[i]
if info.is_win and info.seat ~= data.current_out_seat then
local u = data.player_card_data[info.seat]
u.card_list[#u.card_list + 1] = info.win_card
local u = data.player_card_data[data.last_out_seat]
table.remove(u.outcard_list, #u.outcard_list)
end
end
end
function M:CopyLastStep(index)
@ -587,6 +645,16 @@ function M:UpdateRound()
self._room.room_config.round)
end
function M:ShowJing()
print("lingmeng jing ", self._room.jing)
if self._room.jing then
self.jing.visible = true
MJPlayerCardInfoView.fillCard2(self, self.jing, "b202_", self._room.jing)
else
self.jing.visible = false
end
end
function M:UpdateStep(step)
self._record:GetChild("tex_step").text = "" .. step .. " / " .. #self._step .. ""
end

View File

@ -509,6 +509,8 @@ function M:EventInit()
self.dismissWin:Destroy()
end
self.dismissWin = nil
self._player_card_info[1]._ctr_tip.selectedIndex = 0
self._player_card_info[1]._ctr_showGuoHu.selectedIndex = 0
if over == 2 then
if _room.curren_round > 0 then
self:PlayMJMusic("gameover.mp3")

View File

@ -3,6 +3,8 @@ local EXRoomConfig = import(".EXRoomConfig")
local EXClearingView = import(".EXClearingView")
local HuCardImg = import(".HuCardImg")
local FZTipList = require("main.majiang.FZData")
local MJPlayerCardInfoView = require("main.majiang.MJPlayerCardInfoView")
local Record_Event = import(".RecordEvent")
@ -29,6 +31,7 @@ function M:InitView(url)
self._tex_round = self._view:GetChild("tex_round")
self._tex_LeftCard = self._view:GetChild("remaining_card")
self._anchor = self._view:GetChild("mask_tips")
self.jing = self._view:GetChild('jing')
self.HuCardImg = setmetatable(HuCardImg, { __index = self.HuCardImg })
self.asset_group = "JinXi_MJ"
@ -62,6 +65,7 @@ function M:FillRoomData(data)
self:UpdateLeftCard(left_count)
local round = data.info.round
self:UpdateRound(round)
self:ShowJing()
local roominfo_panel = self._view:GetChild("roominfo_panel1")
roominfo_panel:GetChild("tex_roomid").text = room.room_id
@ -79,6 +83,8 @@ function M:FillRoomData(data)
self:GenerateAllStepData(data)
self:UpdateStep(1)
self:Play()
self._laiziMove:Play()
self._touxiangMove:Play()
-- self:ShowStep(0)
end
@ -98,8 +104,8 @@ function M:ShowStep(index)
p.outcard_list = step.player_card_data[i].outcard_list
p.fz_list = step.player_card_data[i].fz_list
p.hand_left_count = #p.card_list
info:Clear()
info:ResetFzList()
-- info:Clear()
-- info:ResetFzList()
p.piao_niao = step.player_card_data[i].piao_niao
local head_info = self._player_info[self:GetPos(i)]
if p.piao_niao and p.piao_niao > 0 then
@ -116,8 +122,86 @@ function M:ShowStep(index)
else
info:UpdateOutCardList()
end
if (step.cmd == Record_Event.Evt_GetCard or step.cmd == Record_Event.Evt_Action) and p.seat == step.current_out_seat then
info:UpdateHandCard(true, true)
---显示提示按钮
local _ctr_tips = info._view:GetController('tip2')
local _lit_fanzi = info._view:GetChild("Comp_Back_FZTips")
local _flag_tipGetCard = false
if step.cmd == Record_Event.Evt_FZTip then
if p.seat == step.seat then
local tip = step.tiplist
local _tlist = tip.tip_sortList
_lit_fanzi.itemRenderer = function(index, obj)
local type = obj:GetController('type')
if index == tip.tip_num then
type.selectedIndex = 0
else
index = index + 1
if _tlist[index].type == FZType.HU then
type.selectedIndex = 4
obj:GetChild('btn_Card1').icon = string.format('ui://Main_Majiang/b202_%d',
_tlist[index].card)
_flag_tipGetCard = self.last_get_seat ~= step.seat
elseif _tlist[index].type == FZType.Chi then
type.selectedIndex = FZType.Chi
for i = 1, 3 do
obj:GetChild(string.format('btn_Card%d', i)).icon = string.format(
'ui://Main_Majiang/b202_%d',
_tlist[index].opcard[i])
end
elseif _tlist[index].type == FZType.Peng then
type.selectedIndex = FZType.Peng
for i = 1, 3 do
obj:GetChild(string.format('btn_Card%d', i)).icon = string.format(
'ui://Main_Majiang/b202_%d',
_tlist[index].card)
end
else
for i = 1, 4 do
obj:GetChild(string.format('btn_Card%d', i)).icon = string.format(
'ui://Main_Majiang/b202_%d',
_tlist[index].card)
end
type.selectedIndex = FZType.Gang
if _tlist[index].type == FZType.Gang_An then
obj:GetChild('btn_Card4').icon = 'ui://Main_Majiang/b202_00'
end
_flag_tipGetCard = true
end
end
end
_ctr_tips.selectedIndex = 1
_lit_fanzi.numItems = tip.tip_num + 1
end
else
_ctr_tips.selectedIndex = 0
_lit_fanzi.numItems = 0
end
----多人胡的时候,同时显示胡
if step.cmd == Record_Event.Evt_Result then
--所有都显示胡吧,暂时没做胡和自摸的判断
if not self.result then
if step.result_data.info_list[i].is_win then
local info2 = self._player_card_info[self:GetPos(step.result_data.info_list[i].seat)]
local loader_HuEffect = info2._viewLoader_selfHuCardEffect
local isZiMo = false
DataManager.CurrenRoom.isZiMoHu = isZiMo
local hu_sound = isZiMo and ("zimo") or ("hu")
printlog("声音====>>>", hu_sound)
self:PlaySound(self.asset_group, p.self_user.sex, hu_sound)
local effects = isZiMo and ("tile_zimo") or ("tile_hu")
loader_HuEffect.visible = true
loader_HuEffect.url = "ui://Main_Majiang/" .. effects
loader_HuEffect:SetScale(2, 2)
local hu_tween = loader_HuEffect:TweenScale(Vector2(1, 1), 0.3)
hu_tween:SetEase(EaseType.QuartOut)
hu_tween:OnComplete(function()
loader_HuEffect.visible = false
end)
end
end
end
if step.cmd ~= Record_Event.Evt_OutCard and step.cmd ~= Record_Event.Evt_GangScore and step.cmd ~= Record_Event.Evt_Win and p.seat == step.current_out_seat or step.cmd == Record_Event.Evt_Result then
if step.cmd == Record_Event.Evt_Action then
pt("lingmeng step ", step)
local fz = step.fz
@ -144,117 +228,63 @@ function M:ShowStep(index)
clip:Dispose()
end)
clip.playing = true
coroutine.start(function()
coroutine.wait(0.3)
self._popEvent = true
end)
info:UpdateFzList(fz, index, true, self:GetPos(fz.from_seat))
end
printlog("lingmeng UpdateHandCard", step.cmd, p.seat, step.fz and step.fz.type or -1, FZType.Peng,
_flag_tipGetCard)
if step.cmd == Record_Event.Evt_Action and step.fz.type ~= FZType.Peng then
info:UpdateHandCard(false, true)
elseif step.cmd == Record_Event.Evt_FZTip and not _flag_tipGetCard then
info:UpdateHandCard(false, true)
elseif step.cmd == Record_Event.Evt_Result then
local _flag_result = false
for i = 1, #step.result_data.info_list do
printlog("lingmeng UpdateHandCard3", step.result_data.info_list[i].is_win,
step.result_data.info_list[i].seat)
if step.result_data.info_list[i].is_win and p.seat == step.result_data.info_list[i].seat then
_flag_result = true
end
end
printlog("lingmeng UpdateHandCard3", _flag_result)
info:UpdateHandCard(_flag_result, true)
else
info:UpdateHandCard(true, true)
end
else
info:UpdateHandCard(false, true)
if step.cmd == Record_Event.Evt_Win then
else
info:UpdateHandCard(false, true)
end
end
----多人胡的时候,同时显示胡
if step.cmd == Record_Event.Evt_Result then
--所有都显示胡吧,暂时没做胡和自摸的判断
if not self.result then
if step.result_data.info_list[i].is_win then
local info2 = self._player_card_info[self:GetPos(step.result_data.info_list[i].seat)]
local loader_HuEffect = info2._viewLoader_selfHuCardEffect
local isZiMo = false
DataManager.CurrenRoom.isZiMoHu = isZiMo
local hu_sound = isZiMo and ("zimo") or ("hu")
printlog("声音====>>>", hu_sound)
self:PlaySound(self.asset_group, p.self_user.sex, hu_sound)
end
local effects = isZiMo and ("tile_zimo") or ("tile_hu")
loader_HuEffect.visible = true
loader_HuEffect.url = "ui://Main_Majiang/" .. effects
loader_HuEffect:SetScale(2, 2)
local hu_tween = loader_HuEffect:TweenScale(Vector2(1, 1), 0.3)
hu_tween:SetEase(EaseType.QuartOut)
hu_tween:OnComplete(function()
loader_HuEffect.visible = false
end)
end
end
end
---显示提示按钮
local _ctr_tips = info._view:GetController('tip2')
local _lit_fanzi = info._view:GetChild("Comp_Back_FZTips")
if step.cmd == Record_Event.Evt_FZTip then
if p.seat == step.seat then
local tip = step.tiplist
local _tlist = tip.tip_sortList
_lit_fanzi.itemRenderer = function(index, obj)
local type = obj:GetController('type')
if index == tip.tip_num then
type.selectedIndex = 0
else
index = index + 1
if _tlist[index].type == FZType.HU then
type.selectedIndex = 4
obj:GetChild('btn_Card1').icon = string.format('ui://Main_Majiang/b202_%d',
_tlist[index].card)
elseif _tlist[index].type == FZType.Chi then
type.selectedIndex = FZType.Chi
for i = 1, 3 do
obj:GetChild(string.format('btn_Card%d', i)).icon = string.format(
'ui://Main_Majiang/b202_%d',
_tlist[index].opcard[i])
end
elseif _tlist[index].type == FZType.Peng then
type.selectedIndex = FZType.Peng
for i = 1, 3 do
obj:GetChild(string.format('btn_Card%d', i)).icon = string.format(
'ui://Main_Majiang/b202_%d',
_tlist[index].card)
end
else
for i = 1, 4 do
obj:GetChild(string.format('btn_Card%d', i)).icon = string.format(
'ui://Main_Majiang/b202_%d',
_tlist[index].card)
end
type.selectedIndex = FZType.Gang
if _tlist[index].type == FZType.Gang_An then
obj:GetChild('btn_Card4').icon = 'ui://Main_Majiang/b202_00'
end
end
end
end
_ctr_tips.selectedIndex = 1
_lit_fanzi.numItems = tip.tip_num + 1
end
else
_ctr_tips.selectedIndex = 0
_lit_fanzi.numItems = 0
end
end
--统一在大结算时显示
if step.cmd == Record_Event.Evt_Win then
else
if self._win_pic then
self._win_pic:Dispose()
end
end
--统一在大结算时显示
if step.cmd == Record_Event.Evt_Niao then
local niao_list = step.niao
else
end
if step.cmd == Record_Event.Evt_Result then
print("lingmeng playerback", self.result)
if not self.result then
local result = step.result_data
self.result = EXClearingView.new(self, { flag_back = true })
self.result:InitData(0, self._room, result)
self.result._view.x = (GRoot.inst.width - self.result._view.width) * -0.5
self.result._view.width = GRoot.inst.width
self.result._view.height = GRoot.inst.height
self._anchor:AddChild(self.result._view)
self.result._view.visible = false
self.result._view.x = self._anchor.x * -1
self.result._view.y = self._anchor.y * -1
--统一在大结算时显示
if step.cmd == Record_Event.Evt_Win then
else
if self._win_pic then
self._win_pic:Dispose()
end
end
--统一在大结算时显示
if step.cmd == Record_Event.Evt_Niao then
local niao_list = step.niao
else
end
if step.cmd == Record_Event.Evt_Result then
print("lingmeng playerback", self.result)
if not self.result then
local result = step.result_data
result.cardList = step.residual_card
self.result = EXClearingView.new(self, { flag_back = true })
self.result:InitData(0, self._room, result)
self.result._view.x = (GRoot.inst.width - self.result._view.width) * -0.5
self.result._view.width = GRoot.inst.width
self.result._view.height = GRoot.inst.height
self._anchor:AddChild(self.result._view)
self.result._view.visible = false
self.result._view.x = self._anchor.x * -1
self.result._view.y = self._anchor.y * -1
local liuju = result and result.liuju or nil
coroutine.start(function()
@ -343,7 +373,7 @@ function M:ShowStep(index)
--展示摸鸟
local niao_list = result.niao
self._niao = UIPackage.CreateObject("Extend_MJ_FuZhou", "Panel_Birds")
self._niao = UIPackage.CreateObject("Extend_MJ_JinXi", "Panel_Birds")
self._view:GetChild('jiangma_show'):AddChild(self._niao)
self._niao:Center()
local list_niao_card = self._niao:GetChild("Lst_birds")
@ -427,10 +457,12 @@ function M:GenerateAllStepData(data)
local info = data.info
step.cmd = ""
step.left_card = info.left_card
step.last_get_seat = 0
step.last_out_seat = 0
step.current_out_seat = 1
step.win = 0
step.niao = 0
step.residual_card = info.residual_card
step.player_card_data = {}
for i = 1, #self._room.player_list do
@ -456,6 +488,7 @@ function M:CmdGetCard(cmd, index)
local data = self:CopyLastStep(index)
data.cmd = cmd.cmd
data.current_out_seat = cmd.seat
data.last_get_seat = cmd.seat
data.left_card = cmd.data.left_count
local u = data.player_card_data[cmd.seat]
u.card_list[#u.card_list + 1] = cmd.data.card
@ -477,28 +510,43 @@ function M:CmdAction(cmd, index)
data.last_out_seat = 0
data.current_out_seat = cmd.seat
local u = data.player_card_data[cmd.seat]
for i = 1, #cmd.data.opcard do
list_remove(u.card_list, cmd.data.opcard[i])
end
local fz = {}
fz.type = cmd.data.type
fz.card = cmd.data.card
fz.opcard = cmd.data.opcard
fz.from_seat = cmd.data.from_seat
data.fz = fz
local uf = data.player_card_data[cmd.data.from_seat]
if fz.type ~= FZType.Gang_An and fz.type ~= FZType.Gang_Peng then
table.remove(uf.outcard_list, #uf.outcard_list)
end
if fz.type ~= FZType.Gang_Peng then
u.fz_list[#u.fz_list + 1] = fz
else
local fz = nil
local index = -1
local ftype = cmd.data.type
if (ftype == FZType.Gang_Peng) then
for i = 1, #u.fz_list do
if u.fz_list[i].type == FZType.Peng and u.fz_list[i].card == fz.card then
u.fz_list[i].type = FZType.Gang_Peng
if (u.fz_list[i].card == cmd.data.card) then
u.fz_list[i].card = cmd.data.card
fz = u.fz_list[i]
fz.type = cmd.data.type
index = i - 1
break
end
end
end
fz = {}
fz.card = cmd.data.card
fz.type = cmd.data.type
if (index == -1) then
u.fz_list[#u.fz_list + 1] = fz
end
fz.from_seat = cmd.data.from_seat
local remove_num = #cmd.data.opcard
for i = 1, remove_num do
if ftype == FZType.Gang_Peng then
list_remove(u.card_list, cmd.data.card)
else
list_remove(u.card_list, cmd.data.opcard[i])
end
end
u.hand_left_count = u.hand_left_count - remove_num
if cmd.data.from_seat ~= u.seat and ftype ~= FZType.Gang_Peng then
local u = data.player_card_data[cmd.data.from_seat]
table.remove(u.outcard_list, #u.outcard_list)
end
data.fz = fz
end
function M:CmdWin(cmd, index)
@ -555,7 +603,17 @@ end
function M:CmdResult(cmd, index)
local data = self:CopyLastStep(index)
data.cmd = cmd.cmd
data.seat = 0
data.result_data = cmd.data
for i = 1, #cmd.data.info_list do
local info = cmd.data.info_list[i]
if info.is_win and info.seat ~= data.current_out_seat then
local u = data.player_card_data[info.seat]
u.card_list[#u.card_list + 1] = info.win_card
local u = data.player_card_data[data.last_out_seat]
table.remove(u.outcard_list, #u.outcard_list)
end
end
end
function M:CopyLastStep(index)
@ -587,6 +645,16 @@ function M:UpdateRound()
self._room.room_config.round)
end
function M:ShowJing()
print("lingmeng jing ", self._room.jing)
if self._room.jing then
self.jing.visible = true
MJPlayerCardInfoView.fillCard2(self, self.jing, "b202_", self._room.jing)
else
self.jing.visible = false
end
end
function M:UpdateStep(step)
self._record:GetChild("tex_step").text = "" .. step .. " / " .. #self._step .. ""
end

View File

@ -54,13 +54,13 @@ function M:InitData(over, room, result, total_result, callback, isWitness, witne
--回放不需要显示还剩下多少牌
if self.flag_back then
result.cardList = {}
mainCtr.selectedIndex = 1
nextRoundBtn2.touchable = false
else
if result then
if result.cardList then
result.cardList = json.decode(result.cardList)
else
result.cardList = {}
end
end
end

View File

@ -308,7 +308,6 @@ function M:OnEventFzAction(evt_data)
p.hand_left_count = p.hand_left_count - remove_num
if from_seat ~= p.seat and ftype ~= FZType.Gang_Peng then
-- if (fz.Type == FZType.Chi) then card = actice_card end
local fp = _room:GetPlayerBySeat(from_seat)
table.remove(fp.outcard_list, #fp.outcard_list)
end

View File

@ -180,7 +180,7 @@ function M:LoadConfigToDetailOnlyPlay(data, hpdata)
returnString = string.format("%s人数%s人", returnString, configData.maxPlayers)
if hpData then
returnString = string.format("%s %s", returnString, hpData.maxRound)
returnString = string.format("%s %s", returnString, hpData.maxRound)
end
if configData.zimo then
@ -222,7 +222,7 @@ function M:LoadConfigToDetail(data, hpdata)
returnString = string.format("%s人数%s人", returnString, configData.maxPlayers)
if hpData then
returnString = string.format("%s %s", returnString, hpData.maxRound)
returnString = string.format("%s %s", returnString, hpData.maxRound)
end
if configData.zimo then

View File

@ -508,6 +508,8 @@ function M:EventInit()
self.dismissWin:Destroy()
end
self.dismissWin = nil
self._player_card_info[1]._ctr_tip.selectedIndex = 0
self._player_card_info[1]._ctr_showGuoHu.selectedIndex = 0
if over == 2 then
if _room.curren_round > 0 then
self:PlayMJMusic("gameover.mp3")

View File

@ -3,6 +3,8 @@ local EXRoomConfig = import(".EXRoomConfig")
local EXClearingView = import(".EXClearingView")
local HuCardImg = import(".HuCardImg")
local FZTipList = require("main.majiang.FZData")
local MJPlayerCardInfoView = require("main.majiang.MJPlayerCardInfoView")
local Record_Event = import(".RecordEvent")
@ -29,6 +31,7 @@ function M:InitView(url)
self._tex_round = self._view:GetChild("tex_round")
self._tex_LeftCard = self._view:GetChild("remaining_card")
self._anchor = self._view:GetChild("mask_tips")
self.jing = self._view:GetChild('jing')
self.HuCardImg = setmetatable(HuCardImg, { __index = self.HuCardImg })
self.asset_group = "LiChuan_MJ"
@ -45,8 +48,8 @@ function M:InitView(url)
self._cmdmap[Record_Event.Evt_Niao] = self.CmdNiao
self._cmdmap[Record_Event.Evt_Piao] = self.CmdPiao
self._cmdmap[Record_Event.Evt_Result] = self.CmdResult
self._cmdmap[Record_Event.Evt_FZTip] = self.CmdFZTip
self._cmdmap[Record_Event.Evt_GangScore] = self.GangScore
self._cmdmap[Record_Event.Evt_FZTip] = self.CmdFZTip
self._cmdmap[Record_Event.Evt_GangScore] = self.GangScore
self.com_logocType.selectedIndex = 2
end
@ -62,6 +65,7 @@ function M:FillRoomData(data)
self:UpdateLeftCard(left_count)
local round = data.info.round
self:UpdateRound(round)
self:ShowJing()
local roominfo_panel = self._view:GetChild("roominfo_panel1")
roominfo_panel:GetChild("tex_roomid").text = room.room_id
@ -79,6 +83,8 @@ function M:FillRoomData(data)
self:GenerateAllStepData(data)
self:UpdateStep(1)
self:Play()
self._laiziMove:Play()
self._touxiangMove:Play()
-- self:ShowStep(0)
end
@ -98,8 +104,8 @@ function M:ShowStep(index)
p.outcard_list = step.player_card_data[i].outcard_list
p.fz_list = step.player_card_data[i].fz_list
p.hand_left_count = #p.card_list
info:Clear()
info:ResetFzList()
-- info:Clear()
-- info:ResetFzList()
p.piao_niao = step.player_card_data[i].piao_niao
local head_info = self._player_info[self:GetPos(i)]
if p.piao_niao and p.piao_niao > 0 then
@ -116,8 +122,86 @@ function M:ShowStep(index)
else
info:UpdateOutCardList()
end
if (step.cmd == Record_Event.Evt_GetCard or step.cmd == Record_Event.Evt_Action) and p.seat == step.current_out_seat then
info:UpdateHandCard(true, true)
---显示提示按钮
local _ctr_tips = info._view:GetController('tip2')
local _lit_fanzi = info._view:GetChild("Comp_Back_FZTips")
local _flag_tipGetCard = false
if step.cmd == Record_Event.Evt_FZTip then
if p.seat == step.seat then
local tip = step.tiplist
local _tlist = tip.tip_sortList
_lit_fanzi.itemRenderer = function(index, obj)
local type = obj:GetController('type')
if index == tip.tip_num then
type.selectedIndex = 0
else
index = index + 1
if _tlist[index].type == FZType.HU then
type.selectedIndex = 4
obj:GetChild('btn_Card1').icon = string.format('ui://Main_Majiang/b202_%d',
_tlist[index].card)
_flag_tipGetCard = self.last_get_seat ~= step.seat
elseif _tlist[index].type == FZType.Chi then
type.selectedIndex = FZType.Chi
for i = 1, 3 do
obj:GetChild(string.format('btn_Card%d', i)).icon = string.format(
'ui://Main_Majiang/b202_%d',
_tlist[index].opcard[i])
end
elseif _tlist[index].type == FZType.Peng then
type.selectedIndex = FZType.Peng
for i = 1, 3 do
obj:GetChild(string.format('btn_Card%d', i)).icon = string.format(
'ui://Main_Majiang/b202_%d',
_tlist[index].card)
end
else
for i = 1, 4 do
obj:GetChild(string.format('btn_Card%d', i)).icon = string.format(
'ui://Main_Majiang/b202_%d',
_tlist[index].card)
end
type.selectedIndex = FZType.Gang
if _tlist[index].type == FZType.Gang_An then
obj:GetChild('btn_Card4').icon = 'ui://Main_Majiang/b202_00'
end
_flag_tipGetCard = true
end
end
end
_ctr_tips.selectedIndex = 1
_lit_fanzi.numItems = tip.tip_num + 1
end
else
_ctr_tips.selectedIndex = 0
_lit_fanzi.numItems = 0
end
----多人胡的时候,同时显示胡
if step.cmd == Record_Event.Evt_Result then
--所有都显示胡吧,暂时没做胡和自摸的判断
if not self.result then
if step.result_data.info_list[i].is_win then
local info2 = self._player_card_info[self:GetPos(step.result_data.info_list[i].seat)]
local loader_HuEffect = info2._viewLoader_selfHuCardEffect
local isZiMo = false
DataManager.CurrenRoom.isZiMoHu = isZiMo
local hu_sound = isZiMo and ("zimo") or ("hu")
printlog("声音====>>>", hu_sound)
self:PlaySound(self.asset_group, p.self_user.sex, hu_sound)
local effects = isZiMo and ("tile_zimo") or ("tile_hu")
loader_HuEffect.visible = true
loader_HuEffect.url = "ui://Main_Majiang/" .. effects
loader_HuEffect:SetScale(2, 2)
local hu_tween = loader_HuEffect:TweenScale(Vector2(1, 1), 0.3)
hu_tween:SetEase(EaseType.QuartOut)
hu_tween:OnComplete(function()
loader_HuEffect.visible = false
end)
end
end
end
if step.cmd ~= Record_Event.Evt_OutCard and step.cmd ~= Record_Event.Evt_GangScore and step.cmd ~= Record_Event.Evt_Win and p.seat == step.current_out_seat or step.cmd == Record_Event.Evt_Result then
if step.cmd == Record_Event.Evt_Action then
pt("lingmeng step ", step)
local fz = step.fz
@ -129,132 +213,78 @@ function M:ShowStep(index)
effects = "clip_peng"
elseif fz.type == FZType.Chi then
else
self:PlaySound("Main_Majiang", p.self_user.sex, "gang")
effects = "clip_gang"
end
local clip = UIPackage.CreateObjectFromURL(string.format("ui://Main_Majiang/%s", effects))
clip:SetSize(loader_HuEffect.width, loader_HuEffect.height)
loader_HuEffect:AddChild(clip)
clip:SetPlaySettings(0, -1, 1, -1)
clip.onPlayEnd:Add(function()
if clip.parent then
clip.parent:RemoveChild(clip)
end
clip:Dispose()
end)
clip.playing = true
coroutine.start(function()
coroutine.wait(0.3)
self._popEvent = true
end)
end
else
info:UpdateHandCard(false, true)
end
----多人胡的时候,同时显示胡
if step.cmd == Record_Event.Evt_Result then
--所有都显示胡吧,暂时没做胡和自摸的判断
if not self.result then
if step.result_data.info_list[i].is_win then
local info2 = self._player_card_info[self:GetPos(step.result_data.info_list[i].seat)]
local loader_HuEffect = info2._viewLoader_selfHuCardEffect
local isZiMo = false
DataManager.CurrenRoom.isZiMoHu = isZiMo
local hu_sound = isZiMo and ("zimo") or ("hu")
printlog("声音====>>>", hu_sound)
self:PlaySound(self.asset_group, p.self_user.sex, hu_sound)
else
self:PlaySound("Main_Majiang", p.self_user.sex, "gang")
effects = "clip_gang"
end
local clip = UIPackage.CreateObjectFromURL(string.format("ui://Main_Majiang/%s", effects))
clip:SetSize(loader_HuEffect.width, loader_HuEffect.height)
loader_HuEffect:AddChild(clip)
clip:SetPlaySettings(0, -1, 1, -1)
clip.onPlayEnd:Add(function()
if clip.parent then
clip.parent:RemoveChild(clip)
end
clip:Dispose()
end)
clip.playing = true
info:UpdateFzList(fz, index, true, self:GetPos(fz.from_seat))
end
printlog("lingmeng UpdateHandCard", step.cmd, p.seat, step.fz and step.fz.type or -1, FZType.Peng,
_flag_tipGetCard)
if step.cmd == Record_Event.Evt_Action and step.fz.type ~= FZType.Peng then
info:UpdateHandCard(false, true)
elseif step.cmd == Record_Event.Evt_FZTip and not _flag_tipGetCard then
info:UpdateHandCard(false, true)
elseif step.cmd == Record_Event.Evt_Result then
local _flag_result = false
for i = 1, #step.result_data.info_list do
printlog("lingmeng UpdateHandCard3", step.result_data.info_list[i].is_win,
step.result_data.info_list[i].seat)
local effects = isZiMo and ("tile_zimo") or ("tile_hu")
loader_HuEffect.visible = true
loader_HuEffect.url = "ui://Main_Majiang/" .. effects
loader_HuEffect:SetScale(2, 2)
local hu_tween = loader_HuEffect:TweenScale(Vector2(1, 1), 0.3)
hu_tween:SetEase(EaseType.QuartOut)
hu_tween:OnComplete(function()
loader_HuEffect.visible = false
end)
end
end
end
---显示提示按钮
local _ctr_tips = info._view:GetController('tip2')
local _lit_fanzi = info._view:GetChild("Comp_Back_FZTips")
if step.cmd == Record_Event.Evt_FZTip then
if p.seat == step.seat then
local tip = step.tiplist
local _tlist = tip.tip_sortList
_lit_fanzi.itemRenderer = function(index, obj)
local type = obj:GetController('type')
if index == tip.tip_num then
type.selectedIndex = 0
else
index = index + 1
if _tlist[index].type == FZType.HU then
type.selectedIndex = 4
obj:GetChild('btn_Card1').icon = string.format('ui://Main_Majiang/b202_%d',
_tlist[index].card)
elseif _tlist[index].type == FZType.Chi then
type.selectedIndex = FZType.Chi
for i = 1, 3 do
obj:GetChild(string.format('btn_Card%d', i)).icon = string.format(
'ui://Main_Majiang/b202_%d',
_tlist[index].opcard[i])
end
elseif _tlist[index].type == FZType.Peng then
type.selectedIndex = FZType.Peng
for i = 1, 3 do
obj:GetChild(string.format('btn_Card%d', i)).icon = string.format(
'ui://Main_Majiang/b202_%d',
_tlist[index].card)
end
else
for i = 1, 4 do
obj:GetChild(string.format('btn_Card%d', i)).icon = string.format(
'ui://Main_Majiang/b202_%d',
_tlist[index].card)
end
type.selectedIndex = FZType.Gang
if _tlist[index].type == FZType.Gang_An then
obj:GetChild('btn_Card4').icon = 'ui://Main_Majiang/b202_00'
end
end
end
end
_ctr_tips.selectedIndex = 1
_lit_fanzi.numItems = tip.tip_num + 1
end
else
_ctr_tips.selectedIndex = 0
_lit_fanzi.numItems = 0
end
end
if step.result_data.info_list[i].is_win and p.seat == step.result_data.info_list[i].seat then
_flag_result = true
end
end
printlog("lingmeng UpdateHandCard3", _flag_result)
info:UpdateHandCard(_flag_result, true)
else
info:UpdateHandCard(true, true)
end
else
if step.cmd == Record_Event.Evt_Win then
else
info:UpdateHandCard(false, true)
end
end
end
--统一在大结算时显示
if step.cmd == Record_Event.Evt_Win then
else
if self._win_pic then
self._win_pic:Dispose()
end
end
--统一在大结算时显示
if step.cmd == Record_Event.Evt_Niao then
local niao_list = step.niao
else
end
if step.cmd == Record_Event.Evt_Result then
print("lingmeng playerback", self.result)
if not self.result then
local result = step.result_data
self.result = EXClearingView.new(self, { flag_back = true })
self.result:InitData(0, self._room, result)
self.result._view.x = (GRoot.inst.width - self.result._view.width) * -0.5
self.result._view.width = GRoot.inst.width
self.result._view.height = GRoot.inst.height
self._anchor:AddChild(self.result._view)
self.result._view.visible = false
self.result._view.x = self._anchor.x * -1
self.result._view.y = self._anchor.y * -1
--统一在大结算时显示
if step.cmd == Record_Event.Evt_Win then
else
if self._win_pic then
self._win_pic:Dispose()
end
end
--统一在大结算时显示
if step.cmd == Record_Event.Evt_Niao then
local niao_list = step.niao
else
end
if step.cmd == Record_Event.Evt_Result then
print("lingmeng playerback", self.result)
if not self.result then
local result = step.result_data
result.cardList = step.residual_card
self.result = EXClearingView.new(self, { flag_back = true })
self.result:InitData(0, self._room, result)
self.result._view.x = (GRoot.inst.width - self.result._view.width) * -0.5
self.result._view.width = GRoot.inst.width
self.result._view.height = GRoot.inst.height
self._anchor:AddChild(self.result._view)
self.result._view.visible = false
self.result._view.x = self._anchor.x * -1
self.result._view.y = self._anchor.y * -1
local liuju = result and result.liuju or nil
coroutine.start(function()
@ -341,83 +371,83 @@ function M:ShowStep(index)
end
end
--展示摸鸟
local niao_list = result.niao
self._niao = UIPackage.CreateObject("Extend_MJ_FuZhou", "Panel_Birds")
self._view:GetChild('jiangma_show'):AddChild(self._niao)
self._niao:Center()
local list_niao_card = self._niao:GetChild("Lst_birds")
list_niao_card:RemoveChildrenToPool()
for i = 1, #niao_list do
--顯示正面
local item = list_niao_card:AddItemFromPool()
local card = niao_list[i].card
item.icon = UIPackage.GetItemURL("Main_Majiang", "b202_" .. card)
if niao_list[i].score > 0 then
item:GetController("select").selectedIndex = 1
else
item:GetController("select").selectedIndex = 0
end
coroutine.wait(2 / #niao_list)
end
coroutine.wait(0.3)
self._niao:Dispose()
--展示摸鸟
local niao_list = result.niao
self._niao = UIPackage.CreateObject("Extend_MJ_LiChuan", "Panel_Birds")
self._view:GetChild('jiangma_show'):AddChild(self._niao)
self._niao:Center()
local list_niao_card = self._niao:GetChild("Lst_birds")
list_niao_card:RemoveChildrenToPool()
for i = 1, #niao_list do
--顯示正面
local item = list_niao_card:AddItemFromPool()
local card = niao_list[i].card
item.icon = UIPackage.GetItemURL("Main_Majiang", "b202_" .. card)
if niao_list[i].score > 0 then
item:GetController("select").selectedIndex = 1
else
item:GetController("select").selectedIndex = 0
end
coroutine.wait(2 / #niao_list)
end
coroutine.wait(0.3)
self._niao:Dispose()
--统一显示弹出分数
for i = 1, #result.info_list do
local hu_info = result.info_list[i]
local head_info = self._player_info[self:GetPos(hu_info.seat)]
--统一显示弹出分数
for i = 1, #result.info_list do
local hu_info = result.info_list[i]
local head_info = self._player_info[self:GetPos(hu_info.seat)]
-- 扣分动画
head_info:UpdateScore(hu_info.total_score, true)
end
coroutine.wait(0.3)
if liuju then
self:PlayMJSound("liuju.mp3")
coroutine.wait(3)
self:PlayMJSound("end_music.mp3")
else
self:PlayMJSound("end_music.mp3")
end
coroutine.wait(0.5)
self.result._view.visible = true
end)
else
-- self.result._view.visible = true
end
end
--显示杠分
if step.cmd == Record_Event.Evt_GangScore then
local totalScoreList = step.totalScoreList
local playerList = step.playerList
local addScoreList = step.addScoreList
local scoreData = {}
for i = 1, #totalScoreList do
local p = {}
if liuju then
self:PlayMJSound("liuju.mp3")
coroutine.wait(3)
self:PlayMJSound("end_music.mp3")
else
self:PlayMJSound("end_music.mp3")
end
coroutine.wait(0.5)
self.result._view.visible = true
end)
else
-- self.result._view.visible = true
end
end
--显示杠分
if step.cmd == Record_Event.Evt_GangScore then
local totalScoreList = step.totalScoreList
local playerList = step.playerList
local addScoreList = step.addScoreList
local scoreData = {}
for i = 1, #totalScoreList do
local p = {}
p.totalScore = totalScoreList[i]
p.player = playerList[i]
p.addScore = addScoreList[i]
p.totalScore = totalScoreList[i]
p.player = playerList[i]
p.addScore = addScoreList[i]
scoreData[#scoreData + 1] = p
end
scoreData[#scoreData + 1] = p
end
for _, p in pairs(scoreData) do
local player = self._room:GetPlayerById(p.player)
local infoView = self._player_info[self:GetPos(player.seat)]
player.cur_hp = p.totalScore
for _, p in pairs(scoreData) do
local player = self._room:GetPlayerById(p.player)
local infoView = self._player_info[self:GetPos(player.seat)]
player.cur_hp = p.totalScore
if p.addScore ~= 0 then
infoView:ScoreAnimation(p.addScore)
if player.cur_hp >= 0 then
infoView._view:GetChild("text_jifen").text = "+" .. player.cur_hp
else
infoView._view:GetChild("text_jifen").text = player.cur_hp
end
end
end
end
if p.addScore ~= 0 then
infoView:ScoreAnimation(p.addScore)
if player.cur_hp >= 0 then
infoView._view:GetChild("text_jifen").text = "+" .. player.cur_hp
else
infoView._view:GetChild("text_jifen").text = player.cur_hp
end
end
end
end
end
function M:GenerateAllStepData(data)
@ -427,10 +457,12 @@ function M:GenerateAllStepData(data)
local info = data.info
step.cmd = ""
step.left_card = info.left_card
step.last_get_seat = 0
step.last_out_seat = 0
step.current_out_seat = 1
step.win = 0
step.niao = 0
step.residual_card = info.residual_card
step.player_card_data = {}
for i = 1, #self._room.player_list do
@ -456,6 +488,7 @@ function M:CmdGetCard(cmd, index)
local data = self:CopyLastStep(index)
data.cmd = cmd.cmd
data.current_out_seat = cmd.seat
data.last_get_seat = cmd.seat
data.left_card = cmd.data.left_count
local u = data.player_card_data[cmd.seat]
u.card_list[#u.card_list + 1] = cmd.data.card
@ -477,28 +510,43 @@ function M:CmdAction(cmd, index)
data.last_out_seat = 0
data.current_out_seat = cmd.seat
local u = data.player_card_data[cmd.seat]
for i = 1, #cmd.data.opcard do
list_remove(u.card_list, cmd.data.opcard[i])
end
local fz = {}
fz.type = cmd.data.type
fz.card = cmd.data.card
fz.opcard = cmd.data.opcard
fz.from_seat = cmd.data.from_seat
data.fz = fz
local uf = data.player_card_data[cmd.data.from_seat]
if fz.type ~= FZType.Gang_An and fz.type ~= FZType.Gang_Peng then
table.remove(uf.outcard_list, #uf.outcard_list)
end
if fz.type ~= FZType.Gang_Peng then
u.fz_list[#u.fz_list + 1] = fz
else
local fz = nil
local index = -1
local ftype = cmd.data.type
if (ftype == FZType.Gang_Peng) then
for i = 1, #u.fz_list do
if u.fz_list[i].type == FZType.Peng and u.fz_list[i].card == fz.card then
u.fz_list[i].type = FZType.Gang_Peng
if (u.fz_list[i].card == cmd.data.card) then
u.fz_list[i].card = cmd.data.card
fz = u.fz_list[i]
fz.type = cmd.data.type
index = i - 1
break
end
end
end
fz = {}
fz.card = cmd.data.card
fz.type = cmd.data.type
if (index == -1) then
u.fz_list[#u.fz_list + 1] = fz
end
fz.from_seat = cmd.data.from_seat
local remove_num = #cmd.data.opcard
for i = 1, remove_num do
if ftype == FZType.Gang_Peng then
list_remove(u.card_list, cmd.data.card)
else
list_remove(u.card_list, cmd.data.opcard[i])
end
end
u.hand_left_count = u.hand_left_count - remove_num
if cmd.data.from_seat ~= u.seat and ftype ~= FZType.Gang_Peng then
local u = data.player_card_data[cmd.data.from_seat]
table.remove(u.outcard_list, #u.outcard_list)
end
data.fz = fz
end
function M:CmdWin(cmd, index)
@ -520,42 +568,52 @@ function M:CmdPiao(cmd, index)
end
function M:CmdFZTip(cmd, index)
local data = self:CopyLastStep(index)
data.cmd = cmd.cmd
data.seat = cmd.seat
local tiplist = FZTipList.new()
local list = cmd.data.tip_list
for i = 1, #list do
local dtip = list[i]
local tip = {}
tip.id = dtip["id"]
tip.weight = dtip["weight"]
tip.card = dtip["card"]
tip.type = dtip["type"]
tip.opcard = dtip["opcard"]
tiplist:AddTip(tip)
end
--排序规则,胡杠碰
tiplist:SortList(function(a, b)
return a.type < b.type
end)
data.tiplist = tiplist
data.weight = cmd.data.weight
local data = self:CopyLastStep(index)
data.cmd = cmd.cmd
data.seat = cmd.seat
local tiplist = FZTipList.new()
local list = cmd.data.tip_list
for i = 1, #list do
local dtip = list[i]
local tip = {}
tip.id = dtip["id"]
tip.weight = dtip["weight"]
tip.card = dtip["card"]
tip.type = dtip["type"]
tip.opcard = dtip["opcard"]
tiplist:AddTip(tip)
end
--排序规则,胡杠碰
tiplist:SortList(function(a, b)
return a.type < b.type
end)
data.tiplist = tiplist
data.weight = cmd.data.weight
end
function M:GangScore(cmd, index)
local data = self:CopyLastStep(index)
data.cmd = cmd.cmd
data.seat = cmd.seat
data.totalScoreList = cmd.data.totalScoreList
data.playerList = cmd.data.playerList
data.addScoreList = cmd.data.addScoreList
local data = self:CopyLastStep(index)
data.cmd = cmd.cmd
data.seat = cmd.seat
data.totalScoreList = cmd.data.totalScoreList
data.playerList = cmd.data.playerList
data.addScoreList = cmd.data.addScoreList
end
function M:CmdResult(cmd, index)
local data = self:CopyLastStep(index)
data.cmd = cmd.cmd
data.seat = 0
data.result_data = cmd.data
for i = 1, #cmd.data.info_list do
local info = cmd.data.info_list[i]
if info.is_win and info.seat ~= data.current_out_seat then
local u = data.player_card_data[info.seat]
u.card_list[#u.card_list + 1] = info.win_card
local u = data.player_card_data[data.last_out_seat]
table.remove(u.outcard_list, #u.outcard_list)
end
end
end
function M:CopyLastStep(index)
@ -587,6 +645,16 @@ function M:UpdateRound()
self._room.room_config.round)
end
function M:ShowJing()
print("lingmeng jing ", self._room.jing)
if self._room.jing then
self.jing.visible = true
MJPlayerCardInfoView.fillCard2(self, self.jing, "b202_", self._room.jing)
else
self.jing.visible = false
end
end
function M:UpdateStep(step)
self._record:GetChild("tex_step").text = "" .. step .. " / " .. #self._step .. ""
end

View File

@ -208,7 +208,7 @@ function M:LoadConfigToDetailOnlyPlay(data, hpdata)
returnString = string.format("%s人数%s人", returnString, configData.maxPlayers)
if hpData then
returnString = string.format("%s %s", returnString, hpData.maxRound)
returnString = string.format("%s %s", returnString, hpData.maxRound)
end
if configData.zimo then
@ -269,7 +269,7 @@ function M:LoadConfigToDetail(data, hpdata)
returnString = string.format("%s人数%s人", returnString, configData.maxPlayers)
if hpData then
returnString = string.format("%s %s", returnString, hpData.maxRound)
returnString = string.format("%s %s", returnString, hpData.maxRound)
end
if configData.zimo then
returnString = string.format("%s,%s", returnString, configData.zimo == 0 and "可点炮,可自摸" or "必须自摸")

View File

@ -508,6 +508,8 @@ function M:EventInit()
self.dismissWin:Destroy()
end
self.dismissWin = nil
self._player_card_info[1]._ctr_tip.selectedIndex = 0
self._player_card_info[1]._ctr_showGuoHu.selectedIndex = 0
if over == 2 then
if _room.curren_round > 0 then
self:PlayMJMusic("gameover.mp3")

View File

@ -3,6 +3,8 @@ local EXRoomConfig = import(".EXRoomConfig")
local EXClearingView = import(".EXClearingView")
local HuCardImg = import(".HuCardImg")
local FZTipList = require("main.majiang.FZData")
local MJPlayerCardInfoView = require("main.majiang.MJPlayerCardInfoView")
local Record_Event = import(".RecordEvent")
@ -29,6 +31,7 @@ function M:InitView(url)
self._tex_round = self._view:GetChild("tex_round")
self._tex_LeftCard = self._view:GetChild("remaining_card")
self._anchor = self._view:GetChild("mask_tips")
self.jing = self._view:GetChild('jing')
self.HuCardImg = setmetatable(HuCardImg, { __index = self.HuCardImg })
self.asset_group = "NanCheng_MJ"
@ -62,6 +65,7 @@ function M:FillRoomData(data)
self:UpdateLeftCard(left_count)
local round = data.info.round
self:UpdateRound(round)
self:ShowJing()
local roominfo_panel = self._view:GetChild("roominfo_panel1")
roominfo_panel:GetChild("tex_roomid").text = room.room_id
@ -79,6 +83,8 @@ function M:FillRoomData(data)
self:GenerateAllStepData(data)
self:UpdateStep(1)
self:Play()
self._laiziMove:Play()
self._touxiangMove:Play()
-- self:ShowStep(0)
end
@ -98,8 +104,8 @@ function M:ShowStep(index)
p.outcard_list = step.player_card_data[i].outcard_list
p.fz_list = step.player_card_data[i].fz_list
p.hand_left_count = #p.card_list
info:Clear()
info:ResetFzList()
-- info:Clear()
-- info:ResetFzList()
p.piao_niao = step.player_card_data[i].piao_niao
local head_info = self._player_info[self:GetPos(i)]
if p.piao_niao and p.piao_niao > 0 then
@ -116,8 +122,86 @@ function M:ShowStep(index)
else
info:UpdateOutCardList()
end
if (step.cmd == Record_Event.Evt_GetCard or step.cmd == Record_Event.Evt_Action) and p.seat == step.current_out_seat then
info:UpdateHandCard(true, true)
---显示提示按钮
local _ctr_tips = info._view:GetController('tip2')
local _lit_fanzi = info._view:GetChild("Comp_Back_FZTips")
local _flag_tipGetCard = false
if step.cmd == Record_Event.Evt_FZTip then
if p.seat == step.seat then
local tip = step.tiplist
local _tlist = tip.tip_sortList
_lit_fanzi.itemRenderer = function(index, obj)
local type = obj:GetController('type')
if index == tip.tip_num then
type.selectedIndex = 0
else
index = index + 1
if _tlist[index].type == FZType.HU then
type.selectedIndex = 4
obj:GetChild('btn_Card1').icon = string.format('ui://Main_Majiang/b202_%d',
_tlist[index].card)
_flag_tipGetCard = self.last_get_seat ~= step.seat
elseif _tlist[index].type == FZType.Chi then
type.selectedIndex = FZType.Chi
for i = 1, 3 do
obj:GetChild(string.format('btn_Card%d', i)).icon = string.format(
'ui://Main_Majiang/b202_%d',
_tlist[index].opcard[i])
end
elseif _tlist[index].type == FZType.Peng then
type.selectedIndex = FZType.Peng
for i = 1, 3 do
obj:GetChild(string.format('btn_Card%d', i)).icon = string.format(
'ui://Main_Majiang/b202_%d',
_tlist[index].card)
end
else
for i = 1, 4 do
obj:GetChild(string.format('btn_Card%d', i)).icon = string.format(
'ui://Main_Majiang/b202_%d',
_tlist[index].card)
end
type.selectedIndex = FZType.Gang
if _tlist[index].type == FZType.Gang_An then
obj:GetChild('btn_Card4').icon = 'ui://Main_Majiang/b202_00'
end
_flag_tipGetCard = true
end
end
end
_ctr_tips.selectedIndex = 1
_lit_fanzi.numItems = tip.tip_num + 1
end
else
_ctr_tips.selectedIndex = 0
_lit_fanzi.numItems = 0
end
----多人胡的时候,同时显示胡
if step.cmd == Record_Event.Evt_Result then
--所有都显示胡吧,暂时没做胡和自摸的判断
if not self.result then
if step.result_data.info_list[i].is_win then
local info2 = self._player_card_info[self:GetPos(step.result_data.info_list[i].seat)]
local loader_HuEffect = info2._viewLoader_selfHuCardEffect
local isZiMo = false
DataManager.CurrenRoom.isZiMoHu = isZiMo
local hu_sound = isZiMo and ("zimo") or ("hu")
printlog("声音====>>>", hu_sound)
self:PlaySound(self.asset_group, p.self_user.sex, hu_sound)
local effects = isZiMo and ("tile_zimo") or ("tile_hu")
loader_HuEffect.visible = true
loader_HuEffect.url = "ui://Main_Majiang/" .. effects
loader_HuEffect:SetScale(2, 2)
local hu_tween = loader_HuEffect:TweenScale(Vector2(1, 1), 0.3)
hu_tween:SetEase(EaseType.QuartOut)
hu_tween:OnComplete(function()
loader_HuEffect.visible = false
end)
end
end
end
if step.cmd ~= Record_Event.Evt_OutCard and step.cmd ~= Record_Event.Evt_GangScore and step.cmd ~= Record_Event.Evt_Win and p.seat == step.current_out_seat or step.cmd == Record_Event.Evt_Result then
if step.cmd == Record_Event.Evt_Action then
pt("lingmeng step ", step)
local fz = step.fz
@ -129,132 +213,78 @@ function M:ShowStep(index)
effects = "clip_peng"
elseif fz.type == FZType.Chi then
else
self:PlaySound("Main_Majiang", p.self_user.sex, "gang")
effects = "clip_gang"
end
local clip = UIPackage.CreateObjectFromURL(string.format("ui://Main_Majiang/%s", effects))
clip:SetSize(loader_HuEffect.width, loader_HuEffect.height)
loader_HuEffect:AddChild(clip)
clip:SetPlaySettings(0, -1, 1, -1)
clip.onPlayEnd:Add(function()
if clip.parent then
clip.parent:RemoveChild(clip)
end
clip:Dispose()
end)
clip.playing = true
coroutine.start(function()
coroutine.wait(0.3)
self._popEvent = true
end)
end
else
info:UpdateHandCard(false, true)
end
----多人胡的时候,同时显示胡
if step.cmd == Record_Event.Evt_Result then
--所有都显示胡吧,暂时没做胡和自摸的判断
if not self.result then
if step.result_data.info_list[i].is_win then
local info2 = self._player_card_info[self:GetPos(step.result_data.info_list[i].seat)]
local loader_HuEffect = info2._viewLoader_selfHuCardEffect
local isZiMo = false
DataManager.CurrenRoom.isZiMoHu = isZiMo
local hu_sound = isZiMo and ("zimo") or ("hu")
printlog("声音====>>>", hu_sound)
self:PlaySound(self.asset_group, p.self_user.sex, hu_sound)
else
self:PlaySound("Main_Majiang", p.self_user.sex, "gang")
effects = "clip_gang"
end
local clip = UIPackage.CreateObjectFromURL(string.format("ui://Main_Majiang/%s", effects))
clip:SetSize(loader_HuEffect.width, loader_HuEffect.height)
loader_HuEffect:AddChild(clip)
clip:SetPlaySettings(0, -1, 1, -1)
clip.onPlayEnd:Add(function()
if clip.parent then
clip.parent:RemoveChild(clip)
end
clip:Dispose()
end)
clip.playing = true
info:UpdateFzList(fz, index, true, self:GetPos(fz.from_seat))
end
printlog("lingmeng UpdateHandCard", step.cmd, p.seat, step.fz and step.fz.type or -1, FZType.Peng,
_flag_tipGetCard)
if step.cmd == Record_Event.Evt_Action and step.fz.type ~= FZType.Peng then
info:UpdateHandCard(false, true)
elseif step.cmd == Record_Event.Evt_FZTip and not _flag_tipGetCard then
info:UpdateHandCard(false, true)
elseif step.cmd == Record_Event.Evt_Result then
local _flag_result = false
for i = 1, #step.result_data.info_list do
printlog("lingmeng UpdateHandCard3", step.result_data.info_list[i].is_win,
step.result_data.info_list[i].seat)
local effects = isZiMo and ("tile_zimo") or ("tile_hu")
loader_HuEffect.visible = true
loader_HuEffect.url = "ui://Main_Majiang/" .. effects
loader_HuEffect:SetScale(2, 2)
local hu_tween = loader_HuEffect:TweenScale(Vector2(1, 1), 0.3)
hu_tween:SetEase(EaseType.QuartOut)
hu_tween:OnComplete(function()
loader_HuEffect.visible = false
end)
end
end
end
---显示提示按钮
local _ctr_tips = info._view:GetController('tip2')
local _lit_fanzi = info._view:GetChild("Comp_Back_FZTips")
if step.cmd == Record_Event.Evt_FZTip then
if p.seat == step.seat then
local tip = step.tiplist
local _tlist = tip.tip_sortList
_lit_fanzi.itemRenderer = function(index, obj)
local type = obj:GetController('type')
if index == tip.tip_num then
type.selectedIndex = 0
else
index = index + 1
if _tlist[index].type == FZType.HU then
type.selectedIndex = 4
obj:GetChild('btn_Card1').icon = string.format('ui://Main_Majiang/b202_%d',
_tlist[index].card)
elseif _tlist[index].type == FZType.Chi then
type.selectedIndex = FZType.Chi
for i = 1, 3 do
obj:GetChild(string.format('btn_Card%d', i)).icon = string.format(
'ui://Main_Majiang/b202_%d',
_tlist[index].opcard[i])
end
elseif _tlist[index].type == FZType.Peng then
type.selectedIndex = FZType.Peng
for i = 1, 3 do
obj:GetChild(string.format('btn_Card%d', i)).icon = string.format(
'ui://Main_Majiang/b202_%d',
_tlist[index].card)
end
else
for i = 1, 4 do
obj:GetChild(string.format('btn_Card%d', i)).icon = string.format(
'ui://Main_Majiang/b202_%d',
_tlist[index].card)
end
type.selectedIndex = FZType.Gang
if _tlist[index].type == FZType.Gang_An then
obj:GetChild('btn_Card4').icon = 'ui://Main_Majiang/b202_00'
end
end
end
end
_ctr_tips.selectedIndex = 1
_lit_fanzi.numItems = tip.tip_num + 1
end
else
_ctr_tips.selectedIndex = 0
_lit_fanzi.numItems = 0
end
end
if step.result_data.info_list[i].is_win and p.seat == step.result_data.info_list[i].seat then
_flag_result = true
end
end
printlog("lingmeng UpdateHandCard3", _flag_result)
info:UpdateHandCard(_flag_result, true)
else
info:UpdateHandCard(true, true)
end
else
if step.cmd == Record_Event.Evt_Win then
else
info:UpdateHandCard(false, true)
end
end
end
--统一在大结算时显示
if step.cmd == Record_Event.Evt_Win then
else
if self._win_pic then
self._win_pic:Dispose()
end
end
--统一在大结算时显示
if step.cmd == Record_Event.Evt_Niao then
local niao_list = step.niao
else
end
if step.cmd == Record_Event.Evt_Result then
print("lingmeng playerback", self.result)
if not self.result then
local result = step.result_data
self.result = EXClearingView.new(self, { flag_back = true })
self.result:InitData(0, self._room, result)
self.result._view.x = (GRoot.inst.width - self.result._view.width) * -0.5
self.result._view.width = GRoot.inst.width
self.result._view.height = GRoot.inst.height
self._anchor:AddChild(self.result._view)
self.result._view.visible = false
self.result._view.x = self._anchor.x * -1
self.result._view.y = self._anchor.y * -1
--统一在大结算时显示
if step.cmd == Record_Event.Evt_Win then
else
if self._win_pic then
self._win_pic:Dispose()
end
end
--统一在大结算时显示
if step.cmd == Record_Event.Evt_Niao then
local niao_list = step.niao
else
end
if step.cmd == Record_Event.Evt_Result then
print("lingmeng playerback", self.result)
if not self.result then
local result = step.result_data
result.cardList = step.residual_card
self.result = EXClearingView.new(self, { flag_back = true })
self.result:InitData(0, self._room, result)
self.result._view.x = (GRoot.inst.width - self.result._view.width) * -0.5
self.result._view.width = GRoot.inst.width
self.result._view.height = GRoot.inst.height
self._anchor:AddChild(self.result._view)
self.result._view.visible = false
self.result._view.x = self._anchor.x * -1
self.result._view.y = self._anchor.y * -1
local liuju = result and result.liuju or nil
coroutine.start(function()
@ -343,7 +373,7 @@ function M:ShowStep(index)
--展示摸鸟
local niao_list = result.niao
self._niao = UIPackage.CreateObject("Extend_MJ_FuZhou", "Panel_Birds")
self._niao = UIPackage.CreateObject("Extend_MJ_NanCheng", "Panel_Birds")
self._view:GetChild('jiangma_show'):AddChild(self._niao)
self._niao:Center()
local list_niao_card = self._niao:GetChild("Lst_birds")
@ -427,10 +457,12 @@ function M:GenerateAllStepData(data)
local info = data.info
step.cmd = ""
step.left_card = info.left_card
step.last_get_seat = 0
step.last_out_seat = 0
step.current_out_seat = 1
step.win = 0
step.niao = 0
step.residual_card = info.residual_card
step.player_card_data = {}
for i = 1, #self._room.player_list do
@ -456,6 +488,7 @@ function M:CmdGetCard(cmd, index)
local data = self:CopyLastStep(index)
data.cmd = cmd.cmd
data.current_out_seat = cmd.seat
data.last_get_seat = cmd.seat
data.left_card = cmd.data.left_count
local u = data.player_card_data[cmd.seat]
u.card_list[#u.card_list + 1] = cmd.data.card
@ -477,28 +510,43 @@ function M:CmdAction(cmd, index)
data.last_out_seat = 0
data.current_out_seat = cmd.seat
local u = data.player_card_data[cmd.seat]
for i = 1, #cmd.data.opcard do
list_remove(u.card_list, cmd.data.opcard[i])
end
local fz = {}
fz.type = cmd.data.type
fz.card = cmd.data.card
fz.opcard = cmd.data.opcard
fz.from_seat = cmd.data.from_seat
data.fz = fz
local uf = data.player_card_data[cmd.data.from_seat]
if fz.type ~= FZType.Gang_An and fz.type ~= FZType.Gang_Peng then
table.remove(uf.outcard_list, #uf.outcard_list)
end
if fz.type ~= FZType.Gang_Peng then
u.fz_list[#u.fz_list + 1] = fz
else
local fz = nil
local index = -1
local ftype = cmd.data.type
if (ftype == FZType.Gang_Peng) then
for i = 1, #u.fz_list do
if u.fz_list[i].type == FZType.Peng and u.fz_list[i].card == fz.card then
u.fz_list[i].type = FZType.Gang_Peng
if (u.fz_list[i].card == cmd.data.card) then
u.fz_list[i].card = cmd.data.card
fz = u.fz_list[i]
fz.type = cmd.data.type
index = i - 1
break
end
end
end
fz = {}
fz.card = cmd.data.card
fz.type = cmd.data.type
if (index == -1) then
u.fz_list[#u.fz_list + 1] = fz
end
fz.from_seat = cmd.data.from_seat
local remove_num = #cmd.data.opcard
for i = 1, remove_num do
if ftype == FZType.Gang_Peng then
list_remove(u.card_list, cmd.data.card)
else
list_remove(u.card_list, cmd.data.opcard[i])
end
end
u.hand_left_count = u.hand_left_count - remove_num
if cmd.data.from_seat ~= u.seat and ftype ~= FZType.Gang_Peng then
local u = data.player_card_data[cmd.data.from_seat]
table.remove(u.outcard_list, #u.outcard_list)
end
data.fz = fz
end
function M:CmdWin(cmd, index)
@ -555,7 +603,17 @@ end
function M:CmdResult(cmd, index)
local data = self:CopyLastStep(index)
data.cmd = cmd.cmd
data.seat = 0
data.result_data = cmd.data
for i = 1, #cmd.data.info_list do
local info = cmd.data.info_list[i]
if info.is_win and info.seat ~= data.current_out_seat then
local u = data.player_card_data[info.seat]
u.card_list[#u.card_list + 1] = info.win_card
local u = data.player_card_data[data.last_out_seat]
table.remove(u.outcard_list, #u.outcard_list)
end
end
end
function M:CopyLastStep(index)
@ -587,6 +645,16 @@ function M:UpdateRound()
self._room.room_config.round)
end
function M:ShowJing()
print("lingmeng jing ", self._room.jing)
if self._room.jing then
self.jing.visible = true
MJPlayerCardInfoView.fillCard2(self, self.jing, "b202_", self._room.jing)
else
self.jing.visible = false
end
end
function M:UpdateStep(step)
self._record:GetChild("tex_step").text = "" .. step .. " / " .. #self._step .. ""
end

View File

@ -2,38 +2,38 @@ local MJPlayerCardInfoView = import(".MJPlayerCardInfoView")
local MJPlayerSelfCardInfoView = import(".MJPlayerSelfCardInfoView")
local TableBG = import('Game.Data.TableBG')
---
---
local M = {}
setmetatable(M,{__index = PlayBackView})
setmetatable(M, { __index = PlayBackView })
local bg_config = {
{id = 1, url = "base/main_pokemajiang/bg/bg1", thumb = "ui://Main_PokeMaJiang/b01"}
{ id = 1, url = "base/main_pokemajiang/bg/bg1", thumb = "ui://Main_PokeMaJiang/b01" }
}
function M:InitView(url)
UIPackage.AddPackage("base/main_pokemajiang/ui/Main_PokeMaJiang")
PlayBackView.InitView(self,url)
PlayBackView.InitView(self, url)
local _view = self._view
self._cursor = UIPackage.CreateObjectFromURL("ui://Main_PokeMaJiang/Ani_play_bj")
TableBG.LoadTableBG(1, nil, self._root_view,bg_config)
TableBG.LoadTableBG(1, nil, self._root_view, bg_config)
UpdateBeat:Add(self.OnUpdate,self)
UpdateBeat:Add(self.OnUpdate, self)
end
function M:FillRoomData()
local _room = self._room
if self._player_card_info == nil or #self._player_card_info == 0 then
if self._player_card_info == nil or #self._player_card_info == 0 then
self._player_card_info = {}
local _player_card_info = self._player_card_info
for i = 1, _room.room_config.people_num do
local tem = self._view:GetChild("player_card_info" .. i)
_player_card_info[i] = self:NewMJPlayerCardInfoView(tem,i)
_player_card_info[i] = self:NewMJPlayerCardInfoView(tem, i)
end
end
local list = _room.player_list
for i=1,#list do
for i = 1, #list do
local p = list[i]
local info = self._player_card_info[self:GetPos(p.seat)]
info:SetPlayer(p)
@ -42,7 +42,7 @@ function M:FillRoomData()
self:SetCardBoxPosition()
local list = _room.player_list
for i=1,#list do
for i = 1, #list do
local p = list[i]
local info = self._player_info[self:GetPos(p.seat)]
info._view.visible = true
@ -51,17 +51,17 @@ function M:FillRoomData()
end
function M:SetCardBoxPosition()
local _room = self._room
for i = 1, _room.room_config.people_num do
local tex = self._view:GetChild("cardbox"):GetChild("direction"..i)
local index = _room.self_player.seat + i - 1
index = index > 4 and index - 4 or index
tex.text = self._gamectr:GetPosString(index)
end
local _room = self._room
for i = 1, _room.room_config.people_num do
local tex = self._view:GetChild("cardbox"):GetChild("direction" .. i)
local index = _room.self_player.seat + i - 1
index = index > 4 and index - 4 or index
tex.text = self._gamectr:GetPosString(index)
end
end
function M:NewMJPlayerCardInfoView(view,index)
return MJPlayerCardInfoView.new(view,self)
function M:NewMJPlayerCardInfoView(view, index)
return MJPlayerCardInfoView.new(view, self)
end
function M:NextRecordPlay()
@ -110,7 +110,8 @@ end
function M:ChangeTextSpeed()
local str1 = self._play and self._speed or ""
self._view:GetChild("panel_record"):GetChild("tex_speed").text = str1
local str2 = not self._play and (self._playFoward and "播放暂停" or "回退暂停") or self._playFoward and (self._speed == 1 and "播放" or "快进") or (self._speed == 1 and "回退" or "快退")
local str2 = not self._play and (self._playFoward and "播放暂停" or "回退暂停") or
self._playFoward and (self._speed == 1 and "播放" or "快进") or (self._speed == 1 and "回退" or "快退")
self._view:GetChild("panel_record"):GetChild("tex_2").text = str2
local str3 = self._play and "倍速度" or ""
self._view:GetChild("panel_record"):GetChild("tex_1").text = str3
@ -154,11 +155,11 @@ function M:OnUpdate()
if self._play then
if (self._currentStep == #self.cmdList and self._playFoward) then
self:ChangePlayState(false)
ViewUtil.ErrorTip(nil,"当前已是录像结尾了,再次点击播放按钮可重新播放")
ViewUtil.ErrorTip(nil, "当前已是录像结尾了,再次点击播放按钮可重新播放")
return
elseif (self._currentStep == 0 and not self._playFoward) then
self:ChangePlayState(false)
ViewUtil.ErrorTip(nil,"当前已是录像开头了,再次点击播放按钮可重新播放")
ViewUtil.ErrorTip(nil, "当前已是录像开头了,再次点击播放按钮可重新播放")
return
end
self._timer = self._timer + Time.deltaTime
@ -171,21 +172,21 @@ function M:OnUpdate()
end
end
function M:RemoveCursor()
function M:RemoveCursor()
if self._cursor.parent then
self._cursor.parent:GetController("color").selectedIndex = 0
end
self._cursor:RemoveFromParent()
self._cursor.parent:GetController("color").selectedIndex = 0
end
self._cursor:RemoveFromParent()
end
function M:GetPrefix()
return get_majiang_prefix(DataManager.CurrenRoom.game_id)
return get_majiang_prefix(DataManager.CurrenRoom.game_id)
end
function M:Destroy()
if self._cursor then self._cursor:Dispose() end
UpdateBeat:Remove(self.OnUpdate,self)
UpdateBeat:Remove(self.OnUpdate, self)
PlayBackView.Destroy(self)
end
return M
return M

View File

@ -310,7 +310,7 @@ function M:LoadConfigToDetail(data, hpdata)
returnString = string.format("%s人数%s人", returnString, configData.maxPlayers)
if hpData then
returnString = string.format("%s %s", returnString, hpData.maxRound)
returnString = string.format("%s %s", returnString, hpData.maxRound)
end
if configData.leaf then
returnString = string.format("%s,%s", returnString, configData.leaf == 1 and "15张手牌" or "16张手牌")

View File

@ -106,6 +106,7 @@ end
function M:FillRoomData(data)
-- print("hidezhanji 1111")
self._currentStep = 1
local room = DataManager.CurrenRoom
self._room = DataManager.CurrenRoom
@ -147,6 +148,31 @@ function M:FillRoomData(data)
self:Play()
end
function M:ChangePlayState(state)
self._play = state
self:ChangeTextSpeed()
local btn_play = self._view:GetChild("panel_record"):GetChild("btn_play")
if self._play then
btn_play:GetController("state").selectedIndex = 1
else
btn_play:GetController("state").selectedIndex = 0
end
--开始时,隐藏显示结算界面
if state then
if self.destory_win ~= nil then
coroutine.stop(self.destory_win)
end
self.destory_win = nil
if self.result_view then
self.result_view._root_view:RemoveFromParent()
self.result_view:Destroy()
self._ctr_inClear.selectedIndex = 0
end
self.result_view = nil
end
end
function M:ShowStep(index)
local step = self._step[index]
if step == nil then
@ -302,9 +328,9 @@ function M:ShowStep(index)
local num = self._view:GetChildIndex(self._view:GetChild("panel_record"))
self._view:AddChildAt(self.result_view._view, num)
else
if self.result_view then
self.result_view:Dispose()
end
-- if self.result_view then
-- self.result_view:Dispose()
-- end
end
end
@ -434,10 +460,10 @@ function M:NextRecordPlay()
self._speed = 1
self._playFoward = true
self:ChangeTextSpeed()
if self.result_view then
self.result_view:Dispose()
self.result_view = nil
end
-- if self.result_view then
-- self.result_view:Dispose()
-- self.result_view = nil
-- end
end
function M:LastRecordPlay()
@ -449,10 +475,10 @@ function M:LastRecordPlay()
self._speed = 1
self._playFoward = true
self:ChangeTextSpeed()
if self.result_view then
self.result_view:Dispose()
self.result_view = nil
end
-- if self.result_view then
-- self.result_view:Dispose()
-- self.result_view = nil
-- end
end
function M:_Effect(type1, player)

View File

@ -792,6 +792,8 @@ function M:OnHuCard(...)
local player = self._room:GetPlayerBySeat(win_seat)
-- self:RemoveCursor()
--info:UpdateHandCard(false, false)
self._player_card_info[1]._ctr_tip.selectedIndex = 0
self._player_card_info[1]._ctr_showGuoHu.selectedIndex = 0
info:ShowHuCard(win_card, index == 1)
self.cHuCardEffect.selectedIndex = 1

View File

@ -21,6 +21,8 @@ function M:InitView(url)
PlayBackView.InitView(self, url)
local _view = self._view
self._cursor = UIPackage.CreateObjectFromURL("ui://Main_Majiang/Ani_play_bj")
self._laiziMove = self._view:GetTransition('laiziMove')
self._touxiangMove = self._view:GetTransition('touxiangMove')
TableBG.LoadTableBG(1, nil, self._root_view, bg_config)
UpdateBeat:Add(self.OnUpdate, self)
@ -133,6 +135,15 @@ function M:LastRecordPlay()
end
function M:RestartRecordPlay()
local list = self._room.player_list
for i = 1, #list do
local p = list[i]
local info = self._player_info[self:GetPos(p.seat)]
info._view.visible = true
info:FillData(p)
local card_info = self._player_card_info[self:GetPos(p.seat)]
card_info:Clear()
end
self:ChangeAlpha()
self._currentStep = 0
self._speed = 1
@ -179,7 +190,7 @@ function M:ChangeTextSpeed()
-- self._view:GetChild("panel_record"):GetChild("tex_2").text = str2
-- local str3 = self._play and "倍速度" or ""
-- self._view:GetChild("panel_record"):GetChild("tex_1").text = str3
self._record:GetChild('tex_speed').text = self._speed
self._record:GetChild('tex_speed').text = self._speed == 30 and 1 or self._speed
end
function M:CmdLeftArrows()

View File

@ -175,10 +175,27 @@ function M:UpdateHandCard(getcard, mp)
mp = mp or false
--存在back_columnGap字段则调控列表间距
if self._viewText_cardInfo['back_columnGap'] and self._view_handCardList.columnGap ~= tonumber(self._viewText_cardInfo['back_columnGap']) then
self._view_handCardList.columnGap = tonumber(self._viewText_cardInfo['back_columnGap'])
if mp then
if self._viewText_cardInfo['show_columnGap'] and self._view_handCardList.columnGap ~= tonumber(self._viewText_cardInfo['show_columnGap']) then
self._view_handCardList.columnGap = tonumber(self._viewText_cardInfo['show_columnGap'])
end
if self._mainView:GetPos(self._player.seat) == 2 or self._mainView:GetPos(self._player.seat) == 3 then
local tem = {}
for i = (getcard and #self._player.card_list - 1 or #self._player.card_list), 1, -1 do
table.insert(tem, self._player.card_list[i])
end
if getcard then
table.insert(tem, self._player.card_list[#self._player.card_list])
end
self._player.card_list = tem
end
else
if self._viewText_cardInfo['back_columnGap'] and self._view_handCardList.columnGap ~= tonumber(self._viewText_cardInfo['back_columnGap']) then
self._view_handCardList.columnGap = tonumber(self._viewText_cardInfo['back_columnGap'])
end
end
self._view_handCardList:RemoveChildren()
self._view_getCard:RemoveChildren()
local btn_card
@ -409,11 +426,7 @@ function M:ResetFzList()
print("lingmengResetFzList")
pt(self._player)
local fz = self._player.fz_list[i]
-- if fz.type ~= FZType.Gang_Peng then
self:UpdateFzList(fz, -1)
-- else
-- self:UpdateFzList(fz, i)
-- end
end
end

View File

@ -43,6 +43,13 @@ function M:LastRecordPlay()
end
function M:RestartRecordPlay()
local list = self._room.player_list
for i = 1, #list do
local p = list[i]
local info = self._player_info[self:GetPos(p.seat)]
info._view.visible = true
info:FillData(p)
end
self:ChangeAlpha()
self._currentStep = 0
self._speed = 1
@ -89,7 +96,7 @@ function M:ChangeTextSpeed()
-- self._view:GetChild("panel_record"):GetChild("tex_2").text = str2
-- local str3 = self._play and "倍速度" or ""
-- self._view:GetChild("panel_record"):GetChild("tex_1").text = str3
self._record:GetChild('tex_speed').text = self._speed
self._record:GetChild('tex_speed').text = self._speed == 30 and 1 or self._speed
end
function M:CmdLeftArrows()

View File

@ -1224,17 +1224,17 @@
<image id="lj2n7inz" name="stop.png" path="/component/record/"/>
<component id="lj2n7io0" name="btn_mul.xml" path="/component/record/Component/" exported="true"/>
<image id="lj2n7io1" name="mahj_restart_btn.png" path="/component/record/"/>
<image id="lj2n181" name="4919.png" path="/component/record/Component/font/"/>
<image id="lj2n182" name="4920.png" path="/component/record/Component/font/"/>
<image id="lj2n183" name="4921.png" path="/component/record/Component/font/"/>
<image id="lj2n184" name="4922.png" path="/component/record/Component/font/"/>
<image id="lj2n185" name="4923.png" path="/component/record/Component/font/"/>
<image id="lj2n186" name="4924.png" path="/component/record/Component/font/"/>
<image id="lj2n187" name="4925.png" path="/component/record/Component/font/"/>
<image id="lj2n188" name="4926.png" path="/component/record/Component/font/"/>
<image id="lj2n189" name="4927.png" path="/component/record/Component/font/"/>
<image id="lj2n18a" name="4928.png" path="/component/record/Component/font/"/>
<image id="lj2n18b" name="x.png" path="/component/record/Component/font/" exported="true"/>
<image id="lj2n181" name="4919.png" path="/component/record/Component/font/" atlas="10"/>
<image id="lj2n182" name="4920.png" path="/component/record/Component/font/" atlas="10"/>
<image id="lj2n183" name="4921.png" path="/component/record/Component/font/" atlas="10"/>
<image id="lj2n184" name="4922.png" path="/component/record/Component/font/" atlas="10"/>
<image id="lj2n185" name="4923.png" path="/component/record/Component/font/" atlas="10"/>
<image id="lj2n186" name="4924.png" path="/component/record/Component/font/" atlas="10"/>
<image id="lj2n187" name="4925.png" path="/component/record/Component/font/" atlas="10"/>
<image id="lj2n188" name="4926.png" path="/component/record/Component/font/" atlas="10"/>
<image id="lj2n189" name="4927.png" path="/component/record/Component/font/" atlas="10"/>
<image id="lj2n18a" name="4928.png" path="/component/record/Component/font/" atlas="10"/>
<image id="lj2n18b" name="x.png" path="/component/record/Component/font/" exported="true" atlas="10"/>
<font id="lj2n18c" name="MJ_recordSpeed.fnt" path="/component/record/Component/font/" exported="true"/>
<image id="u6337io2" name="1f600.png" path="/images/Emojies/" exported="true"/>
<image id="tx8e7io3" name="1f550.png" path="/images/Emojies/" exported="true"/>

View File

@ -5,14 +5,14 @@
<image id="n31_op0e" name="n31" src="op0e7i4w" fileName="loggin_bg.png" xy="0,0">
<relation target="" sidePair="width-width,height-height"/>
</image>
<text id="n2" name="tex_info" xy="1145,897" size="240,79" group="n8_rtsl" font="ui://27vd145bh35o7il7" fontSize="60" color="#ffffff" align="center" text="检查更新">
<text id="n2" name="tex_info" xy="879,897" size="772,79" group="n8_rtsl" font="ui://27vd145bh35o7il7" fontSize="60" color="#cccccc" align="center" text="已是最新版本、祝您游戏愉快">
<relation target="" sidePair="center-center,top-top%"/>
</text>
<component id="n20_nld2" name="pb_progress" src="pcy012" fileName="commpoent/Slider1.xml" xy="356,811" group="n8_rtsl">
<relation target="" sidePair="width-width%,height-height%,center-center%"/>
<Slider value="100" max="100"/>
</component>
<text id="n33_g6m8" name="tex_info_check" xy="1387,879" size="10,79" group="n8_rtsl" font="ui://27vd145bh35o7il7" fontSize="60" color="#ffffff" align="center" singleLine="true" text="">
<text id="n33_g6m8" name="tex_info_check" xy="1653,958" size="0,0" group="n8_rtsl" font="ui://27vd145bh35o7il7" fontSize="60" color="#cccccc" align="center" singleLine="true" text="">
<relation target="n2" sidePair="left-right,bottom-bottom"/>
</text>
<group id="n8_rtsl" name="n8" xy="356,811" size="1818,165" advanced="true">
@ -31,6 +31,9 @@
<image id="n32_xx1c" name="n32" src="xn9417" fileName="hall_girl_bg@2x.png" xy="718,247">
<relation target="" sidePair="width-width%,height-height%,center-center,top-top%"/>
</image>
<text id="n34_g6m8" name="tex_info" xy="235,1076" size="2062,64" font="ui://27vd145bh35o7il7" fontSize="48" color="#cccccc" align="center" text="抵制不良游戏 拒绝盗版游戏 注意自我保护 谨防上当受骗 适度游戏伤身 合理安排时间 享受健康生活">
<relation target="" sidePair="center-center,bottom-bottom"/>
</text>
</displayList>
<transition name="check" frameRate="30">
<item time="0" type="Text" target="n33_g6m8" value=""/>

View File

@ -1,7 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<component size="2532,1170" designImageAlpha="0">
<component size="2532,1170" designImageAlpha="0" bgColorEnabled="true">
<controller name="test" pages="0,,1," selected="0"/>
<controller name="agree" exported="true" pages="0,,1," selected="0"/>
<controller name="xieyi" pages="0,,1," selected="1"/>
<displayList>
<image id="n89_z7hi" name="n89" src="z7hi7cjl" fileName="bg/loggin_bg.png" pkg="27vd145b" xy="0,0">
<relation target="" sidePair="width-width,height-height,left-left,top-top"/>
@ -17,11 +18,29 @@
<relation target="" sidePair="center-center,top-top%"/>
</group>
<component id="n87_gxzn" name="Check_agree" src="gxzn7cjk" fileName="component/main/component/Checkbox_agree.xml" xy="999,992" group="n84_i2za">
<Button checked="true" controller="agree" page="1"/>
<Button controller="agree" page="1"/>
</component>
<component id="n83_i2za" name="btn_showText" src="i2za7cjh" fileName="component/main/component/btn_showText.xml" xy="1091,992" group="n84_i2za">
<Button controller="xieyi" page="1"/>
</component>
<component id="n83_i2za" name="btn_showText" src="i2za7cjh" fileName="component/main/component/btn_showText.xml" xy="1091,992" group="n84_i2za"/>
<group id="n84_i2za" name="login_down" xy="999,992" size="620,84" advanced="true">
<relation target="" sidePair="center-center,top-top%"/>
</group>
<image id="n90_g6m8" name="n90" src="g6m87ckg" fileName="component/Record/Image/CommonRes_8.png" xy="0,0" size="2532,1170" group="n92_g6m8">
<relation target="" sidePair="width-width,height-height"/>
</image>
<image id="n91_g6m8" name="n91" src="g6m87ckh" fileName="component/Record/Image/title_bg.png" xy="0,0" size="2532,169" group="n92_g6m8">
<relation target="" sidePair="width-width%,height-height%,top-top"/>
</image>
<image id="n95_g6m8" name="n95" src="g6m87ckl" fileName="component/Record/Image/用户协议.png" xy="1055,7" group="n92_g6m8"/>
<component id="n93_g6m8" name="btn_close" src="g6m87cki" fileName="component/Record/Component/btn_close.xml" xy="7,4" size="142,126" group="n92_g6m8">
<relation target="" sidePair="left-left,top-top"/>
<Button controller="xieyi" page="0"/>
</component>
<graph id="n98_g6m8" name="n98" xy="0,137" size="2532,1033" group="n92_g6m8" type="rect" lineSize="0" fillColor="#fffff3cc"/>
<component id="n97_g6m8" name="n97" src="g6m87ckm" fileName="component/Record/Component/Label1.xml" xy="0,137" size="2532,1033" group="n92_g6m8"/>
<group id="n92_g6m8" name="n92" xy="0,0" size="2532,1170" advanced="true">
<gearDisplay controller="xieyi" pages="1"/>
</group>
</displayList>
</component>

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<component size="126,126" pivot="0.5,0.5" extention="Button">
<controller name="button" pages="0,up,1,down,2,over,3,selectedOver" selected="0"/>
<displayList>
<image id="n4_66fw" name="n4" src="g6m87ckj" fileName="component/Record/Image/CommonRes_4.png" xy="0,0" size="126,126">
<relation target="" sidePair="width-width,height-height"/>
</image>
</displayList>
<Button downEffect="scale" downEffectValue="1.1"/>
</component>

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

View File

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<component size="528,84" extention="Button">
<component size="528,84" pivot="0.5,0.5" extention="Button">
<controller name="button" pages="0,up,1,down,2,over,3,selectedOver" selected="0"/>
<displayList>
<text id="n3_i2za" name="n3" xy="0,-4" size="532,86" fontSize="66" color="#fcfb4b" align="center" vAlign="middle" leading="0" bold="true" text="同意《用户协议》"/>
</displayList>
<Button/>
<Button downEffect="scale" downEffectValue="1.1"/>
</component>

View File

@ -36,6 +36,12 @@
<component id="ivty7ckd" name="btn_close.xml" path="/component/phone_login/component/"/>
<component id="ivty7cke" name="btn_login.xml" path="/component/phone_login/component/"/>
<component id="ivty7ckf" name="btn_send.xml" path="/component/phone_login/component/"/>
<image id="g6m87ckg" name="CommonRes_8.png" path="/component/Record/Image/"/>
<image id="g6m87ckh" name="title_bg.png" path="/component/Record/Image/"/>
<component id="g6m87cki" name="btn_close.xml" path="/component/Record/Component/"/>
<image id="g6m87ckj" name="CommonRes_4.png" path="/component/Record/Image/"/>
<image id="g6m87ckl" name="用户协议.png" path="/component/Record/Image/"/>
<component id="g6m87ckm" name="Label1.xml" path="/component/Record/Component/"/>
</resources>
<publish name="Login" path="..\wb_unity_pro\Assets\ART\base\login\ui" packageCount="2" maxAtlasSize="2048">
<atlas name="按钮" index="0"/>

View File

@ -74,7 +74,7 @@
<item/>
<item/>
</list>
<list id="n56_j6yy" name="List_HandCard2" xy="2171,206" size="101,711" touchable="false" selectionMode="none" lineGap="-26" defaultItem="ui://v0j9abjylj2n19b" align="center" autoClearItems="true" scrollItemToViewOnClick="false">
<list id="n56_j6yy" name="List_HandCard2" xy="2171,206" size="101,711" touchable="false" selectionMode="none" lineGap="-26" defaultItem="ui://v0j9abjylj2n19b" autoItemSize="false" align="center" autoClearItems="true" scrollItemToViewOnClick="false">
<relation target="" sidePair="width-width%,height-height%,right-right"/>
<item/>
<item/>

View File

@ -11,7 +11,7 @@
</controller>
<controller name="tip2" pages="0,,1," selected="0"/>
<displayList>
<list id="n37_gi99" name="List_HandCard" xy="687,31" size="1076,99" touchable="false" layout="row" selectionMode="none" colGap="-9" defaultItem="ui://v0j9abjygi9910q" autoClearItems="true">
<list id="n37_gi99" name="List_HandCard" xy="688,31" size="1076,99" touchable="false" layout="row" selectionMode="none" colGap="-9" defaultItem="ui://v0j9abjygi9910q" autoItemSize="false" autoClearItems="true">
<relation target="" sidePair="width-width%,height-height%,top-top"/>
<item/>
<item/>
@ -81,8 +81,8 @@
<gearDisplay controller="ting" pages="1"/>
<gearXY controller="3d" pages="0" values="-1732,-1096" default="616,100"/>
</image>
<text id="n53_ogwn" name="Text_CardInfo" xy="-1881,281" size="813,973" visible="false" fontSize="30" autoSize="none" text="{&#xA;&quot;FZ_Card&quot;:&quot;b202_&quot;,&#xA;&quot;Out_Card&quot;:&quot;b202_&quot;,&#xA;&quot;Hand_Card&quot;:&quot;b202_&quot;,&#xA;&quot;Get_Card&quot;:&quot;b202_&quot;,&#xA;&quot;Get_Card&quot;:&quot;100&quot;,&#xA;&quot;Pos_Y&quot;:-28,&#xA;&quot;Order&quot;:&quot;asc&quot;,&#xA;&quot;back_columnGap&quot;:&quot;-9&quot;,&#xA;&quot;show_columnGap&quot;:&quot;-3&quot;,&#xA;&quot;huEffet_columnGap&quot;:&quot;-666&quot;&#xA;}">
<gearText controller="cStie" pages="0,1,2" values="{&#xA;&quot;FZ_Card&quot;:&quot;b202_&quot;,&#xA;&quot;Out_Card&quot;:&quot;b202_&quot;,&#xA;&quot;Hand_Card&quot;:&quot;b202_&quot;,&#xA;&quot;Get_Card&quot;:&quot;b202_&quot;,&#xA;&quot;Get_Card&quot;:&quot;100&quot;,&#xA;&quot;Pos_Y&quot;:-28,&#xA;&quot;Order&quot;:&quot;asc&quot;,&#xA;&quot;back_columnGap&quot;:&quot;-9&quot;,&#xA;&quot;show_columnGap&quot;:&quot;-3&quot;,&#xA;&quot;huEffet_columnGap&quot;:&quot;-666&quot;&#xA;}|{&#xA;&quot;FZ_Card&quot;:&quot;b202_&quot;,&#xA;&quot;Out_Card&quot;:&quot;b202_&quot;,&#xA;&quot;Hand_Card&quot;:&quot;b202_&quot;,&#xA;&quot;Get_Card&quot;:&quot;b202_&quot;,&#xA;&quot;Get_Card&quot;:&quot;100&quot;,&#xA;&quot;Pos_Y&quot;:-28,&#xA;&quot;Order&quot;:&quot;asc&quot;,&#xA;&quot;back_columnGap&quot;:&quot;-9&quot;,&#xA;&quot;show_columnGap&quot;:&quot;-3&quot;&#xA;}|{&#xA;&quot;FZ_Card&quot;:&quot;b202_&quot;,&#xA;&quot;Out_Card&quot;:&quot;b202_&quot;,&#xA;&quot;Hand_Card&quot;:&quot;b202_&quot;,&#xA;&quot;Get_Card&quot;:&quot;b202_&quot;,&#xA;&quot;Get_Card&quot;:&quot;100&quot;,&#xA;&quot;Pos_Y&quot;:-28,&#xA;&quot;Order&quot;:&quot;asc&quot;,&#xA;&quot;back_columnGap&quot;:&quot;-9&quot;,&#xA;&quot;show_columnGap&quot;:&quot;-6 &quot;&#xA;}"/>
<text id="n53_ogwn" name="Text_CardInfo" xy="-1881,281" size="813,973" visible="false" fontSize="30" autoSize="none" text="{&#xA;&quot;FZ_Card&quot;:&quot;b202_&quot;,&#xA;&quot;Out_Card&quot;:&quot;b202_&quot;,&#xA;&quot;Hand_Card&quot;:&quot;b201_&quot;,&#xA;&quot;Get_Card&quot;:&quot;b202_&quot;,&#xA;&quot;Get_Card&quot;:&quot;100&quot;,&#xA;&quot;Pos_Y&quot;:-28,&#xA;&quot;Order&quot;:&quot;asc&quot;,&#xA;&quot;back_columnGap&quot;:&quot;-9&quot;,&#xA;&quot;show_columnGap&quot;:&quot;-3&quot;,&#xA;&quot;huEffet_columnGap&quot;:&quot;-666&quot;&#xA;}">
<gearText controller="cStie" pages="0,1,2" values="{&#xA;&quot;FZ_Card&quot;:&quot;b202_&quot;,&#xA;&quot;Out_Card&quot;:&quot;b202_&quot;,&#xA;&quot;Hand_Card&quot;:&quot;b201_&quot;,&#xA;&quot;Get_Card&quot;:&quot;b202_&quot;,&#xA;&quot;Get_Card&quot;:&quot;100&quot;,&#xA;&quot;Pos_Y&quot;:-28,&#xA;&quot;Order&quot;:&quot;asc&quot;,&#xA;&quot;back_columnGap&quot;:&quot;-9&quot;,&#xA;&quot;show_columnGap&quot;:&quot;-3&quot;,&#xA;&quot;huEffet_columnGap&quot;:&quot;-666&quot;&#xA;}|{&#xA;&quot;FZ_Card&quot;:&quot;b202_&quot;,&#xA;&quot;Out_Card&quot;:&quot;b202_&quot;,&#xA;&quot;Hand_Card&quot;:&quot;b202_&quot;,&#xA;&quot;Get_Card&quot;:&quot;b202_&quot;,&#xA;&quot;Get_Card&quot;:&quot;100&quot;,&#xA;&quot;Pos_Y&quot;:-28,&#xA;&quot;Order&quot;:&quot;asc&quot;,&#xA;&quot;back_columnGap&quot;:&quot;-9&quot;,&#xA;&quot;show_columnGap&quot;:&quot;-3&quot;&#xA;}|{&#xA;&quot;FZ_Card&quot;:&quot;b202_&quot;,&#xA;&quot;Out_Card&quot;:&quot;b202_&quot;,&#xA;&quot;Hand_Card&quot;:&quot;b202_&quot;,&#xA;&quot;Get_Card&quot;:&quot;b202_&quot;,&#xA;&quot;Get_Card&quot;:&quot;100&quot;,&#xA;&quot;Pos_Y&quot;:-28,&#xA;&quot;Order&quot;:&quot;asc&quot;,&#xA;&quot;back_columnGap&quot;:&quot;-9&quot;,&#xA;&quot;show_columnGap&quot;:&quot;-6 &quot;&#xA;}"/>
</text>
<list id="n54_jzul" name="list_HuEffect" xy="-1,32" size="2532,420" touchable="false" layout="flow_hz" selectionMode="none" lineItemCount="4" defaultItem="ui://v0j9abjyxqxr1eq" autoItemSize="true" align="center" vAlign="middle" autoClearItems="true">
<item/>

View File

@ -1,12 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<component size="2532,1170" pivot="0.5,0.5" designImage="ui://v0j9abjyj6yy1fr" designImageAlpha="35">
<controller name="state" pages="0,准备状态,1,游戏状态,2,回合间状态,3,回放状态,4,观战状态" selected="0"/>
<controller name="state" pages="0,准备状态,1,游戏状态,2,回合间状态,3,回放状态,4,观战状态" selected="1"/>
<controller name="sdk" pages="0,,1," selected="0"/>
<controller name="action" pages="2,空,0,准备,1,开始" selected="0"/>
<controller name="3d" pages="0,,1," selected="0"/>
<controller name="showNext" pages="0,不展示,1,展示" selected="0"/>
<controller name="showNextConfrim" pages="0,不展示,1,展示" selected="0"/>
<controller name="more" pages="0,,1," selected="1"/>
<controller name="more" pages="0,,1," selected="0"/>
<controller name="witness" pages="0,,1," selected="0"/>
<controller name="voice" pages="0,,1," selected="0"/>
<controller name="cHuCardEffect" pages="0,,1," selected="0">
@ -49,14 +49,14 @@
<gearXY controller="action" pages="2,0,1" values="8808,794|-16242,794|5853,170"/>
<Button icon="ui://v0j9abjygq7m48"/>
</component>
<component id="n35_k3io" name="btn_start" src="gq7m8y" fileName="Main_style_2/Btn_Yellow.xml" xy="-2728,480" group="n36_k3io" visible="false">
<component id="n35_k3io" name="btn_start" src="gq7m8y" fileName="Main_style_2/Btn_Yellow.xml" xy="-2727,480" group="n36_k3io" visible="false">
<Button icon="ui://v0j9abjygq7m49"/>
</component>
<component id="n104_mncc" name="btn_xipai--" src="gq7m8y" fileName="Main_style_2/Btn_Yellow.xml" xy="-2318,487" group="n36_k3io" scale="0.9,1">
<component id="n104_mncc" name="btn_xipai--" src="gq7m8y" fileName="Main_style_2/Btn_Yellow.xml" xy="-2317,487" group="n36_k3io" scale="0.9,1">
<gearDisplay controller="action" pages="1"/>
<Button icon="ui://v0j9abjygq7m4i"/>
</component>
<group id="n36_k3io" name="n36" xy="-2728,480" size="11803,414" visible="false" advanced="true">
<group id="n36_k3io" name="n36" xy="-2727,480" size="11802,414" visible="false" advanced="true">
<relation target="" sidePair="bottom-bottom,center-center"/>
</group>
<component id="n69_l2u4" name="gcm_chat" src="gq7m8z" fileName="Main_style_2/Gcm_chat.xml" xy="1933,-505">
@ -127,7 +127,7 @@
<relation target="" sidePair="right-right"/>
<Button icon="ui://v0j9abjyu63319u"/>
</component>
<component id="n155_gi99" name="player_card_info2" src="inqx13x" fileName="Main_new/Main_new_2/Component/NewHandCard/Player_card_info_N.xml" xy="0,0" size="2532,1170" controller="cStie,0">
<component id="n155_gi99" name="player_card_info2" src="inqx13x" fileName="Main_new/Main_new_2/Component/NewHandCard/Player_card_info_N.xml" xy="0,-1" size="2532,1170" controller="cStie,0">
<gearDisplay controller="state" pages="1,3,4"/>
</component>
<component id="n118_pkx5" name="player_card_info1" src="inqx13w" fileName="Main_new/Main_new_2/Component/NewHandCard/Player_card_info_S.xml" xy="0,-1" size="2531,1170" controller="cStie,0">
@ -147,7 +147,7 @@
<gearDisplay controller="state" pages="0,2"/>
<relation target="" sidePair="center-center,bottom-bottom"/>
</component>
<component id="n141_lu84" name="player_info1_2" src="pkx5so" fileName="Main_new/Main/PlayerHead_1.xml" xy="730,-60" size="153,132">
<component id="n141_lu84" name="player_info1_2" src="pkx5so" fileName="Main_new/Main/PlayerHead_1.xml" xy="87,787" size="153,132">
<gearDisplay controller="state" pages="1,3,4"/>
<gearXY controller="state" pages="1,3,4" values="87,787|84,778|85,786" default="730,-60"/>
<relation target="n118_pkx5" sidePair="right-left,top-top"/>
@ -156,15 +156,15 @@
<gearDisplay controller="state" pages="0,2"/>
<relation target="" sidePair="center-center,top-top"/>
</component>
<component id="n152_kxhm" name="player_info2_2" src="o8k813y" fileName="Main_new/Main_new_2/PlayerHead2_2.xml" xy="2701,486" size="153,132">
<component id="n152_kxhm" name="player_info2_2" src="o8k813y" fileName="Main_new/Main_new_2/PlayerHead2_2.xml" xy="1866,32" size="153,132">
<gearDisplay controller="state" pages="1,3,4"/>
<gearXY controller="state" pages="0,1,3,4" values="2701,486|1866,33|1867,35|1868,34" default="2007,876"/>
<gearXY controller="state" pages="0,1,3,4" values="2701,485|1866,32|1867,34|1868,33" default="2007,875"/>
<relation target="n155_gi99" sidePair="left-right,top-top"/>
</component>
<component id="n137_lu84" name="btn_setting" src="t6zvw5" fileName="Main_new/Main/Component/btn_setting.xml" xy="2193,20" size="141,117" group="n138_lu84"/>
<component id="n170_gmbn" name="btn_more" src="ghku14l" fileName="Main_new/Main/Component/btn_mul.xml" xy="2402,18" size="108,96" group="n138_lu84" rotation="180">
<component id="n170_gmbn" name="btn_more" src="ghku14l" fileName="Main_new/Main/Component/btn_mul.xml" xy="2402,18" size="108,96" group="n138_lu84">
<gearLook controller="more" pages="1" values="1,180,0,1" default="1,0,0,1"/>
<Button checked="true" icon="ui://v0j9abjyu63319w" controller="more" page="1"/>
<Button icon="ui://v0j9abjyu63319w" controller="more" page="1"/>
</component>
<component id="n171_gmbn" name="btn_change" src="gmbn13s" fileName="Main_new/Main/Component/btn_normol.xml" xy="2033,47" size="102,91" group="n138_lu84">
<gearDisplay controller="more" pages="1"/>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -837,7 +837,7 @@
<component id="inqx13w" name="Player_card_info_S.xml" path="/Main_new/Main_new_2/Component/NewHandCard/"/>
<component id="inqx13x" name="Player_card_info_N.xml" path="/Main_new/Main_new_2/Component/NewHandCard/"/>
<component id="o8k813y" name="PlayerHead2_2.xml" path="/Main_new/Main_new_2/"/>
<image id="vum113z" name="b201_0.png" path="/images/cards3/" exported="true"/>
<image id="vum113z" name="b201_0.png" path="/images/cards3/" exported="true" scale9grid="0,0,-7,-1" disableTrim="true"/>
<image id="kzuz140" name="opt_hu_no_nor.png" path="/Main_new/Main/Image/"/>
<image id="kzuz141" name="opt_hu_no_sec.png" path="/Main_new/Main/Image/"/>
<image id="kzuz142" name="opt_hu_tips.png" path="/Main_new/Main/Image/"/>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 MiB

After

Width:  |  Height:  |  Size: 4.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 MiB

After

Width:  |  Height:  |  Size: 2.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 MiB

After

Width:  |  Height:  |  Size: 3.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 MiB

After

Width:  |  Height:  |  Size: 2.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 MiB

After

Width:  |  Height:  |  Size: 4.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 908 KiB

After

Width:  |  Height:  |  Size: 904 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

View File

@ -0,0 +1,92 @@
fileFormatVersion: 2
guid: 26a0dfafc5ac57f4a9129386b468b1ec
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: base/common/af187115a4824290240734622129b80b
assetBundleVariant:

Binary file not shown.

Before

Width:  |  Height:  |  Size: 515 KiB

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 MiB

After

Width:  |  Height:  |  Size: 4.6 MiB

View File

@ -1,41 +1,41 @@
[
{
"ver": "1.0.50",
"ver": "1.0.53",
"name": "跑得快",
"check": true,
"version": "1.0.50",
"version": "1.0.53",
"game_id": "66",
"bundle": "extend/poker/runfast"
},
{
"ver": "1.0.69",
"ver": "1.0.75",
"name": "南城麻将",
"check": true,
"version": "1.0.69",
"version": "1.0.75",
"game_id": "86",
"bundle": "extend/majiang/nancheng"
},
{
"ver": "1.0.72",
"ver": "1.0.79",
"name": "黎川麻将",
"check": true,
"version": "1.0.72",
"version": "1.0.79",
"game_id": "87",
"bundle": "extend/majiang/lichuan"
},
{
"ver": "1.0.56",
"ver": "1.0.62",
"name": "金溪麻将",
"check": true,
"version": "1.0.56",
"version": "1.0.62",
"game_id": "88",
"bundle": "extend/majiang/jinxi"
},
{
"ver": "1.0.55",
"ver": "1.0.61",
"name": "抚州麻将",
"check": true,
"version": "1.0.55",
"version": "1.0.61",
"game_id": "89",
"bundle": "extend/majiang/fuzhou"
}

View File

@ -1,25 +1,25 @@
[
{
"lua_path": "/tolua_project,/base_project,/main_project",
"ver": "1.0.8",
"ver": "1.0.25",
"name": "base_script",
"check": true,
"bundle": "base/base_script",
"version": "1.0.8"
"version": "1.0.25"
},
{
"ver": "1.0.8",
"ver": "1.0.21",
"name": "common",
"check": true,
"bundle": "base/common",
"version": "1.0.8"
"version": "1.0.21"
},
{
"ver": "1.0.8",
"ver": "1.0.21",
"name": "login",
"check": true,
"bundle": "base/login",
"version": "1.0.8"
"version": "1.0.21"
},
{
"ver": "1.0.8",
@ -29,11 +29,11 @@
"version": "1.0.8"
},
{
"ver": "1.0.8",
"ver": "1.0.21",
"name": "Family",
"check": true,
"bundle": "base/Family",
"version": "1.0.8"
"version": "1.0.21"
},
{
"ver": "1.0.8",
@ -43,11 +43,11 @@
"version": "1.0.8"
},
{
"ver": "1.0.8",
"ver": "1.0.21",
"name": "newgroup",
"check": true,
"bundle": "base/newgroup",
"version": "1.0.8"
"version": "1.0.21"
},
{
"ver": "1.0.8",
@ -57,17 +57,17 @@
"bundle": "base/rank"
},
{
"ver": "1.0.8",
"ver": "1.0.25",
"name": "main_majiang",
"check": true,
"version": "1.0.8",
"version": "1.0.25",
"bundle": "base/main_majiang"
},
{
"ver": "1.0.8",
"ver": "1.0.23",
"name": "main_poker",
"check": true,
"version": "1.0.8",
"version": "1.0.23",
"bundle": "base/main_poker"
},
{
@ -85,12 +85,12 @@
"version": "1.0.8"
},
{
"ver": "1.0.8",
"ver": "1.0.21",
"is_res": true,
"name": "embed",
"check": true,
"bundle": "base/embed",
"version": "1.0.8"
"version": "1.0.21"
},
{
"ver": "1.0.8",

View File

@ -0,0 +1,109 @@
[
{
"lua_path": "/tolua_project,/base_project,/main_project",
"ver": "1.0.21",
"name": "base_script",
"check": true,
"bundle": "base/base_script",
"version": "1.0.21"
},
{
"ver": "1.0.21",
"name": "common",
"check": true,
"bundle": "base/common",
"version": "1.0.21"
},
{
"ver": "1.0.21",
"name": "login",
"check": true,
"bundle": "base/login",
"version": "1.0.21"
},
{
"ver": "1.0.8",
"name": "lobby",
"check": true,
"bundle": "base/lobby",
"version": "1.0.8"
},
{
"ver": "1.0.21",
"name": "Family",
"check": true,
"bundle": "base/Family",
"version": "1.0.21"
},
{
"ver": "1.0.8",
"name": "chat",
"check": true,
"bundle": "base/chat",
"version": "1.0.8"
},
{
"ver": "1.0.21",
"name": "newgroup",
"check": true,
"bundle": "base/newgroup",
"version": "1.0.21"
},
{
"ver": "1.0.8",
"name": "rank",
"check": true,
"version": "1.0.8",
"bundle": "base/rank"
},
{
"ver": "1.0.21",
"name": "main_majiang",
"check": true,
"version": "1.0.21",
"bundle": "base/main_majiang"
},
{
"ver": "1.0.21",
"name": "main_poker",
"check": true,
"version": "1.0.21",
"bundle": "base/main_poker"
},
{
"ver": "1.0.8",
"name": "main_zipai",
"check": true,
"version": "1.0.8",
"bundle": "base/main_zipai"
},
{
"ver": "1.0.8",
"name": "static",
"check": true,
"bundle": "base/static",
"version": "1.0.8"
},
{
"ver": "1.0.8",
"is_res": true,
"name": "embed",
"check": true,
"bundle": "base/embed",
"version": "1.0.8"
},
{
"ver": "1.0.8",
"name": "main_pokemajiang",
"check": true,
"version": "1.0.8",
"bundle": "base/main_pokemajiang"
},
{
"ver": "1.0.8",
"name": "main_zipaimajiang",
"check": true,
"version": "1.0.8",
"bundle": "base/main_zipaimajiang"
}
]

View File

@ -0,0 +1,109 @@
[
{
"lua_path": "/tolua_project,/base_project,/main_project",
"ver": "1.0.22",
"name": "base_script",
"check": true,
"bundle": "base/base_script",
"version": "1.0.22"
},
{
"ver": "1.0.21",
"name": "common",
"check": true,
"bundle": "base/common",
"version": "1.0.21"
},
{
"ver": "1.0.21",
"name": "login",
"check": true,
"bundle": "base/login",
"version": "1.0.21"
},
{
"ver": "1.0.8",
"name": "lobby",
"check": true,
"bundle": "base/lobby",
"version": "1.0.8"
},
{
"ver": "1.0.21",
"name": "Family",
"check": true,
"bundle": "base/Family",
"version": "1.0.21"
},
{
"ver": "1.0.8",
"name": "chat",
"check": true,
"bundle": "base/chat",
"version": "1.0.8"
},
{
"ver": "1.0.21",
"name": "newgroup",
"check": true,
"bundle": "base/newgroup",
"version": "1.0.21"
},
{
"ver": "1.0.8",
"name": "rank",
"check": true,
"version": "1.0.8",
"bundle": "base/rank"
},
{
"ver": "1.0.22",
"name": "main_majiang",
"check": true,
"version": "1.0.22",
"bundle": "base/main_majiang"
},
{
"ver": "1.0.21",
"name": "main_poker",
"check": true,
"version": "1.0.21",
"bundle": "base/main_poker"
},
{
"ver": "1.0.8",
"name": "main_zipai",
"check": true,
"version": "1.0.8",
"bundle": "base/main_zipai"
},
{
"ver": "1.0.8",
"name": "static",
"check": true,
"bundle": "base/static",
"version": "1.0.8"
},
{
"ver": "1.0.21",
"is_res": true,
"name": "embed",
"check": true,
"bundle": "base/embed",
"version": "1.0.21"
},
{
"ver": "1.0.8",
"name": "main_pokemajiang",
"check": true,
"version": "1.0.8",
"bundle": "base/main_pokemajiang"
},
{
"ver": "1.0.8",
"name": "main_zipaimajiang",
"check": true,
"version": "1.0.8",
"bundle": "base/main_zipaimajiang"
}
]

View File

@ -0,0 +1,109 @@
[
{
"lua_path": "/tolua_project,/base_project,/main_project",
"ver": "1.0.23",
"name": "base_script",
"check": true,
"bundle": "base/base_script",
"version": "1.0.23"
},
{
"ver": "1.0.21",
"name": "common",
"check": true,
"bundle": "base/common",
"version": "1.0.21"
},
{
"ver": "1.0.21",
"name": "login",
"check": true,
"bundle": "base/login",
"version": "1.0.21"
},
{
"ver": "1.0.8",
"name": "lobby",
"check": true,
"bundle": "base/lobby",
"version": "1.0.8"
},
{
"ver": "1.0.21",
"name": "Family",
"check": true,
"bundle": "base/Family",
"version": "1.0.21"
},
{
"ver": "1.0.8",
"name": "chat",
"check": true,
"bundle": "base/chat",
"version": "1.0.8"
},
{
"ver": "1.0.21",
"name": "newgroup",
"check": true,
"bundle": "base/newgroup",
"version": "1.0.21"
},
{
"ver": "1.0.8",
"name": "rank",
"check": true,
"version": "1.0.8",
"bundle": "base/rank"
},
{
"ver": "1.0.23",
"name": "main_majiang",
"check": true,
"version": "1.0.23",
"bundle": "base/main_majiang"
},
{
"ver": "1.0.23",
"name": "main_poker",
"check": true,
"version": "1.0.23",
"bundle": "base/main_poker"
},
{
"ver": "1.0.8",
"name": "main_zipai",
"check": true,
"version": "1.0.8",
"bundle": "base/main_zipai"
},
{
"ver": "1.0.8",
"name": "static",
"check": true,
"bundle": "base/static",
"version": "1.0.8"
},
{
"ver": "1.0.21",
"is_res": true,
"name": "embed",
"check": true,
"bundle": "base/embed",
"version": "1.0.21"
},
{
"ver": "1.0.8",
"name": "main_pokemajiang",
"check": true,
"version": "1.0.8",
"bundle": "base/main_pokemajiang"
},
{
"ver": "1.0.8",
"name": "main_zipaimajiang",
"check": true,
"version": "1.0.8",
"bundle": "base/main_zipaimajiang"
}
]

View File

@ -0,0 +1,109 @@
[
{
"lua_path": "/tolua_project,/base_project,/main_project",
"ver": "1.0.24",
"name": "base_script",
"check": true,
"bundle": "base/base_script",
"version": "1.0.24"
},
{
"ver": "1.0.21",
"name": "common",
"check": true,
"bundle": "base/common",
"version": "1.0.21"
},
{
"ver": "1.0.21",
"name": "login",
"check": true,
"bundle": "base/login",
"version": "1.0.21"
},
{
"ver": "1.0.8",
"name": "lobby",
"check": true,
"bundle": "base/lobby",
"version": "1.0.8"
},
{
"ver": "1.0.21",
"name": "Family",
"check": true,
"bundle": "base/Family",
"version": "1.0.21"
},
{
"ver": "1.0.8",
"name": "chat",
"check": true,
"bundle": "base/chat",
"version": "1.0.8"
},
{
"ver": "1.0.21",
"name": "newgroup",
"check": true,
"bundle": "base/newgroup",
"version": "1.0.21"
},
{
"ver": "1.0.8",
"name": "rank",
"check": true,
"version": "1.0.8",
"bundle": "base/rank"
},
{
"ver": "1.0.24",
"name": "main_majiang",
"check": true,
"version": "1.0.24",
"bundle": "base/main_majiang"
},
{
"ver": "1.0.23",
"name": "main_poker",
"check": true,
"version": "1.0.23",
"bundle": "base/main_poker"
},
{
"ver": "1.0.8",
"name": "main_zipai",
"check": true,
"version": "1.0.8",
"bundle": "base/main_zipai"
},
{
"ver": "1.0.8",
"name": "static",
"check": true,
"bundle": "base/static",
"version": "1.0.8"
},
{
"ver": "1.0.21",
"is_res": true,
"name": "embed",
"check": true,
"bundle": "base/embed",
"version": "1.0.21"
},
{
"ver": "1.0.8",
"name": "main_pokemajiang",
"check": true,
"version": "1.0.8",
"bundle": "base/main_pokemajiang"
},
{
"ver": "1.0.8",
"name": "main_zipaimajiang",
"check": true,
"version": "1.0.8",
"bundle": "base/main_zipaimajiang"
}
]

View File

@ -0,0 +1,109 @@
[
{
"lua_path": "/tolua_project,/base_project,/main_project",
"ver": "1.0.25",
"name": "base_script",
"check": true,
"bundle": "base/base_script",
"version": "1.0.25"
},
{
"ver": "1.0.21",
"name": "common",
"check": true,
"bundle": "base/common",
"version": "1.0.21"
},
{
"ver": "1.0.21",
"name": "login",
"check": true,
"bundle": "base/login",
"version": "1.0.21"
},
{
"ver": "1.0.8",
"name": "lobby",
"check": true,
"bundle": "base/lobby",
"version": "1.0.8"
},
{
"ver": "1.0.21",
"name": "Family",
"check": true,
"bundle": "base/Family",
"version": "1.0.21"
},
{
"ver": "1.0.8",
"name": "chat",
"check": true,
"bundle": "base/chat",
"version": "1.0.8"
},
{
"ver": "1.0.21",
"name": "newgroup",
"check": true,
"bundle": "base/newgroup",
"version": "1.0.21"
},
{
"ver": "1.0.8",
"name": "rank",
"check": true,
"version": "1.0.8",
"bundle": "base/rank"
},
{
"ver": "1.0.25",
"name": "main_majiang",
"check": true,
"version": "1.0.25",
"bundle": "base/main_majiang"
},
{
"ver": "1.0.23",
"name": "main_poker",
"check": true,
"version": "1.0.23",
"bundle": "base/main_poker"
},
{
"ver": "1.0.8",
"name": "main_zipai",
"check": true,
"version": "1.0.8",
"bundle": "base/main_zipai"
},
{
"ver": "1.0.8",
"name": "static",
"check": true,
"bundle": "base/static",
"version": "1.0.8"
},
{
"ver": "1.0.21",
"is_res": true,
"name": "embed",
"check": true,
"bundle": "base/embed",
"version": "1.0.21"
},
{
"ver": "1.0.8",
"name": "main_pokemajiang",
"check": true,
"version": "1.0.8",
"bundle": "base/main_pokemajiang"
},
{
"ver": "1.0.8",
"name": "main_zipaimajiang",
"check": true,
"version": "1.0.8",
"bundle": "base/main_zipaimajiang"
}
]

View File

@ -39,7 +39,6 @@ GraphicsSettings:
- {fileID: 16000, guid: 0000000000000000f000000000000000, type: 0}
- {fileID: 16001, guid: 0000000000000000f000000000000000, type: 0}
- {fileID: 17000, guid: 0000000000000000f000000000000000, type: 0}
- {fileID: 16003, guid: 0000000000000000f000000000000000, type: 0}
m_PreloadedShaders: []
m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000,
type: 0}