回放细节调整,大厅查看回放修复

master
罗家炜 2025-10-09 20:27:29 +08:00
parent 8bb55d9723
commit 3232602634
103 changed files with 1510 additions and 635 deletions

View File

@ -1,4 +1,9 @@
local FamilAllRank = {} local FamilAllRank = {
allCount = 0,
pageCount = 0,
currenPage = 0,
onePageChildCount = 0
}
local M = FamilAllRank local M = FamilAllRank
@ -41,8 +46,10 @@ function M:init()
self._viewList_record:SetVirtual() self._viewList_record:SetVirtual()
self._viewList_record.scrollPane.touchEffect = false -- 禁止拖动滚动 self._viewList_record.scrollPane.touchEffect = false -- 禁止拖动滚动
self._viewList_record.scrollPane.bouncebackEffect = false -- 关闭回弹效果 self._viewList_record.scrollPane.bouncebackEffect = false -- 关闭回弹效果
-- self._viewList_record.scrollPane.snapToItem = true
self._viewList_record.itemRenderer = function(index, obj) self._viewList_record.itemRenderer = function(index, obj)
self:RecordItemRenderer(self.records[index + 1], obj) local baseIndex = (self.currenPage - 1) * self.onePageChildCount
self:RecordItemRenderer(self.records[baseIndex + index + 1], obj)
end end
self._viewList_recordDetail = self._view:GetChild('list_record_detail') self._viewList_recordDetail = self._view:GetChild('list_record_detail')
@ -62,11 +69,100 @@ function M:init()
--分页 --分页
self._btn_nextPage = self._view:GetChild('btn_nextPage') self._btn_nextPage = self._view:GetChild('btn_nextPage')
self._btn_lastPage = self._view:GetChild('btn_lastPage') self._btn_lastPage = self._view:GetChild('btn_lastPage')
self._text_pageNum = self._view:GetChild('_text_pageNum') self._text_pageNum = self._view:GetChild('text_pageNum')
self._btn_nextPage.onClick:Set(function()
if self.currenPage < self.pageCount then
self.currenPage = self.currenPage + 1
self:SetPageNum()
end
end)
self._btn_lastPage.onClick:Set(function()
if self.currenPage > 1 then
self.currenPage = self.currenPage - 1
self:SetPageNum()
end
end)
self:ShowNumberRecord() self:ShowNumberRecord()
end end
--------分页功能函数------------
function M:SetDontTouch(btn)
btn:GetController('donTouch').selectedIndex = 1
btn.touchable = false
end
function M:SetTouch(btn)
btn:GetController('donTouch').selectedIndex = 0
btn.touchable = true
end
function M:SetPageNum()
if self.currenPage < self.pageCount then
self._viewList_record.numItems = self.onePageChildCount
self._viewList_record:RefreshVirtualList()
self:SetTouch(self._btn_nextPage)
else
local num = self.allCount % self.onePageChildCount
self._viewList_record.numItems = num == 0 and self.onePageChildCount or num
self._viewList_record:RefreshVirtualList()
self:SetDontTouch(self._btn_nextPage)
end
if self.currenPage > 1 then
self:SetTouch(self._btn_lastPage)
else
self:SetDontTouch(self._btn_lastPage)
end
self._text_pageNum.text = string.format("%d/%d", self.currenPage, self.pageCount)
end
function M:InitPageNum(allCount)
self.allCount = allCount
self.onePageChildCount = self._viewList_record.columnCount * self._viewList_record.lineCount
self.pageCount = math.ceil(allCount / self.onePageChildCount)
self.currenPage = 1
self:SetDontTouch(self._btn_lastPage)
if self.currenPage < self.pageCount then
self:SetTouch(self._btn_nextPage)
else
self:SetDontTouch(self._btn_nextPage)
end
end
function M:ShowNumberRecord()
local fgCtr = ControllerManager.GetController(NewGroupController)
self.records = {}
local uid = DataManager.SelfUser.account_id
self:RecursionRecord(fgCtr, 0, uid, self.selectTimes, self.selectTimes + 86399)
end
function M:RecursionRecord(fgCtr, index, uid, leftTime, rightTime)
fgCtr:FG_GetGroupRecordSpe2(self.group_id, GetPlatform(), uid, 0, index * 60, 60, leftTime, rightTime, 0,
function(res)
if res.ReturnCode ~= 0 then
ViewUtil.ErrorTip(res.ReturnCode, "查看个人战绩失败")
self.visible = false
return
else
local records = res.Data.records
if records and #records > 0 then
for i = 1, #records do
records[i].totalScore = json.decode(records[i].totalScore)
table.insert(self.records, records[i])
end
self:RecursionRecord(fgCtr, index + 1, uid, leftTime, rightTime)
else
self:InitPageNum(#self.records)
self:SetPageNum()
-- self._viewList_record:EnsureBoundsCorrect()
end
end
end)
end
-------------------------------
function M:InitTime() function M:InitTime()
local timeTable = os.date("*t", os.time()) local timeTable = os.date("*t", os.time())
timeTable.hour = 0 timeTable.hour = 0
@ -88,14 +184,6 @@ function M:InitTime()
return serverDayValues, serverDayItems return serverDayValues, serverDayItems
end end
function M:ShowNumberRecord()
local fgCtr = ControllerManager.GetController(NewGroupController)
self.records = {}
local uid = DataManager.SelfUser.account_id
self:RecursionRecord(fgCtr, 0, uid, self.selectTimes, self.selectTimes + 86399)
end
function M:RecordItemDetailRender(round, allDate, rdata, obj) function M:RecordItemDetailRender(round, allDate, rdata, obj)
obj:GetChild('text_round').text = round obj:GetChild('text_round').text = round
obj:GetChild('text_time').text = os.date("%Y-%m-%d\n%H:%M:%S", tonumber(allDate.createTime)) obj:GetChild('text_time').text = os.date("%Y-%m-%d\n%H:%M:%S", tonumber(allDate.createTime))
@ -213,32 +301,6 @@ function M:RecordItemRenderer(data, obj)
resultDetailList.numItems = #data.totalScore resultDetailList.numItems = #data.totalScore
end end
function M:RecursionRecord(fgCtr, index, uid, leftTime, rightTime)
fgCtr:FG_GetGroupRecordSpe2(self.group_id, GetPlatform(), uid, 0, index * 60, 60, leftTime, rightTime, 0,
function(res)
if res.ReturnCode ~= 0 then
ViewUtil.ErrorTip(res.ReturnCode, "查看个人战绩失败")
self.visible = false
return
else
local records = res.Data.records
if records and #records > 0 then
for i = 1, #records do
records[i].totalScore = json.decode(records[i].totalScore)
table.insert(self.records, records[i])
end
self:RecursionRecord(fgCtr, index + 1, uid, leftTime, rightTime)
else
self._viewList_record.numItems = #self.records
local currentPage = self._viewList_record.scrollPane.currentPageY
local pageCount = self._viewList_record.scrollPane.pageCountY
self._text_pageNum.text = ""
self._text_pageNum.text = string.format("%d/%d", currentPage, pageCount)
end
end
end)
end
function M:GenaratePlayBack(id, game_id, ...) function M:GenaratePlayBack(id, game_id, ...)
local tem = nil local tem = nil
local dview_class = nil local dview_class = nil

View File

@ -60,6 +60,7 @@ function M:InitView(url)
btn_restart.onClick:Add(handler(self, self.RestartRecordPlay)) btn_restart.onClick:Add(handler(self, self.RestartRecordPlay))
btn_play.onClick:Add(handler(self, self.Play)) btn_play.onClick:Add(handler(self, self.Play))
self._viewGroup_huifang = self._view:GetChild('huifang')
self.com_logocType = self._view:GetChild("com_logo"):GetController("cType") self.com_logocType = self._view:GetChild("com_logo"):GetController("cType")
local _view = self._view local _view = self._view
local _room = self._room local _room = self._room
@ -154,6 +155,13 @@ function M:InitView(url)
) )
end end
local bg_image = self._view:GetChild('bg_playback')
if bg_image then
bg_image.onClick:Set(function()
self:ChangeAlpha()
end)
end
--没有update先不显示跑马灯 --没有update先不显示跑马灯
self.com_notice.visible = false self.com_notice.visible = false
-- local text_notice = self.com_notice:GetChild("text_notice") -- local text_notice = self.com_notice:GetChild("text_notice")
@ -334,14 +342,14 @@ end
function M:CmdBackToLobby() function M:CmdBackToLobby()
self:ChangeAlpha() self:ChangeAlpha()
local tipStr = '是否返回大厅' local tipStr = '是否返回大厅'
local _curren_msg = MsgWindow.new(self._root_view, tipStr, MsgWindow.MsgMode.OkAndCancel) -- local _curren_msg = MsgWindow.new(self._root_view, tipStr, MsgWindow.MsgMode.OkAndCancel)
_curren_msg.onOk:Add( -- _curren_msg.onOk:Add(
function() -- function()
ExtendManager.GetExtendConfig(self._room.game_id):UnAssets() ExtendManager.GetExtendConfig(self._room.game_id):UnAssets()
self:Destroy() self:Destroy()
end -- end
) -- )
_curren_msg:Show() -- _curren_msg:Show()
end end
function M:GetPos(seat, myseat) function M:GetPos(seat, myseat)
@ -388,9 +396,11 @@ function M:ChangeAlpha(...)
self._record_alpha = self._record_alpha =
coroutine.start( coroutine.start(
function() function()
self._record.alpha = 1 self._viewGroup_huifang.visible = true
-- self._record.alpha = 1
coroutine.wait(2) coroutine.wait(2)
self._record.alpha = 0.5 -- self._record.alpha = 0
self._viewGroup_huifang.visible = false
end end
) )
end end

View File

@ -108,6 +108,8 @@ function M:init(url, isBigFull)
else else
BaseWindow.init(self, url) BaseWindow.init(self, url)
end end
--强制让牌类型为1只有一种牌
DataManager.CurrenRoom.card_type = 1
self:InitView() self:InitView()
@ -138,6 +140,13 @@ function M:init(url, isBigFull)
) )
end end
local bg_image = self._view:GetChild('bg_playback')
if bg_image then
bg_image.onClick:Set(function()
end)
end
local big_result = self._view:GetChild('big_result') local big_result = self._view:GetChild('big_result')
if big_result ~= nil then if big_result ~= nil then
if isBigFull then if isBigFull then

View File

@ -72,7 +72,46 @@ function M:rollBack()
end end
function M:tryShunzi(card) function M:tryShunzi(card)
if (card < 400 and card % 100 > 7) then if card > 400 or card % 100 > 7 then
return false
end
if (checkCard(card + 1, self.cardList) and checkCard(card + 2, self.cardList)) then
removeCard(self.cardList, card, 1)
removeCard(self.cardList, card + 1, 1)
removeCard(self.cardList, card + 2, 1)
local cardGroup = { card, card + 1, card + 2 }
self:push(cardGroup)
return true
end
return false
end
--特殊牌,风牌也就是东南西北的成顺逻辑,中发白逻辑在普通顺子里
function M:tryFengShunzi(card)
--只有牌里有东南风的时候才能成顺401东风402南方
if self._flag_zikechengshun ~= 0 then
return false
end
local canShunziFeng = { 401, 402 }
for i = 1, #canShunziFeng do
if card == canShunziFeng[i] then
local tempFengList = {}
for j = 1, 4 - i do
if checkCard(405 - j, self.cardList) then
table.insert(tempFengList, 405 - j)
end
end
if #tempFengList >= 2 then
removeCard(self.cardList, card, 1)
removeCard(self.cardList, tempFengList[1], 1)
removeCard(self.cardList, tempFengList[2], 1)
local cardGroup = { card, tempFengList[1], tempFengList[2] }
self:push(cardGroup)
return true
end
end
end
if card < 500 then
return false return false
end end
if (checkCard(card + 1, self.cardList) and checkCard(card + 2, self.cardList)) then if (checkCard(card + 1, self.cardList) and checkCard(card + 2, self.cardList)) then
@ -224,6 +263,13 @@ function M:tryWin()
self:rollBack() self:rollBack()
end end
if (self:tryFengShunzi(activeCard)) then
if (self:tryWin()) then
return true
end
self:rollBack()
end
if (self:tryKezi1Zhong(activeCard)) then if (self:tryKezi1Zhong(activeCard)) then
if (self:tryWin()) then if (self:tryWin()) then
return true return true
@ -295,24 +341,54 @@ function M:isQdPari(cardList)
return false return false
end end
local function init(self, cardInhand, addCard, isZhong, qidui, eightLaizi) function M:checkshisanlan()
if (not self.shisanlan) then
return false
end
if ((#self.cardList + self.zhong_count) ~= 14) then
return false
end
local cardList = membe_clone(self.cardList)
self.hongzhong_count = self.zhong_count
return self:isShiSanLan(cardList, table.remove(cardList, 1))
end
function M:isShiSanLan(cardList, card)
if (#cardList == 0) then
return true
end
if card < 400 then
if not (checkCard(card, cardList) or checkCard(card + 1, cardList) or checkCard(card + 2, cardList)) then
return self:isShiSanLan(cardList, table.remove(cardList, 1))
end
else
if not checkCard(card, cardList) then
return self:isShiSanLan(cardList, table.remove(cardList, 1))
end
end
return false
end
--._flag_haveLaizi, data._hu_qidui, data._data_laizi
local function init(self, cardInhand, addCard, data)
self.stack = {} self.stack = {}
self.pair_count = 0 self.pair_count = 0
self.cardList = membe_clone(cardInhand) self.cardList = membe_clone(cardInhand)
self.qidui = qidui self.qidui = data._hu_qidui
self.eight_laizi = eightLaizi self.shisanlan = data._hu_shisanlan
self.eight_laizi = nil
self.cardList[#self.cardList + 1] = addCard self.cardList[#self.cardList + 1] = addCard
if (isZhong) then if (data._flag_haveLaizi) then
self.zhong_count = cardNum(zhongid, self.cardList) self.zhong_count = cardNum(zhongid, self.cardList)
removeCard(self.cardList, zhongid, self.zhong_count) removeCard(self.cardList, zhongid, self.zhong_count)
end end
table.sort(self.cardList) table.sort(self.cardList)
--printlog("添加排序====>>>") --printlog("添加排序====>>>")
--pt(self.cardList) --pt(self.cardList)
return self:checkQidui() or self:tryWin() return self:checkQidui() or self:checkshisanlan() or self:tryWin()
end end
local specialCardList = { 401, 402, 403, 404, 405, 406, 407 } local specialCardList = { 401, 402, 403, 404, 501, 502, 503 }
function M.tingPai(cardInhand, data) function M.tingPai(cardInhand, data)
data = data or {} data = data or {}
local self = setmetatable({}, { __index = M }) local self = setmetatable({}, { __index = M })
@ -323,7 +399,7 @@ function M.tingPai(cardInhand, data)
for k = 100, 300, 100 do for k = 100, 300, 100 do
for i = 1, 9 do for i = 1, 9 do
local tem = k + i local tem = k + i
local result = init(self, cardInhand, tem, data._flag_haveLaizi, data._hu_qidui, data._data_laizi) local result = init(self, cardInhand, tem, data)
--printlog("返回结果为===>>>",result) --printlog("返回结果为===>>>",result)
if (result) then if (result) then
tingList[#tingList + 1] = tem tingList[#tingList + 1] = tem
@ -333,7 +409,7 @@ function M.tingPai(cardInhand, data)
for j = 1, #specialCardList do for j = 1, #specialCardList do
local tem = specialCardList[j] local tem = specialCardList[j]
local result = init(self, cardInhand, tem, data._flag_haveLaizi, data._hu_qidui, data._data_laizi) local result = init(self, cardInhand, tem, data)
if (result) then if (result) then
tingList[#tingList + 1] = tem tingList[#tingList + 1] = tem
end end
@ -343,14 +419,16 @@ function M.tingPai(cardInhand, data)
end end
function M.MuiltiplteCaculateTingPai(cardInhand, isZhong, qidui, eightLaizi) function M.MuiltiplteCaculateTingPai(cardInhand, isZhong, qidui, eightLaizi)
if DataManager.CurrenRoom.laiziInfo and #DataManager.CurrenRoom.laiziInfo > 0 then local room = DataManager.CurrenRoom
zhongid = DataManager.CurrenRoom.laiziInfo[1]
if room.laiziInfo and #room.laiziInfo > 0 then
zhongid = room.laiziInfo[1]
local tempTingList2 = {} local tempTingList2 = {}
local tempTingList1 = M.tingPai(cardInhand, isZhong, qidui, eightLaizi) local tempTingList1 = M.tingPai(cardInhand, isZhong, qidui, eightLaizi)
if DataManager.CurrenRoom.laiziInfo[2] then if room.laiziInfo[2] then
zhongid = DataManager.CurrenRoom.laiziInfo[2] zhongid = room.laiziInfo[2]
tempTingList2 = M.tingPai(cardInhand, isZhong, qidui, eightLaizi) tempTingList2 = M.tingPai(cardInhand, isZhong, qidui, eightLaizi)
zhongid = DataManager.CurrenRoom.laiziInfo[1] zhongid = room.laiziInfo[1]
end end
local currentTingList = {} local currentTingList = {}
if #tempTingList1 > 0 and #tempTingList2 > 0 then if #tempTingList1 > 0 and #tempTingList2 > 0 then
@ -363,6 +441,7 @@ function M.MuiltiplteCaculateTingPai(cardInhand, isZhong, qidui, eightLaizi)
return currentTingList return currentTingList
else else
M._flag_zikechengshun = room.room_config.config.zikechengshun or 0
zhongid = 0 zhongid = 0
return M.tingPai(cardInhand, isZhong, qidui, eightLaizi) return M.tingPai(cardInhand, isZhong, qidui, eightLaizi)
end end

View File

@ -251,7 +251,19 @@ function M:fillResult0(room, peopleNum, result)
end end
end end
handCardList.numItems = handInfoNum handCardList.numItems = handInfoNum
allCardsList.width = 234 * fzInfoNum + 82 + (handInfoNum - 1) * 79 + 10 * (fzInfoNum) --拿取实际的子项大小
local handCard = 78
local hangColumGrap = -4
local fzCard = 234
local fzColumGrap = 36
handCard = handCardList:GetChildAt(handInfoNum - 1).width
hangColumGrap = handCard + handCardList.columnGap
if fzInfoNum > 0 then
fzCard = allCardsList:GetChildAt(0).width
fzColumGrap = allCardsList.columnGap
end
allCardsList.width = fzCard * fzInfoNum + handCard + (handInfoNum - 1) * hangColumGrap +
fzColumGrap * (fzInfoNum)
if infoList.seat == room.self_player.seat then if infoList.seat == room.self_player.seat then
isMeCtr.selectedIndex = 1 isMeCtr.selectedIndex = 1

View File

@ -256,6 +256,9 @@ function M:EventInit()
local card_info = self._player_card_info[self:GetPos(p.seat)] local card_info = self._player_card_info[self:GetPos(p.seat)]
card_info:Clear() card_info:Clear()
card_info:UpdateHandCard() card_info:UpdateHandCard()
if _room.curren_round == 1 then
self._touxiangMove:Play()
end
end end
end) end)
_gamectr:AddEventListener(TX_GameEvent.EventTurn, function(...) _gamectr:AddEventListener(TX_GameEvent.EventTurn, function(...)
@ -307,6 +310,12 @@ function M:EventInit()
-- self:UpdateRoomInfo() -- self:UpdateRoomInfo()
local info = self._player_card_info[self:GetPos(seat)] local info = self._player_card_info[self:GetPos(seat)]
info:UpdateHandCard(true) info:UpdateHandCard(true)
if self:GetPos(seat) == 1 then
info:ShowHuTip()
self._btn_selectTing.visible = false
info._ctr_tip.selectedIndex = 0
info._ctr_showGuoHu.selectedIndex = 0
end
end) end)
_gamectr:AddEventListener(TX_GameEvent.FZTips, function(...) _gamectr:AddEventListener(TX_GameEvent.FZTips, function(...)
@ -608,12 +617,18 @@ function M:OutCard(card)
local info = self._player_card_info[1] local info = self._player_card_info[1]
self:RemoveCursor() self:RemoveCursor()
info:UpdateHandCard() info:UpdateHandCard()
info._ctr_tip.selectedIndex = 0
info._ctr_showGuoHu.selectedIndex = 0
info:UpdateOutCardList(nil, card, self._cursor) info:UpdateOutCardList(nil, card, self._cursor)
info:ShowHuTip()
if #info:GetTingList(DataManager.CurrenRoom.self_player.card_list) > 0 then
self._btn_selectTing.visible = true
else
self._btn_selectTing.visible = false
end
self:markOutCards(false, card) self:markOutCards(false, card)
self:PlaySound("FuZhou_MJ", self._room.self_player.self_user.sex, tostring(card)) self:PlaySound("FuZhou_MJ", self._room.self_player.self_user.sex, tostring(card))
self:PlayMJSound("chupai.mp3") self:PlayMJSound("chupai.mp3")
self:ShowHuTip()
end) end)
else else
printlog("鬼牌不能出===>>>" .. card) printlog("鬼牌不能出===>>>" .. card)
@ -895,7 +910,7 @@ function M:ReloadRoom(bskip)
self._room._reload_flag = true self._room._reload_flag = true
end end
end end
self:reqResidueCard()
self:ShowJing() self:ShowJing()
for i = 1, #room.player_list do for i = 1, #room.player_list do
local p = room.player_list[i] local p = room.player_list[i]
@ -919,6 +934,11 @@ function M:ReloadRoom(bskip)
if p.seat == room.last_outcard_seat then if p.seat == room.last_outcard_seat then
local card = p.outcard_list[#p.outcard_list] local card = p.outcard_list[#p.outcard_list]
info:UpdateOutCardList(nil, card, self._cursor) info:UpdateOutCardList(nil, card, self._cursor)
if self:GetPos(p.seat) == 1 and #info:GetTingList(DataManager.CurrenRoom.self_player.card_list) > 0 then
self._btn_selectTing.visible = true
else
self._btn_selectTing.visible = false
end
elseif p.seat == room.curren_outcard_seat then elseif p.seat == room.curren_outcard_seat then
info:UpdateHandCard(true) info:UpdateHandCard(true)
info:UpdateOutCardList() info:UpdateOutCardList()

View File

@ -67,6 +67,7 @@ function M:FillRoomData(data)
self:GenerateAllStepData(data) self:GenerateAllStepData(data)
self:UpdateStep(1) self:UpdateStep(1)
self:Play()
-- self:ShowStep(0) -- self:ShowStep(0)
end end

View File

@ -12,6 +12,7 @@ function M.new(view, mainView, record, direction)
self._view = view self._view = view
self._mainView = mainView self._mainView = mainView
self.direction = direction self.direction = direction
self._flag_canTing = true
self:init() self:init()
return self return self
end end
@ -20,12 +21,15 @@ function M:init()
getmetatable(M).__index.init(self) getmetatable(M).__index.init(self)
end end
function M:ShowHuTip(card_list) function M:ShowHuTip(card_list, have_bg)
self._mainView._hu_tip:FillData(self:GetTingList(card_list)) self._mainView._hu_tip:FillData(self:GetTingList(card_list), have_bg)
end end
function M:GetTingList(card_list) function M:GetTingList(card_list)
return CardCheck.MuiltiplteCaculateTingPai(card_list, { _hu_qidui = true }) if not self._flag_canTing then
return {}
end
return CardCheck.MuiltiplteCaculateTingPai(card_list, { _hu_qidui = true, _hu_shisanlan = true })
end end
function M:UpdateHandCard(getcard, mp) function M:UpdateHandCard(getcard, mp)

View File

@ -1,11 +1,11 @@
-- 检测牌是否存在 -- 检测牌是否存在
local function checkCard(eventCard,cardList,num) local function checkCard(eventCard, cardList, num)
num = num == nil and 1 or num num = num == nil and 1 or num
local result = 0 local result = 0
for i = 1,#cardList do for i = 1, #cardList do
if (cardList[i] == eventCard) then if (cardList[i] == eventCard) then
result = result + 1 result = result + 1
if(result ==num) then if (result == num) then
return true return true
end end
end end
@ -14,24 +14,24 @@ local function checkCard(eventCard,cardList,num)
end end
-- 移除指定数量的牌 -- 移除指定数量的牌
local function removeCard(cardList, card,count) local function removeCard(cardList, card, count)
for i=1,count do for i = 1, count do
list_remove(cardList,card) list_remove(cardList, card)
end end
end end
local function checkCardAndRomve(eventCard,cardList,num) local function checkCardAndRomve(eventCard, cardList, num)
if(checkCard(eventCard,cardList,num)) then if (checkCard(eventCard, cardList, num)) then
removeCard(cardList,eventCard,num) removeCard(cardList, eventCard, num)
return true return true
end end
return false return false
end end
-- 获取列表中牌数量 -- 获取列表中牌数量
local function cardNum(eventCard,cardList) local function cardNum(eventCard, cardList)
local result = 0 local result = 0
for i=1,#cardList do for i = 1, #cardList do
local card = cardList[i] local card = cardList[i]
if (card == eventCard) then if (card == eventCard) then
result = result + 1 result = result + 1
@ -55,15 +55,15 @@ local M = {
function M:push(cardGroup) function M:push(cardGroup)
self.stack[#self.stack+1] = cardGroup self.stack[#self.stack + 1] = cardGroup
end end
function M:rollBack() function M:rollBack()
local cardGroup = self.stack[#self.stack] local cardGroup = self.stack[#self.stack]
table.remove(self.stack,#self.stack) table.remove(self.stack, #self.stack)
for _,card in ipairs(cardGroup) do for _, card in ipairs(cardGroup) do
if (card == zhongid) then if (card == zhongid) then
self.zhong_count = self.zhong_count +1 self.zhong_count = self.zhong_count + 1
else else
self.cardList[#self.cardList + 1] = card self.cardList[#self.cardList + 1] = card
end end
@ -72,14 +72,53 @@ function M:rollBack()
end end
function M:tryShunzi(card) function M:tryShunzi(card)
if (card < 400 and card % 100 > 7) then if card > 400 or card % 100 > 7 then
return false return false
end end
if (checkCard(card + 1, self.cardList) and checkCard(card + 2, self.cardList)) then if (checkCard(card + 1, self.cardList) and checkCard(card + 2, self.cardList)) then
removeCard(self.cardList, card, 1) removeCard(self.cardList, card, 1)
removeCard(self.cardList, card + 1, 1) removeCard(self.cardList, card + 1, 1)
removeCard(self.cardList, card + 2, 1) removeCard(self.cardList, card + 2, 1)
local cardGroup = {card,card+1,card+2} local cardGroup = { card, card + 1, card + 2 }
self:push(cardGroup)
return true
end
return false
end
--特殊牌,风牌也就是东南西北的成顺逻辑,中发白逻辑在普通顺子里
function M:tryFengShunzi(card)
--只有牌里有东南风的时候才能成顺401东风402南方
if self._flag_zikechengshun ~= 0 then
return false
end
local canShunziFeng = { 401, 402 }
for i = 1, #canShunziFeng do
if card == canShunziFeng[i] then
local tempFengList = {}
for j = 1, 4 - i do
if checkCard(405 - j, self.cardList) then
table.insert(tempFengList, 405 - j)
end
end
if #tempFengList >= 2 then
removeCard(self.cardList, card, 1)
removeCard(self.cardList, tempFengList[1], 1)
removeCard(self.cardList, tempFengList[2], 1)
local cardGroup = { card, tempFengList[1], tempFengList[2] }
self:push(cardGroup)
return true
end
end
end
if card < 500 then
return false
end
if (checkCard(card + 1, self.cardList) and checkCard(card + 2, self.cardList)) then
removeCard(self.cardList, card, 1)
removeCard(self.cardList, card + 1, 1)
removeCard(self.cardList, card + 2, 1)
local cardGroup = { card, card + 1, card + 2 }
self:push(cardGroup) self:push(cardGroup)
return true return true
end end
@ -88,7 +127,7 @@ end
function M:tryKezi(card) function M:tryKezi(card)
if (checkCardAndRomve(card, self.cardList, 3)) then if (checkCardAndRomve(card, self.cardList, 3)) then
local cardGroup = {card,card,card} local cardGroup = { card, card, card }
self:push(cardGroup) self:push(cardGroup)
return true return true
end end
@ -100,7 +139,7 @@ function M:tryPair(card)
return false return false
end end
if (checkCardAndRomve(card, self.cardList, 2)) then if (checkCardAndRomve(card, self.cardList, 2)) then
local cardGroup = {card,card} local cardGroup = { card, card }
self:push(cardGroup) self:push(cardGroup)
self.pair_count = 1 self.pair_count = 1
return true return true
@ -108,22 +147,21 @@ function M:tryPair(card)
return false return false
end end
function M:tryKezi1Zhong(card) function M:tryKezi1Zhong(card)
if (self.zhong_count >= 1 and checkCardAndRomve(card, self.cardList,2)) then if (self.zhong_count >= 1 and checkCardAndRomve(card, self.cardList, 2)) then
local cardGroup = {card,card,zhongid} local cardGroup = { card, card, zhongid }
self:push(cardGroup) self:push(cardGroup)
self.zhong_count = self.zhong_count -1 self.zhong_count = self.zhong_count - 1
return true return true
end end
return false return false
end end
function M:tryKezi2Zhong(card) function M:tryKezi2Zhong(card)
if (self.zhong_count >= 2 and checkCardAndRomve(card, self.cardList,1)) then if (self.zhong_count >= 2 and checkCardAndRomve(card, self.cardList, 1)) then
local cardGroup = {card,zhongid,zhongid} local cardGroup = { card, zhongid, zhongid }
self:push(cardGroup) self:push(cardGroup)
self.zhong_count = self.zhong_count -2 self.zhong_count = self.zhong_count - 2
return true return true
end end
return false return false
@ -141,8 +179,8 @@ function M:tryShunzi1Zhong(card)
if (checkCard(card + 1, self.cardList)) then if (checkCard(card + 1, self.cardList)) then
removeCard(self.cardList, card, 1) removeCard(self.cardList, card, 1)
removeCard(self.cardList, card + 1, 1) removeCard(self.cardList, card + 1, 1)
self.zhong_count = self.zhong_count -1 self.zhong_count = self.zhong_count - 1
local cardGroup = {card,card+1,zhongid} local cardGroup = { card, card + 1, zhongid }
self:push(cardGroup) self:push(cardGroup)
return true return true
end end
@ -150,8 +188,8 @@ function M:tryShunzi1Zhong(card)
if (checkCard(card + 2, self.cardList) and ((card + 1) % 100 ~= 0)) then if (checkCard(card + 2, self.cardList) and ((card + 1) % 100 ~= 0)) then
removeCard(self.cardList, card, 1) removeCard(self.cardList, card, 1)
removeCard(self.cardList, card + 2, 1) removeCard(self.cardList, card + 2, 1)
self.zhong_count = self.zhong_count -1 self.zhong_count = self.zhong_count - 1
local cardGroup = {card,zhongid,card+2} local cardGroup = { card, zhongid, card + 2 }
self:push(cardGroup) self:push(cardGroup)
return true return true
end end
@ -166,9 +204,9 @@ function M:tryPair1Zhong(card)
return false return false
end end
removeCard(self.cardList, card, 1) removeCard(self.cardList, card, 1)
local cardGroup = {card,zhongid} local cardGroup = { card, zhongid }
self:push(cardGroup) self:push(cardGroup)
self.zhong_count = self.zhong_count -1 self.zhong_count = self.zhong_count - 1
self.pair_count = 1 self.pair_count = 1
return true return true
end end
@ -180,9 +218,9 @@ function M:tryPair2Zhong()
if (self.zhong_count < 2) then if (self.zhong_count < 2) then
return false return false
end end
local cardGroup = {zhongid,zhongid} local cardGroup = { zhongid, zhongid }
self:push(cardGroup) self:push(cardGroup)
self.zhong_count = self.zhong_count -2 self.zhong_count = self.zhong_count - 2
self.pair_count = 1 self.pair_count = 1
return true return true
end end
@ -225,6 +263,13 @@ function M:tryWin()
self:rollBack() self:rollBack()
end end
if (self:tryFengShunzi(activeCard)) then
if (self:tryWin()) then
return true
end
self:rollBack()
end
if (self:tryKezi1Zhong(activeCard)) then if (self:tryKezi1Zhong(activeCard)) then
if (self:tryWin()) then if (self:tryWin()) then
return true return true
@ -233,7 +278,6 @@ function M:tryWin()
end end
if (self:tryKezi2Zhong(activeCard)) then if (self:tryKezi2Zhong(activeCard)) then
if (self:tryWin()) then if (self:tryWin()) then
return true return true
end end
@ -271,16 +315,16 @@ function M:checkQidui()
end end
function M:isQdPari(cardList) function M:isQdPari(cardList)
if(self.qidui_pari_count == 7) then if (self.qidui_pari_count == 7) then
return true return true
end end
if (#cardList== 0) then if (#cardList == 0) then
return true return true
end end
local card = cardList[1] local card = cardList[1]
if (cardNum(card, cardList) >= 2) then if (cardNum(card, cardList) >= 2) then
removeCard(cardList, card, 2) removeCard(cardList, card, 2)
self.qidui_pari_count = self.qidui_pari_count +1 self.qidui_pari_count = self.qidui_pari_count + 1
if (self:isQdPari(cardList)) then if (self:isQdPari(cardList)) then
return true return true
end end
@ -289,7 +333,7 @@ function M:isQdPari(cardList)
if (self.hongzhong_count > 0) then if (self.hongzhong_count > 0) then
removeCard(cardList, card, 1) removeCard(cardList, card, 1)
self.hongzhong_count = self.hongzhong_count - 1 self.hongzhong_count = self.hongzhong_count - 1
self.qidui_pari_count = self.qidui_pari_count +1 self.qidui_pari_count = self.qidui_pari_count + 1
if (self:isQdPari(cardList)) then if (self:isQdPari(cardList)) then
return true return true
end end
@ -297,49 +341,76 @@ function M:isQdPari(cardList)
return false return false
end end
local function init(self,cardInhand,addCard,isZhong,qidui,eightLaizi) function M:checkshisanlan()
if (not self.shisanlan) then
return false
end
if ((#self.cardList + self.zhong_count) ~= 14) then
return false
end
local cardList = membe_clone(self.cardList)
self.hongzhong_count = self.zhong_count
return self:isShiSanLan(cardList, table.remove(cardList, 1))
end
function M:isShiSanLan(cardList, card)
if (#cardList == 0) then
return true
end
if card < 400 then
if not (checkCard(card, cardList) or checkCard(card + 1, cardList) or checkCard(card + 2, cardList)) then
return self:isShiSanLan(cardList, table.remove(cardList, 1))
end
else
if not checkCard(card, cardList) then
return self:isShiSanLan(cardList, table.remove(cardList, 1))
end
end
return false
end
--._flag_haveLaizi, data._hu_qidui, data._data_laizi
local function init(self, cardInhand, addCard, data)
self.stack = {} self.stack = {}
self.pair_count = 0 self.pair_count = 0
self.cardList = membe_clone(cardInhand) self.cardList = membe_clone(cardInhand)
self.qidui = qidui self.qidui = data._hu_qidui
self.eight_laizi = eightLaizi self.shisanlan = data._hu_shisanlan
self.cardList[#self.cardList+1] = addCard self.eight_laizi = nil
if (isZhong) then self.cardList[#self.cardList + 1] = addCard
if (data._flag_haveLaizi) then
self.zhong_count = cardNum(zhongid, self.cardList) self.zhong_count = cardNum(zhongid, self.cardList)
removeCard(self.cardList, zhongid, self.zhong_count) removeCard(self.cardList, zhongid, self.zhong_count)
end end
table.sort(self.cardList) table.sort(self.cardList)
--printlog("添加排序====>>>") --printlog("添加排序====>>>")
--pt(self.cardList) --pt(self.cardList)
return self:checkQidui() or self:tryWin() return self:checkQidui() or self:checkshisanlan() or self:tryWin()
end end
local specialCardList = { 401, 402, 403, 404, 405, 406, 407 } local specialCardList = { 401, 402, 403, 404, 501, 502, 503 }
function M.tingPai(cardInhand, isZhong, qidui, eightLaizi) function M.tingPai(cardInhand, data)
-- printlog("isZhong", isZhong) data = data or {}
-- printlog("qidui", qidui)
-- printlog("eightLaizi", eightLaizi)
-- pt(cardInhand)
local self = setmetatable({}, { __index = M }) local self = setmetatable({}, { __index = M })
local tingList = {} local tingList = {}
if not cardInhand or #cardInhand == 0 then if not cardInhand or #cardInhand == 0 then
return tingList return tingList
end end
for k=100,300,100 do for k = 100, 300, 100 do
for i=1,9 do for i = 1, 9 do
local tem = k + i local tem = k + i
local result = init(self,cardInhand,tem,isZhong,qidui,eightLaizi) local result = init(self, cardInhand, tem, data)
--printlog("返回结果为===>>>",result) --printlog("返回结果为===>>>",result)
if(result) then if (result) then
tingList[#tingList + 1] = tem tingList[#tingList + 1] = tem
end end
end end
end end
for j=1,#specialCardList do for j = 1, #specialCardList do
local tem = specialCardList[j] local tem = specialCardList[j]
local result = init(self,cardInhand,tem,isZhong,qidui,eightLaizi) local result = init(self, cardInhand, tem, data)
if(result) then if (result) then
tingList[#tingList + 1] = tem tingList[#tingList + 1] = tem
end end
end end
@ -347,32 +418,33 @@ function M.tingPai(cardInhand, isZhong, qidui, eightLaizi)
return tingList return tingList
end end
function M.MuiltiplteCaculateTingPai(cardInhand,isZhong,qidui,eightLaizi) function M.MuiltiplteCaculateTingPai(cardInhand, isZhong, qidui, eightLaizi)
if DataManager.CurrenRoom.laiziInfo and #DataManager.CurrenRoom.laiziInfo>0 then local room = DataManager.CurrenRoom
zhongid=DataManager.CurrenRoom.laiziInfo[1]
local tempTingList2={} if room.laiziInfo and #room.laiziInfo > 0 then
local tempTingList1=M.tingPai(cardInhand,isZhong,qidui,eightLaizi) zhongid = room.laiziInfo[1]
if DataManager.CurrenRoom.laiziInfo[2] then local tempTingList2 = {}
zhongid=DataManager.CurrenRoom.laiziInfo[2] local tempTingList1 = M.tingPai(cardInhand, isZhong, qidui, eightLaizi)
tempTingList2=M.tingPai(cardInhand,isZhong,qidui,eightLaizi) if room.laiziInfo[2] then
zhongid=DataManager.CurrenRoom.laiziInfo[1] zhongid = room.laiziInfo[2]
tempTingList2 = M.tingPai(cardInhand, isZhong, qidui, eightLaizi)
zhongid = room.laiziInfo[1]
end end
local currentTingList={} local currentTingList = {}
if #tempTingList1>0 and #tempTingList2>0 then if #tempTingList1 > 0 and #tempTingList2 > 0 then
currentTingList=CombineDictionaryAndRemoveSomeItem(tempTingList1,tempTingList2) currentTingList = CombineDictionaryAndRemoveSomeItem(tempTingList1, tempTingList2)
elseif #tempTingList1>0 then elseif #tempTingList1 > 0 then
currentTingList=tempTingList1 currentTingList = tempTingList1
elseif #tempTingList2>0 then elseif #tempTingList2 > 0 then
currentTingList=tempTingList2 currentTingList = tempTingList2
end end
return currentTingList return currentTingList
else else
zhongid=0 M._flag_zikechengshun = room.room_config.config.zikechengshun or 0
return M.tingPai(cardInhand,isZhong,qidui,eightLaizi) zhongid = 0
return M.tingPai(cardInhand, isZhong, qidui, eightLaizi)
end end
end end
return M return M

View File

@ -253,7 +253,23 @@ function M:fillResult0(room, peopleNum, result)
end end
end end
handCardList.numItems = handInfoNum handCardList.numItems = handInfoNum
allCardsList.width = 234 * fzInfoNum + 82 + (handInfoNum - 1) * 79 + 10 * (fzInfoNum) --拿取实际的子项大小
local handCard = 78
local hangColumGrap = -4
local fzCard = 234
local fzColumGrap = 36
handCard = handCardList:GetChildAt(handInfoNum - 1).width
hangColumGrap = handCard + handCardList.columnGap
if fzInfoNum > 0 then
fzCard = allCardsList:GetChildAt(0).width
fzColumGrap = allCardsList.columnGap
end
allCardsList.width = fzCard * fzInfoNum + handCard + (handInfoNum - 1) * hangColumGrap +
fzColumGrap * (fzInfoNum)
if infoList.seat == room.self_player.seat then
isMeCtr.selectedIndex = 1
end
if infoList.seat == room.self_player.seat then if infoList.seat == room.self_player.seat then
isMeCtr.selectedIndex = 1 isMeCtr.selectedIndex = 1

View File

@ -66,7 +66,31 @@ function M:InitView(url)
self.showNextCtr = self._view:GetController('showNext') self.showNextCtr = self._view:GetController('showNext')
self.showNextList = self._view:GetChild('list_showNext') self.showNextList = self._view:GetChild('list_showNext')
self._view:GetChild('btn_showNext').onClick:Set(function() self._view:GetChild('btn_showNext').onClick:Set(function()
coroutine.start(function()
local time = 0
ViewUtil:ShowModalWait2(0.01)
while not self._flag_getRemindCard do
if time > 20 then
break
end
coroutine.wait(0.05)
end
ViewUtil.CloseModalWait2()
if self._flag_getRemindCard then
self.showNextCtr.selectedIndex = 1
self.showNextList:SetVirtual()
self.showNextList.itemRenderer = function(index, obj)
local card = self.cardSet[index + 1]
self:FillShowCards(obj, card, self.cardMap[card])
obj.data = { card = card }
end
self.showNextList.numItems = #self.cardSet
time = time + 1
else
self:reqResidueCard() self:reqResidueCard()
end
end)
end) end)
self._view:GetChild('btn_closeShow').onClick:Set(function() self._view:GetChild('btn_closeShow').onClick:Set(function()
self.showNextCtr.selectedIndex = 0 self.showNextCtr.selectedIndex = 0
@ -169,13 +193,10 @@ function M:UpdatePlayerInfoView()
end end
function M:NewMJPlayerCardInfoView(view, index) function M:NewMJPlayerCardInfoView(view, index)
return MJMainView.NewMJPlayerCardInfoView(self, view, index)
--[[
if index == 1 then if index == 1 then
return MJPlayerSelfCardInfoView.new(view, self) return MJPlayerSelfCardInfoView.new(view, self, nil, "S")
end end
return MJPlayerCardInfoView.new(view, self) return MJMainView.NewMJPlayerCardInfoView(self, view, index)
]]
end end
function M:EventInit() function M:EventInit()
@ -217,6 +238,7 @@ function M:EventInit()
--self._viewText_testName.text = 0 --self._viewText_testName.text = 0
self:UpdateRound() self:UpdateRound()
self:RemoveCursor() self:RemoveCursor()
self:reqResidueCard()
self._state.selectedIndex = 1 self._state.selectedIndex = 1
self:ShowJing() self:ShowJing()
if self._niao_View then if self._niao_View then
@ -234,6 +256,9 @@ function M:EventInit()
local card_info = self._player_card_info[self:GetPos(p.seat)] local card_info = self._player_card_info[self:GetPos(p.seat)]
card_info:Clear() card_info:Clear()
card_info:UpdateHandCard() card_info:UpdateHandCard()
if _room.curren_round == 1 then
self._touxiangMove:Play()
end
end end
end) end)
_gamectr:AddEventListener(TX_GameEvent.EventTurn, function(...) _gamectr:AddEventListener(TX_GameEvent.EventTurn, function(...)
@ -266,7 +291,8 @@ function M:EventInit()
info:UpdateHandCard() info:UpdateHandCard()
local outcard = UIPackage.CreateObjectFromURL(_gcm_outcard_url) local outcard = UIPackage.CreateObjectFromURL(_gcm_outcard_url)
info:UpdateOutCardList(outcard, card, self._cursor) info:UpdateOutCardList(outcard, card, self._cursor)
self._player_card_info[1]._ctr_tip.selectedIndex = 0
self._player_card_info[1]._ctr_showGuoHu.selectedIndex = 0
self:PlayMJSound("chupai.mp3") self:PlayMJSound("chupai.mp3")
self:PlaySound("JinXi_MJ", p.self_user.sex, tostring(card)) self:PlaySound("JinXi_MJ", p.self_user.sex, tostring(card))
if seat == _room.self_player.seat then if seat == _room.self_player.seat then
@ -275,6 +301,7 @@ function M:EventInit()
end) end)
_gamectr:AddEventListener(TX_GameEvent.GetCard, function(...) _gamectr:AddEventListener(TX_GameEvent.GetCard, function(...)
self:__CloseTip() self:__CloseTip()
self:reqResidueCard()
local arg = { ... } local arg = { ... }
local seat = arg[1] local seat = arg[1]
local card = arg[2] local card = arg[2]
@ -283,6 +310,12 @@ function M:EventInit()
-- self:UpdateRoomInfo() -- self:UpdateRoomInfo()
local info = self._player_card_info[self:GetPos(seat)] local info = self._player_card_info[self:GetPos(seat)]
info:UpdateHandCard(true) info:UpdateHandCard(true)
if self:GetPos(seat) == 1 then
info:ShowHuTip()
self._btn_selectTing.visible = false
info._ctr_tip.selectedIndex = 0
info._ctr_showGuoHu.selectedIndex = 0
end
end) end)
_gamectr:AddEventListener(TX_GameEvent.FZTips, function(...) _gamectr:AddEventListener(TX_GameEvent.FZTips, function(...)
@ -544,26 +577,19 @@ function M:EventInit()
_gamectr:AddEventListener(TX_GameEvent.EventResidueCard, function(...) _gamectr:AddEventListener(TX_GameEvent.EventResidueCard, function(...)
local arg = { ... } local arg = { ... }
local residueCard = arg[1] local residueCard = arg[1]
local cardMap = {} self.cardMap = {}
local cardSet = {} self.cardSet = {}
self.showNextCtr.selectedIndex = 1
for i = 1, #residueCard do for i = 1, #residueCard do
local cardNum = residueCard[i] local cardNum = residueCard[i]
if not cardMap[cardNum] then if not self.cardMap[cardNum] then
cardMap[cardNum] = 1 self.cardMap[cardNum] = 1
table.insert(cardSet, cardNum) table.insert(self.cardSet, cardNum)
else else
cardMap[cardNum] = cardMap[cardNum] + 1 self.cardMap[cardNum] = self.cardMap[cardNum] + 1
end end
end end
table.sort(cardSet) table.sort(self.cardSet)
self.showNextList:SetVirtual() self._flag_getRemindCard = true
self.showNextList.itemRenderer = function(index, obj)
local card = cardSet[index + 1]
self:FillShowCards(obj, card, cardMap[card])
obj.data = { card = card }
end
self.showNextList.numItems = #cardSet
end) end)
--替换mianview的事件 --替换mianview的事件
@ -593,10 +619,15 @@ function M:OutCard(card)
local info = self._player_card_info[1] local info = self._player_card_info[1]
self:RemoveCursor() self:RemoveCursor()
info:UpdateHandCard() info:UpdateHandCard()
info:UpdateOutCardList(nil, card, self._cursor)
info._ctr_tip.selectedIndex = 0 info._ctr_tip.selectedIndex = 0
info._ctr_showGuoHu.selectedIndex = 0 info._ctr_showGuoHu.selectedIndex = 0
info:UpdateOutCardList(nil, card, self._cursor)
info:ShowHuTip()
if #info:GetTingList(DataManager.CurrenRoom.self_player.card_list) > 0 then
self._btn_selectTing.visible = true
else
self._btn_selectTing.visible = false
end
self:markOutCards(false, card) self:markOutCards(false, card)
self:PlaySound("JinXi_MJ", self._room.self_player.self_user.sex, tostring(card)) self:PlaySound("JinXi_MJ", self._room.self_player.self_user.sex, tostring(card))
self:PlayMJSound("chupai.mp3") self:PlayMJSound("chupai.mp3")
@ -882,7 +913,7 @@ function M:ReloadRoom(bskip)
self._room._reload_flag = true self._room._reload_flag = true
end end
end end
self:reqResidueCard()
self:ShowJing() self:ShowJing()
for i = 1, #room.player_list do for i = 1, #room.player_list do
local p = room.player_list[i] local p = room.player_list[i]
@ -906,6 +937,11 @@ function M:ReloadRoom(bskip)
if p.seat == room.last_outcard_seat then if p.seat == room.last_outcard_seat then
local card = p.outcard_list[#p.outcard_list] local card = p.outcard_list[#p.outcard_list]
info:UpdateOutCardList(nil, card, self._cursor) info:UpdateOutCardList(nil, card, self._cursor)
if self:GetPos(p.seat) == 1 and #info:GetTingList(DataManager.CurrenRoom.self_player.card_list) > 0 then
self._btn_selectTing.visible = true
else
self._btn_selectTing.visible = false
end
elseif p.seat == room.curren_outcard_seat then elseif p.seat == room.curren_outcard_seat then
info:UpdateHandCard(true) info:UpdateHandCard(true)
info:UpdateOutCardList() info:UpdateOutCardList()
@ -964,6 +1000,7 @@ end
-----------------------展示牌---------------------------- -----------------------展示牌----------------------------
function M:reqResidueCard() function M:reqResidueCard()
self._flag_getRemindCard = false
local _gamectr = ControllerManager.GetController(GameController) local _gamectr = ControllerManager.GetController(GameController)
_gamectr:ReqResidueCard() _gamectr:ReqResidueCard()
end end

View File

@ -4,32 +4,33 @@ local CardCheck = import(".CardCheck")
local M = {} local M = {}
-- --
function M.new(view, mainView) function M.new(view, mainView, record, direction)
setmetatable(MJPlayerSelfCardInfoView, { __index = MJPlayerCardInfoView }) setmetatable(MJPlayerSelfCardInfoView, { __index = MJPlayerCardInfoView })
setmetatable(M, { __index = MJPlayerSelfCardInfoView }) setmetatable(M, { __index = MJPlayerSelfCardInfoView })
local self = setmetatable({}, { __index = M }) local self = setmetatable({}, { __index = M })
self.class = "PlayerSelfCardInfoView" self.class = "PlayerSelfCardInfoView"
self._view = view self._view = view
self._mainView = mainView self._mainView = mainView
self.direction = direction
self._flag_canTing = false
self:init() self:init()
return self return self
end end
-- function M:ShowHuTip(card_list) function M:init()
-- printlog("ShowHuTip") getmetatable(M).__index.init(self)
-- local tingList = CardCheck.MuiltiplteCaculateTingPai(card_list, true, DataManager.CurrenRoom.room_config.Qidui, end
-- DataManager.CurrenRoom.room_config.Laizi)
-- if #tingList > 0 then function M:ShowHuTip(card_list, have_bg)
-- if DataManager.CurrenRoom.laiziInfo and #DataManager.CurrenRoom.laiziInfo > 0 then self._mainView._hu_tip:FillData(self:GetTingList(card_list), have_bg)
-- for i = 1, #DataManager.CurrenRoom.laiziInfo do end
-- if IsHasDictionary(DataManager.CurrenRoom.laiziInfo[i], tingList) == false then
-- table.insert(tingList, DataManager.CurrenRoom.laiziInfo[i]) function M:GetTingList(card_list)
-- end if not self._flag_canTing then
-- end return {}
-- end end
-- end return CardCheck.MuiltiplteCaculateTingPai(card_list, { _hu_qidui = true, _hu_shisanlan = true })
-- self._mainView._hu_tip:FillData(tingList) end
-- end
function M:UpdateHandCard(getcard, mp) function M:UpdateHandCard(getcard, mp)
MJPlayerSelfCardInfoView.UpdateHandCard(self, getcard, mp) MJPlayerSelfCardInfoView.UpdateHandCard(self, getcard, mp)

View File

@ -72,7 +72,46 @@ function M:rollBack()
end end
function M:tryShunzi(card) function M:tryShunzi(card)
if (card < 400 and card % 100 > 7) then if card > 400 or card % 100 > 7 then
return false
end
if (checkCard(card + 1, self.cardList) and checkCard(card + 2, self.cardList)) then
removeCard(self.cardList, card, 1)
removeCard(self.cardList, card + 1, 1)
removeCard(self.cardList, card + 2, 1)
local cardGroup = { card, card + 1, card + 2 }
self:push(cardGroup)
return true
end
return false
end
--特殊牌,风牌也就是东南西北的成顺逻辑,中发白逻辑在普通顺子里
function M:tryFengShunzi(card)
--只有牌里有东南风的时候才能成顺401东风402南方
if self._flag_zikechengshun ~= 0 then
return false
end
local canShunziFeng = { 401, 402 }
for i = 1, #canShunziFeng do
if card == canShunziFeng[i] then
local tempFengList = {}
for j = 1, 4 - i do
if checkCard(405 - j, self.cardList) then
table.insert(tempFengList, 405 - j)
end
end
if #tempFengList >= 2 then
removeCard(self.cardList, card, 1)
removeCard(self.cardList, tempFengList[1], 1)
removeCard(self.cardList, tempFengList[2], 1)
local cardGroup = { card, tempFengList[1], tempFengList[2] }
self:push(cardGroup)
return true
end
end
end
if card < 500 then
return false return false
end end
if (checkCard(card + 1, self.cardList) and checkCard(card + 2, self.cardList)) then if (checkCard(card + 1, self.cardList) and checkCard(card + 2, self.cardList)) then
@ -224,6 +263,13 @@ function M:tryWin()
self:rollBack() self:rollBack()
end end
if (self:tryFengShunzi(activeCard)) then
if (self:tryWin()) then
return true
end
self:rollBack()
end
if (self:tryKezi1Zhong(activeCard)) then if (self:tryKezi1Zhong(activeCard)) then
if (self:tryWin()) then if (self:tryWin()) then
return true return true
@ -295,29 +341,56 @@ function M:isQdPari(cardList)
return false return false
end end
local function init(self, cardInhand, addCard, isZhong, qidui, eightLaizi) function M:checkshisanlan()
if (not self.shisanlan) then
return false
end
if ((#self.cardList + self.zhong_count) ~= 14) then
return false
end
local cardList = membe_clone(self.cardList)
self.hongzhong_count = self.zhong_count
return self:isShiSanLan(cardList, table.remove(cardList, 1))
end
function M:isShiSanLan(cardList, card)
if (#cardList == 0) then
return true
end
if card < 400 then
if not (checkCard(card, cardList) or checkCard(card + 1, cardList) or checkCard(card + 2, cardList)) then
return self:isShiSanLan(cardList, table.remove(cardList, 1))
end
else
if not checkCard(card, cardList) then
return self:isShiSanLan(cardList, table.remove(cardList, 1))
end
end
return false
end
--._flag_haveLaizi, data._hu_qidui, data._data_laizi
local function init(self, cardInhand, addCard, data)
self.stack = {} self.stack = {}
self.pair_count = 0 self.pair_count = 0
self.cardList = membe_clone(cardInhand) self.cardList = membe_clone(cardInhand)
self.qidui = qidui self.qidui = data._hu_qidui
self.eight_laizi = eightLaizi self.shisanlan = data._hu_shisanlan
self.eight_laizi = nil
self.cardList[#self.cardList + 1] = addCard self.cardList[#self.cardList + 1] = addCard
if (isZhong) then if (data._flag_haveLaizi) then
self.zhong_count = cardNum(zhongid, self.cardList) self.zhong_count = cardNum(zhongid, self.cardList)
removeCard(self.cardList, zhongid, self.zhong_count) removeCard(self.cardList, zhongid, self.zhong_count)
end end
table.sort(self.cardList) table.sort(self.cardList)
--printlog("添加排序====>>>") --printlog("添加排序====>>>")
--pt(self.cardList) --pt(self.cardList)
return self:checkQidui() or self:tryWin() return self:checkQidui() or self:checkshisanlan() or self:tryWin()
end end
local specialCardList = { 401, 402, 403, 404, 405, 406, 407 } local specialCardList = { 401, 402, 403, 404, 501, 502, 503 }
function M.tingPai(cardInhand, isZhong, qidui, eightLaizi) function M.tingPai(cardInhand, data)
-- printlog("isZhong", isZhong) data = data or {}
-- printlog("qidui", qidui)
-- printlog("eightLaizi", eightLaizi)
-- pt(cardInhand)
local self = setmetatable({}, { __index = M }) local self = setmetatable({}, { __index = M })
local tingList = {} local tingList = {}
if not cardInhand or #cardInhand == 0 then if not cardInhand or #cardInhand == 0 then
@ -326,7 +399,7 @@ function M.tingPai(cardInhand, isZhong, qidui, eightLaizi)
for k = 100, 300, 100 do for k = 100, 300, 100 do
for i = 1, 9 do for i = 1, 9 do
local tem = k + i local tem = k + i
local result = init(self, cardInhand, tem, isZhong, qidui, eightLaizi) local result = init(self, cardInhand, tem, data)
--printlog("返回结果为===>>>",result) --printlog("返回结果为===>>>",result)
if (result) then if (result) then
tingList[#tingList + 1] = tem tingList[#tingList + 1] = tem
@ -336,7 +409,7 @@ function M.tingPai(cardInhand, isZhong, qidui, eightLaizi)
for j = 1, #specialCardList do for j = 1, #specialCardList do
local tem = specialCardList[j] local tem = specialCardList[j]
local result = init(self, cardInhand, tem, isZhong, qidui, eightLaizi) local result = init(self, cardInhand, tem, data)
if (result) then if (result) then
tingList[#tingList + 1] = tem tingList[#tingList + 1] = tem
end end
@ -346,14 +419,16 @@ function M.tingPai(cardInhand, isZhong, qidui, eightLaizi)
end end
function M.MuiltiplteCaculateTingPai(cardInhand, isZhong, qidui, eightLaizi) function M.MuiltiplteCaculateTingPai(cardInhand, isZhong, qidui, eightLaizi)
if DataManager.CurrenRoom.laiziInfo and #DataManager.CurrenRoom.laiziInfo > 0 then local room = DataManager.CurrenRoom
zhongid = DataManager.CurrenRoom.laiziInfo[1]
if room.laiziInfo and #room.laiziInfo > 0 then
zhongid = room.laiziInfo[1]
local tempTingList2 = {} local tempTingList2 = {}
local tempTingList1 = M.tingPai(cardInhand, isZhong, qidui, eightLaizi) local tempTingList1 = M.tingPai(cardInhand, isZhong, qidui, eightLaizi)
if DataManager.CurrenRoom.laiziInfo[2] then if room.laiziInfo[2] then
zhongid = DataManager.CurrenRoom.laiziInfo[2] zhongid = room.laiziInfo[2]
tempTingList2 = M.tingPai(cardInhand, isZhong, qidui, eightLaizi) tempTingList2 = M.tingPai(cardInhand, isZhong, qidui, eightLaizi)
zhongid = DataManager.CurrenRoom.laiziInfo[1] zhongid = room.laiziInfo[1]
end end
local currentTingList = {} local currentTingList = {}
if #tempTingList1 > 0 and #tempTingList2 > 0 then if #tempTingList1 > 0 and #tempTingList2 > 0 then
@ -366,6 +441,7 @@ function M.MuiltiplteCaculateTingPai(cardInhand, isZhong, qidui, eightLaizi)
return currentTingList return currentTingList
else else
M._flag_zikechengshun = room.room_config.config.zikechengshun or 0
zhongid = 0 zhongid = 0
return M.tingPai(cardInhand, isZhong, qidui, eightLaizi) return M.tingPai(cardInhand, isZhong, qidui, eightLaizi)
end end

View File

@ -246,7 +246,23 @@ function M:fillResult0(room, peopleNum, result)
end end
end end
handCardList.numItems = handInfoNum handCardList.numItems = handInfoNum
allCardsList.width = 234 * fzInfoNum + 82 + (handInfoNum - 1) * 79 + 10 * (fzInfoNum) --拿取实际的子项大小
local handCard = 78
local hangColumGrap = -4
local fzCard = 234
local fzColumGrap = 36
handCard = handCardList:GetChildAt(handInfoNum - 1).width
hangColumGrap = handCard + handCardList.columnGap
if fzInfoNum > 0 then
fzCard = allCardsList:GetChildAt(0).width
fzColumGrap = allCardsList.columnGap
end
allCardsList.width = fzCard * fzInfoNum + handCard + (handInfoNum - 1) * hangColumGrap +
fzColumGrap * (fzInfoNum)
if infoList.seat == room.self_player.seat then
isMeCtr.selectedIndex = 1
end
if infoList.seat == room.self_player.seat then if infoList.seat == room.self_player.seat then
isMeCtr.selectedIndex = 1 isMeCtr.selectedIndex = 1

View File

@ -67,7 +67,31 @@ function M:InitView(url)
self.showNextCtr = self._view:GetController('showNext') self.showNextCtr = self._view:GetController('showNext')
self.showNextList = self._view:GetChild('list_showNext') self.showNextList = self._view:GetChild('list_showNext')
self._view:GetChild('btn_showNext').onClick:Set(function() self._view:GetChild('btn_showNext').onClick:Set(function()
coroutine.start(function()
local time = 0
ViewUtil:ShowModalWait2(0.01)
while not self._flag_getRemindCard do
if time > 20 then
break
end
coroutine.wait(0.05)
end
ViewUtil.CloseModalWait2()
if self._flag_getRemindCard then
self.showNextCtr.selectedIndex = 1
self.showNextList:SetVirtual()
self.showNextList.itemRenderer = function(index, obj)
local card = self.cardSet[index + 1]
self:FillShowCards(obj, card, self.cardMap[card])
obj.data = { card = card }
end
self.showNextList.numItems = #self.cardSet
time = time + 1
else
self:reqResidueCard() self:reqResidueCard()
end
end)
end) end)
self._view:GetChild('btn_closeShow').onClick:Set(function() self._view:GetChild('btn_closeShow').onClick:Set(function()
self.showNextCtr.selectedIndex = 0 self.showNextCtr.selectedIndex = 0
@ -168,13 +192,10 @@ function M:UpdatePlayerInfoView()
end end
function M:NewMJPlayerCardInfoView(view, index) function M:NewMJPlayerCardInfoView(view, index)
return MJMainView.NewMJPlayerCardInfoView(self, view, index)
--[[
if index == 1 then if index == 1 then
return MJPlayerSelfCardInfoView.new(view, self) return MJPlayerSelfCardInfoView.new(view, self, nil, "S")
end end
return MJPlayerCardInfoView.new(view, self) return MJMainView.NewMJPlayerCardInfoView(self, view, index)
]]
end end
function M:EventInit() function M:EventInit()
@ -216,6 +237,7 @@ function M:EventInit()
--self._viewText_testName.text = 0 --self._viewText_testName.text = 0
self:UpdateRound() self:UpdateRound()
self:RemoveCursor() self:RemoveCursor()
self:reqResidueCard()
self._state.selectedIndex = 1 self._state.selectedIndex = 1
self:ShowJing() self:ShowJing()
if self._niao_View then if self._niao_View then
@ -234,10 +256,10 @@ function M:EventInit()
local card_info = self._player_card_info[self:GetPos(p.seat)] local card_info = self._player_card_info[self:GetPos(p.seat)]
card_info:Clear() card_info:Clear()
card_info:UpdateHandCard() card_info:UpdateHandCard()
end
if _room.curren_round == 1 then if _room.curren_round == 1 then
self._touxiangMove:Play() self._touxiangMove:Play()
end end
end
end) end)
_gamectr:AddEventListener(TX_GameEvent.EventTurn, function(...) _gamectr:AddEventListener(TX_GameEvent.EventTurn, function(...)
local arg = { ... } local arg = { ... }
@ -269,6 +291,8 @@ function M:EventInit()
info:UpdateHandCard() info:UpdateHandCard()
local outcard = UIPackage.CreateObjectFromURL(_gcm_outcard_url) local outcard = UIPackage.CreateObjectFromURL(_gcm_outcard_url)
info:UpdateOutCardList(outcard, card, self._cursor) info:UpdateOutCardList(outcard, card, self._cursor)
self._player_card_info[1]._ctr_tip.selectedIndex = 0
self._player_card_info[1]._ctr_showGuoHu.selectedIndex = 0
self:PlayMJSound("chupai.mp3") self:PlayMJSound("chupai.mp3")
self:PlaySound("LiChuan_MJ", p.self_user.sex, tostring(card)) self:PlaySound("LiChuan_MJ", p.self_user.sex, tostring(card))
@ -278,6 +302,7 @@ function M:EventInit()
end) end)
_gamectr:AddEventListener(TX_GameEvent.GetCard, function(...) _gamectr:AddEventListener(TX_GameEvent.GetCard, function(...)
self:__CloseTip() self:__CloseTip()
self:reqResidueCard()
local arg = { ... } local arg = { ... }
local seat = arg[1] local seat = arg[1]
local card = arg[2] local card = arg[2]
@ -286,6 +311,12 @@ function M:EventInit()
-- self:UpdateRoomInfo() -- self:UpdateRoomInfo()
local info = self._player_card_info[self:GetPos(seat)] local info = self._player_card_info[self:GetPos(seat)]
info:UpdateHandCard(true) info:UpdateHandCard(true)
if self:GetPos(seat) == 1 then
info:ShowHuTip()
self._btn_selectTing.visible = false
info._ctr_tip.selectedIndex = 0
info._ctr_showGuoHu.selectedIndex = 0
end
end) end)
_gamectr:AddEventListener(TX_GameEvent.FZTips, function(...) _gamectr:AddEventListener(TX_GameEvent.FZTips, function(...)
@ -545,26 +576,19 @@ function M:EventInit()
_gamectr:AddEventListener(TX_GameEvent.EventResidueCard, function(...) _gamectr:AddEventListener(TX_GameEvent.EventResidueCard, function(...)
local arg = { ... } local arg = { ... }
local residueCard = arg[1] local residueCard = arg[1]
local cardMap = {} self.cardMap = {}
local cardSet = {} self.cardSet = {}
self.showNextCtr.selectedIndex = 1
for i = 1, #residueCard do for i = 1, #residueCard do
local cardNum = residueCard[i] local cardNum = residueCard[i]
if not cardMap[cardNum] then if not self.cardMap[cardNum] then
cardMap[cardNum] = 1 self.cardMap[cardNum] = 1
table.insert(cardSet, cardNum) table.insert(self.cardSet, cardNum)
else else
cardMap[cardNum] = cardMap[cardNum] + 1 self.cardMap[cardNum] = self.cardMap[cardNum] + 1
end end
end end
table.sort(cardSet) table.sort(self.cardSet)
self.showNextList:SetVirtual() self._flag_getRemindCard = true
self.showNextList.itemRenderer = function(index, obj)
local card = cardSet[index + 1]
self:FillShowCards(obj, card, cardMap[card])
obj.data = { card = card }
end
self.showNextList.numItems = #cardSet
end) end)
--替换mianview的事件 --替换mianview的事件
@ -594,10 +618,15 @@ function M:OutCard(card)
local info = self._player_card_info[1] local info = self._player_card_info[1]
self:RemoveCursor() self:RemoveCursor()
info:UpdateHandCard() info:UpdateHandCard()
info:UpdateOutCardList(nil, card, self._cursor)
info._ctr_tip.selectedIndex = 0 info._ctr_tip.selectedIndex = 0
info._ctr_showGuoHu.selectedIndex = 0 info._ctr_showGuoHu.selectedIndex = 0
info:UpdateOutCardList(nil, card, self._cursor)
info:ShowHuTip()
if #info:GetTingList(DataManager.CurrenRoom.self_player.card_list) > 0 then
self._btn_selectTing.visible = true
else
self._btn_selectTing.visible = false
end
self:markOutCards(false, card) self:markOutCards(false, card)
self:PlaySound("LiChuan_MJ", self._room.self_player.self_user.sex, tostring(card)) self:PlaySound("LiChuan_MJ", self._room.self_player.self_user.sex, tostring(card))
self:PlayMJSound("chupai.mp3") self:PlayMJSound("chupai.mp3")
@ -883,7 +912,7 @@ function M:ReloadRoom(bskip)
self._room._reload_flag = true self._room._reload_flag = true
end end
end end
self:reqResidueCard()
self:ShowJing() self:ShowJing()
for i = 1, #room.player_list do for i = 1, #room.player_list do
local p = room.player_list[i] local p = room.player_list[i]
@ -907,6 +936,11 @@ function M:ReloadRoom(bskip)
if p.seat == room.last_outcard_seat then if p.seat == room.last_outcard_seat then
local card = p.outcard_list[#p.outcard_list] local card = p.outcard_list[#p.outcard_list]
info:UpdateOutCardList(nil, card, self._cursor) info:UpdateOutCardList(nil, card, self._cursor)
if self:GetPos(p.seat) == 1 and #info:GetTingList(DataManager.CurrenRoom.self_player.card_list) > 0 then
self._btn_selectTing.visible = true
else
self._btn_selectTing.visible = false
end
elseif p.seat == room.curren_outcard_seat then elseif p.seat == room.curren_outcard_seat then
info:UpdateHandCard(true) info:UpdateHandCard(true)
info:UpdateOutCardList() info:UpdateOutCardList()
@ -965,6 +999,7 @@ end
-----------------------展示牌---------------------------- -----------------------展示牌----------------------------
function M:reqResidueCard() function M:reqResidueCard()
self._flag_getRemindCard = false
local _gamectr = ControllerManager.GetController(GameController) local _gamectr = ControllerManager.GetController(GameController)
_gamectr:ReqResidueCard() _gamectr:ReqResidueCard()
end end

View File

@ -68,6 +68,7 @@ function M:FillRoomData(data)
self:GenerateAllStepData(data) self:GenerateAllStepData(data)
self:UpdateStep(1) self:UpdateStep(1)
self:Play()
-- self:ShowStep(0) -- self:ShowStep(0)
end end
@ -103,7 +104,7 @@ function M:ShowStep(index)
else else
info:UpdateOutCardList() info:UpdateOutCardList()
end end
if step.cmd == Record_Event.Evt_GetCard and p.seat == step.current_out_seat then if (step.cmd == Record_Event.Evt_GetCard and p.seat == step.current_out_seat) or step.cmd == Record_Event.Evt_Action then
info:UpdateHandCard(true, true) info:UpdateHandCard(true, true)
else else
info:UpdateHandCard(false, true) info:UpdateHandCard(false, true)
@ -141,7 +142,7 @@ function M:ShowStep(index)
end end
if step.cmd == Record_Event.Evt_Result then if step.cmd == Record_Event.Evt_Result then
if not self.result then if not self.result then
self.result = EXClearingView.new(self._root_view, { flag_back = true }) self.result = EXClearingView.new(self, { flag_back = true })
self.result:InitData(0, self._room, step.result_data) self.result:InitData(0, self._room, step.result_data)
self.result._view.x = (GRoot.inst.width - self.result._view.width) * -0.5 self.result._view.x = (GRoot.inst.width - self.result._view.width) * -0.5
self.result._view.width = GRoot.inst.width self.result._view.width = GRoot.inst.width
@ -225,6 +226,7 @@ function M:CmdAction(cmd, index)
fz.type = cmd.data.type fz.type = cmd.data.type
fz.card = cmd.data.card fz.card = cmd.data.card
fz.opcard = cmd.data.opcard fz.opcard = cmd.data.opcard
fz.from_seat = cmd.data.from_seat
local uf = data.player_card_data[cmd.data.from_seat] local uf = data.player_card_data[cmd.data.from_seat]
if fz.type ~= FZType.Gang_An and fz.type ~= FZType.Gang_Peng then if fz.type ~= FZType.Gang_An and fz.type ~= FZType.Gang_Peng then
table.remove(uf.outcard_list, #uf.outcard_list) table.remove(uf.outcard_list, #uf.outcard_list)

View File

@ -4,32 +4,33 @@ local CardCheck = import(".CardCheck")
local M = {} local M = {}
-- --
function M.new(view, mainView) function M.new(view, mainView, record, direction)
setmetatable(MJPlayerSelfCardInfoView, { __index = MJPlayerCardInfoView }) setmetatable(MJPlayerSelfCardInfoView, { __index = MJPlayerCardInfoView })
setmetatable(M, { __index = MJPlayerSelfCardInfoView }) setmetatable(M, { __index = MJPlayerSelfCardInfoView })
local self = setmetatable({}, { __index = M }) local self = setmetatable({}, { __index = M })
self.class = "PlayerSelfCardInfoView" self.class = "PlayerSelfCardInfoView"
self._view = view self._view = view
self._mainView = mainView self._mainView = mainView
self.direction = direction
self._flag_canTing = false
self:init() self:init()
return self return self
end end
-- function M:ShowHuTip(card_list) function M:init()
-- printlog("ShowHuTip") getmetatable(M).__index.init(self)
-- local tingList = CardCheck.MuiltiplteCaculateTingPai(card_list, true, DataManager.CurrenRoom.room_config.Qidui, end
-- DataManager.CurrenRoom.room_config.Laizi)
-- if #tingList > 0 then function M:ShowHuTip(card_list, have_bg)
-- if DataManager.CurrenRoom.laiziInfo and #DataManager.CurrenRoom.laiziInfo > 0 then self._mainView._hu_tip:FillData(self:GetTingList(card_list), have_bg)
-- for i = 1, #DataManager.CurrenRoom.laiziInfo do end
-- if IsHasDictionary(DataManager.CurrenRoom.laiziInfo[i], tingList) == false then
-- table.insert(tingList, DataManager.CurrenRoom.laiziInfo[i]) function M:GetTingList(card_list)
-- end if not self._flag_canTing then
-- end return {}
-- end end
-- end return CardCheck.MuiltiplteCaculateTingPai(card_list, { _hu_qidui = true, _hu_shisanlan = true })
-- self._mainView._hu_tip:FillData(tingList) end
-- end
function M:UpdateHandCard(getcard, mp) function M:UpdateHandCard(getcard, mp)
MJPlayerSelfCardInfoView.UpdateHandCard(self, getcard, mp) MJPlayerSelfCardInfoView.UpdateHandCard(self, getcard, mp)

View File

@ -1,11 +1,11 @@
-- 检测牌是否存在 -- 检测牌是否存在
local function checkCard(eventCard,cardList,num) local function checkCard(eventCard, cardList, num)
num = num == nil and 1 or num num = num == nil and 1 or num
local result = 0 local result = 0
for i = 1,#cardList do for i = 1, #cardList do
if (cardList[i] == eventCard) then if (cardList[i] == eventCard) then
result = result + 1 result = result + 1
if(result ==num) then if (result == num) then
return true return true
end end
end end
@ -14,24 +14,24 @@ local function checkCard(eventCard,cardList,num)
end end
-- 移除指定数量的牌 -- 移除指定数量的牌
local function removeCard(cardList, card,count) local function removeCard(cardList, card, count)
for i=1,count do for i = 1, count do
list_remove(cardList,card) list_remove(cardList, card)
end end
end end
local function checkCardAndRomve(eventCard,cardList,num) local function checkCardAndRomve(eventCard, cardList, num)
if(checkCard(eventCard,cardList,num)) then if (checkCard(eventCard, cardList, num)) then
removeCard(cardList,eventCard,num) removeCard(cardList, eventCard, num)
return true return true
end end
return false return false
end end
-- 获取列表中牌数量 -- 获取列表中牌数量
local function cardNum(eventCard,cardList) local function cardNum(eventCard, cardList)
local result = 0 local result = 0
for i=1,#cardList do for i = 1, #cardList do
local card = cardList[i] local card = cardList[i]
if (card == eventCard) then if (card == eventCard) then
result = result + 1 result = result + 1
@ -55,15 +55,15 @@ local M = {
function M:push(cardGroup) function M:push(cardGroup)
self.stack[#self.stack+1] = cardGroup self.stack[#self.stack + 1] = cardGroup
end end
function M:rollBack() function M:rollBack()
local cardGroup = self.stack[#self.stack] local cardGroup = self.stack[#self.stack]
table.remove(self.stack,#self.stack) table.remove(self.stack, #self.stack)
for _,card in ipairs(cardGroup) do for _, card in ipairs(cardGroup) do
if (card == zhongid) then if (card == zhongid) then
self.zhong_count = self.zhong_count +1 self.zhong_count = self.zhong_count + 1
else else
self.cardList[#self.cardList + 1] = card self.cardList[#self.cardList + 1] = card
end end
@ -72,14 +72,53 @@ function M:rollBack()
end end
function M:tryShunzi(card) function M:tryShunzi(card)
if (card < 400 and card % 100 > 7) then if card > 400 or card % 100 > 7 then
return false return false
end end
if (checkCard(card + 1, self.cardList) and checkCard(card + 2, self.cardList)) then if (checkCard(card + 1, self.cardList) and checkCard(card + 2, self.cardList)) then
removeCard(self.cardList, card, 1) removeCard(self.cardList, card, 1)
removeCard(self.cardList, card + 1, 1) removeCard(self.cardList, card + 1, 1)
removeCard(self.cardList, card + 2, 1) removeCard(self.cardList, card + 2, 1)
local cardGroup = {card,card+1,card+2} local cardGroup = { card, card + 1, card + 2 }
self:push(cardGroup)
return true
end
return false
end
--特殊牌,风牌也就是东南西北的成顺逻辑,中发白逻辑在普通顺子里
function M:tryFengShunzi(card)
--只有牌里有东南风的时候才能成顺401东风402南方
if self._flag_zikechengshun ~= 0 then
return false
end
local canShunziFeng = { 401, 402 }
for i = 1, #canShunziFeng do
if card == canShunziFeng[i] then
local tempFengList = {}
for j = 1, 4 - i do
if checkCard(405 - j, self.cardList) then
table.insert(tempFengList, 405 - j)
end
end
if #tempFengList >= 2 then
removeCard(self.cardList, card, 1)
removeCard(self.cardList, tempFengList[1], 1)
removeCard(self.cardList, tempFengList[2], 1)
local cardGroup = { card, tempFengList[1], tempFengList[2] }
self:push(cardGroup)
return true
end
end
end
if card < 500 then
return false
end
if (checkCard(card + 1, self.cardList) and checkCard(card + 2, self.cardList)) then
removeCard(self.cardList, card, 1)
removeCard(self.cardList, card + 1, 1)
removeCard(self.cardList, card + 2, 1)
local cardGroup = { card, card + 1, card + 2 }
self:push(cardGroup) self:push(cardGroup)
return true return true
end end
@ -88,7 +127,7 @@ end
function M:tryKezi(card) function M:tryKezi(card)
if (checkCardAndRomve(card, self.cardList, 3)) then if (checkCardAndRomve(card, self.cardList, 3)) then
local cardGroup = {card,card,card} local cardGroup = { card, card, card }
self:push(cardGroup) self:push(cardGroup)
return true return true
end end
@ -100,7 +139,7 @@ function M:tryPair(card)
return false return false
end end
if (checkCardAndRomve(card, self.cardList, 2)) then if (checkCardAndRomve(card, self.cardList, 2)) then
local cardGroup = {card,card} local cardGroup = { card, card }
self:push(cardGroup) self:push(cardGroup)
self.pair_count = 1 self.pair_count = 1
return true return true
@ -108,22 +147,21 @@ function M:tryPair(card)
return false return false
end end
function M:tryKezi1Zhong(card) function M:tryKezi1Zhong(card)
if (self.zhong_count >= 1 and checkCardAndRomve(card, self.cardList,2)) then if (self.zhong_count >= 1 and checkCardAndRomve(card, self.cardList, 2)) then
local cardGroup = {card,card,zhongid} local cardGroup = { card, card, zhongid }
self:push(cardGroup) self:push(cardGroup)
self.zhong_count = self.zhong_count -1 self.zhong_count = self.zhong_count - 1
return true return true
end end
return false return false
end end
function M:tryKezi2Zhong(card) function M:tryKezi2Zhong(card)
if (self.zhong_count >= 2 and checkCardAndRomve(card, self.cardList,1)) then if (self.zhong_count >= 2 and checkCardAndRomve(card, self.cardList, 1)) then
local cardGroup = {card,zhongid,zhongid} local cardGroup = { card, zhongid, zhongid }
self:push(cardGroup) self:push(cardGroup)
self.zhong_count = self.zhong_count -2 self.zhong_count = self.zhong_count - 2
return true return true
end end
return false return false
@ -141,8 +179,8 @@ function M:tryShunzi1Zhong(card)
if (checkCard(card + 1, self.cardList)) then if (checkCard(card + 1, self.cardList)) then
removeCard(self.cardList, card, 1) removeCard(self.cardList, card, 1)
removeCard(self.cardList, card + 1, 1) removeCard(self.cardList, card + 1, 1)
self.zhong_count = self.zhong_count -1 self.zhong_count = self.zhong_count - 1
local cardGroup = {card,card+1,zhongid} local cardGroup = { card, card + 1, zhongid }
self:push(cardGroup) self:push(cardGroup)
return true return true
end end
@ -150,8 +188,8 @@ function M:tryShunzi1Zhong(card)
if (checkCard(card + 2, self.cardList) and ((card + 1) % 100 ~= 0)) then if (checkCard(card + 2, self.cardList) and ((card + 1) % 100 ~= 0)) then
removeCard(self.cardList, card, 1) removeCard(self.cardList, card, 1)
removeCard(self.cardList, card + 2, 1) removeCard(self.cardList, card + 2, 1)
self.zhong_count = self.zhong_count -1 self.zhong_count = self.zhong_count - 1
local cardGroup = {card,zhongid,card+2} local cardGroup = { card, zhongid, card + 2 }
self:push(cardGroup) self:push(cardGroup)
return true return true
end end
@ -166,9 +204,9 @@ function M:tryPair1Zhong(card)
return false return false
end end
removeCard(self.cardList, card, 1) removeCard(self.cardList, card, 1)
local cardGroup = {card,zhongid} local cardGroup = { card, zhongid }
self:push(cardGroup) self:push(cardGroup)
self.zhong_count = self.zhong_count -1 self.zhong_count = self.zhong_count - 1
self.pair_count = 1 self.pair_count = 1
return true return true
end end
@ -180,9 +218,9 @@ function M:tryPair2Zhong()
if (self.zhong_count < 2) then if (self.zhong_count < 2) then
return false return false
end end
local cardGroup = {zhongid,zhongid} local cardGroup = { zhongid, zhongid }
self:push(cardGroup) self:push(cardGroup)
self.zhong_count = self.zhong_count -2 self.zhong_count = self.zhong_count - 2
self.pair_count = 1 self.pair_count = 1
return true return true
end end
@ -225,6 +263,13 @@ function M:tryWin()
self:rollBack() self:rollBack()
end end
if (self:tryFengShunzi(activeCard)) then
if (self:tryWin()) then
return true
end
self:rollBack()
end
if (self:tryKezi1Zhong(activeCard)) then if (self:tryKezi1Zhong(activeCard)) then
if (self:tryWin()) then if (self:tryWin()) then
return true return true
@ -233,7 +278,6 @@ function M:tryWin()
end end
if (self:tryKezi2Zhong(activeCard)) then if (self:tryKezi2Zhong(activeCard)) then
if (self:tryWin()) then if (self:tryWin()) then
return true return true
end end
@ -271,16 +315,16 @@ function M:checkQidui()
end end
function M:isQdPari(cardList) function M:isQdPari(cardList)
if(self.qidui_pari_count == 7) then if (self.qidui_pari_count == 7) then
return true return true
end end
if (#cardList== 0) then if (#cardList == 0) then
return true return true
end end
local card = cardList[1] local card = cardList[1]
if (cardNum(card, cardList) >= 2) then if (cardNum(card, cardList) >= 2) then
removeCard(cardList, card, 2) removeCard(cardList, card, 2)
self.qidui_pari_count = self.qidui_pari_count +1 self.qidui_pari_count = self.qidui_pari_count + 1
if (self:isQdPari(cardList)) then if (self:isQdPari(cardList)) then
return true return true
end end
@ -289,7 +333,7 @@ function M:isQdPari(cardList)
if (self.hongzhong_count > 0) then if (self.hongzhong_count > 0) then
removeCard(cardList, card, 1) removeCard(cardList, card, 1)
self.hongzhong_count = self.hongzhong_count - 1 self.hongzhong_count = self.hongzhong_count - 1
self.qidui_pari_count = self.qidui_pari_count +1 self.qidui_pari_count = self.qidui_pari_count + 1
if (self:isQdPari(cardList)) then if (self:isQdPari(cardList)) then
return true return true
end end
@ -297,49 +341,76 @@ function M:isQdPari(cardList)
return false return false
end end
local function init(self,cardInhand,addCard,isZhong,qidui,eightLaizi) function M:checkshisanlan()
if (not self.shisanlan) then
return false
end
if ((#self.cardList + self.zhong_count) ~= 14) then
return false
end
local cardList = membe_clone(self.cardList)
self.hongzhong_count = self.zhong_count
return self:isShiSanLan(cardList, table.remove(cardList, 1))
end
function M:isShiSanLan(cardList, card)
if (#cardList == 0) then
return true
end
if card < 400 then
if not (checkCard(card, cardList) or checkCard(card + 1, cardList) or checkCard(card + 2, cardList)) then
return self:isShiSanLan(cardList, table.remove(cardList, 1))
end
else
if not checkCard(card, cardList) then
return self:isShiSanLan(cardList, table.remove(cardList, 1))
end
end
return false
end
--._flag_haveLaizi, data._hu_qidui, data._data_laizi
local function init(self, cardInhand, addCard, data)
self.stack = {} self.stack = {}
self.pair_count = 0 self.pair_count = 0
self.cardList = membe_clone(cardInhand) self.cardList = membe_clone(cardInhand)
self.qidui = qidui self.qidui = data._hu_qidui
self.eight_laizi = eightLaizi self.shisanlan = data._hu_shisanlan
self.cardList[#self.cardList+1] = addCard self.eight_laizi = nil
if (isZhong) then self.cardList[#self.cardList + 1] = addCard
if (data._flag_haveLaizi) then
self.zhong_count = cardNum(zhongid, self.cardList) self.zhong_count = cardNum(zhongid, self.cardList)
removeCard(self.cardList, zhongid, self.zhong_count) removeCard(self.cardList, zhongid, self.zhong_count)
end end
table.sort(self.cardList) table.sort(self.cardList)
--printlog("添加排序====>>>") --printlog("添加排序====>>>")
--pt(self.cardList) --pt(self.cardList)
return self:checkQidui() or self:tryWin() return self:checkQidui() or self:checkshisanlan() or self:tryWin()
end end
local specialCardList = { 401, 402, 403, 404, 405, 406, 407 } local specialCardList = { 401, 402, 403, 404, 501, 502, 503 }
function M.tingPai(cardInhand, isZhong, qidui, eightLaizi) function M.tingPai(cardInhand, data)
-- printlog("isZhong", isZhong) data = data or {}
-- printlog("qidui", qidui)
-- printlog("eightLaizi", eightLaizi)
-- pt(cardInhand)
local self = setmetatable({}, { __index = M }) local self = setmetatable({}, { __index = M })
local tingList = {} local tingList = {}
if not cardInhand or #cardInhand == 0 then if not cardInhand or #cardInhand == 0 then
return tingList return tingList
end end
for k=100,300,100 do for k = 100, 300, 100 do
for i=1,9 do for i = 1, 9 do
local tem = k + i local tem = k + i
local result = init(self,cardInhand,tem,isZhong,qidui,eightLaizi) local result = init(self, cardInhand, tem, data)
--printlog("返回结果为===>>>",result) --printlog("返回结果为===>>>",result)
if(result) then if (result) then
tingList[#tingList + 1] = tem tingList[#tingList + 1] = tem
end end
end end
end end
for j=1,#specialCardList do for j = 1, #specialCardList do
local tem = specialCardList[j] local tem = specialCardList[j]
local result = init(self,cardInhand,tem,isZhong,qidui,eightLaizi) local result = init(self, cardInhand, tem, data)
if(result) then if (result) then
tingList[#tingList + 1] = tem tingList[#tingList + 1] = tem
end end
end end
@ -347,32 +418,33 @@ function M.tingPai(cardInhand, isZhong, qidui, eightLaizi)
return tingList return tingList
end end
function M.MuiltiplteCaculateTingPai(cardInhand,isZhong,qidui,eightLaizi) function M.MuiltiplteCaculateTingPai(cardInhand, isZhong, qidui, eightLaizi)
if DataManager.CurrenRoom.laiziInfo and #DataManager.CurrenRoom.laiziInfo>0 then local room = DataManager.CurrenRoom
zhongid=DataManager.CurrenRoom.laiziInfo[1]
local tempTingList2={} if room.laiziInfo and #room.laiziInfo > 0 then
local tempTingList1=M.tingPai(cardInhand,isZhong,qidui,eightLaizi) zhongid = room.laiziInfo[1]
if DataManager.CurrenRoom.laiziInfo[2] then local tempTingList2 = {}
zhongid=DataManager.CurrenRoom.laiziInfo[2] local tempTingList1 = M.tingPai(cardInhand, isZhong, qidui, eightLaizi)
tempTingList2=M.tingPai(cardInhand,isZhong,qidui,eightLaizi) if room.laiziInfo[2] then
zhongid=DataManager.CurrenRoom.laiziInfo[1] zhongid = room.laiziInfo[2]
tempTingList2 = M.tingPai(cardInhand, isZhong, qidui, eightLaizi)
zhongid = room.laiziInfo[1]
end end
local currentTingList={} local currentTingList = {}
if #tempTingList1>0 and #tempTingList2>0 then if #tempTingList1 > 0 and #tempTingList2 > 0 then
currentTingList=CombineDictionaryAndRemoveSomeItem(tempTingList1,tempTingList2) currentTingList = CombineDictionaryAndRemoveSomeItem(tempTingList1, tempTingList2)
elseif #tempTingList1>0 then elseif #tempTingList1 > 0 then
currentTingList=tempTingList1 currentTingList = tempTingList1
elseif #tempTingList2>0 then elseif #tempTingList2 > 0 then
currentTingList=tempTingList2 currentTingList = tempTingList2
end end
return currentTingList return currentTingList
else else
zhongid=0 M._flag_zikechengshun = room.room_config.config.zikechengshun or 0
return M.tingPai(cardInhand,isZhong,qidui,eightLaizi) zhongid = 0
return M.tingPai(cardInhand, isZhong, qidui, eightLaizi)
end end
end end
return M return M

View File

@ -252,11 +252,26 @@ function M:fillResult0(room, peopleNum, result)
end end
end end
handCardList.numItems = handInfoNum handCardList.numItems = handInfoNum
allCardsList.width = 234 * fzInfoNum + 82 + (handInfoNum - 1) * 79 + 10 * (fzInfoNum) --拿取实际的子项大小
local handCard = 78
local hangColumGrap = -4
local fzCard = 234
local fzColumGrap = 36
handCard = handCardList:GetChildAt(handInfoNum - 1).width
hangColumGrap = handCard + handCardList.columnGap
if fzInfoNum > 0 then
fzCard = allCardsList:GetChildAt(0).width
fzColumGrap = allCardsList.columnGap
end
allCardsList.width = fzCard * fzInfoNum + handCard + (handInfoNum - 1) * hangColumGrap +
fzColumGrap * (fzInfoNum)
if infoList.seat == room.self_player.seat then if infoList.seat == room.self_player.seat then
isMeCtr.selectedIndex = 1 isMeCtr.selectedIndex = 1
end end
if infoList.seat == room.self_player.seat then
isMeCtr.selectedIndex = 1
end
if infoList.seat == room.banker_seat then if infoList.seat == room.banker_seat then
isZhuang.selectedIndex = 1 isZhuang.selectedIndex = 1

View File

@ -65,7 +65,31 @@ function M:InitView(url)
self.showNextCtr = self._view:GetController('showNext') self.showNextCtr = self._view:GetController('showNext')
self.showNextList = self._view:GetChild('list_showNext') self.showNextList = self._view:GetChild('list_showNext')
self._view:GetChild('btn_showNext').onClick:Set(function() self._view:GetChild('btn_showNext').onClick:Set(function()
coroutine.start(function()
local time = 0
ViewUtil:ShowModalWait2(0.01)
while not self._flag_getRemindCard do
if time > 20 then
break
end
coroutine.wait(0.05)
end
ViewUtil.CloseModalWait2()
if self._flag_getRemindCard then
self.showNextCtr.selectedIndex = 1
self.showNextList:SetVirtual()
self.showNextList.itemRenderer = function(index, obj)
local card = self.cardSet[index + 1]
self:FillShowCards(obj, card, self.cardMap[card])
obj.data = { card = card }
end
self.showNextList.numItems = #self.cardSet
time = time + 1
else
self:reqResidueCard() self:reqResidueCard()
end
end)
end) end)
self._view:GetChild('btn_closeShow').onClick:Set(function() self._view:GetChild('btn_closeShow').onClick:Set(function()
self.showNextCtr.selectedIndex = 0 self.showNextCtr.selectedIndex = 0
@ -167,13 +191,10 @@ function M:UpdatePlayerInfoView()
end end
function M:NewMJPlayerCardInfoView(view, index) function M:NewMJPlayerCardInfoView(view, index)
return MJMainView.NewMJPlayerCardInfoView(self, view, index)
--[[
if index == 1 then if index == 1 then
return MJPlayerSelfCardInfoView.new(view, self) return MJPlayerSelfCardInfoView.new(view, self, nil, "S")
end end
return MJPlayerCardInfoView.new(view, self) return MJMainView.NewMJPlayerCardInfoView(self, view, index)
]]
end end
function M:EventInit() function M:EventInit()
@ -215,6 +236,7 @@ function M:EventInit()
--self._viewText_testName.text = 0 --self._viewText_testName.text = 0
self:UpdateRound() self:UpdateRound()
self:RemoveCursor() self:RemoveCursor()
self:reqResidueCard()
self._state.selectedIndex = 1 self._state.selectedIndex = 1
self:ShowJing() self:ShowJing()
if self._niao_View then if self._niao_View then
@ -232,6 +254,9 @@ function M:EventInit()
local card_info = self._player_card_info[self:GetPos(p.seat)] local card_info = self._player_card_info[self:GetPos(p.seat)]
card_info:Clear() card_info:Clear()
card_info:UpdateHandCard() card_info:UpdateHandCard()
if _room.curren_round == 1 then
self._touxiangMove:Play()
end
end end
end) end)
_gamectr:AddEventListener(TX_GameEvent.EventTurn, function(...) _gamectr:AddEventListener(TX_GameEvent.EventTurn, function(...)
@ -264,7 +289,8 @@ function M:EventInit()
info:UpdateHandCard() info:UpdateHandCard()
local outcard = UIPackage.CreateObjectFromURL(_gcm_outcard_url) local outcard = UIPackage.CreateObjectFromURL(_gcm_outcard_url)
info:UpdateOutCardList(outcard, card, self._cursor) info:UpdateOutCardList(outcard, card, self._cursor)
self._player_card_info[1]._ctr_tip.selectedIndex = 0
self._player_card_info[1]._ctr_showGuoHu.selectedIndex = 0
self:PlayMJSound("chupai.mp3") self:PlayMJSound("chupai.mp3")
self:PlaySound("NanCheng_MJ", p.self_user.sex, tostring(card)) self:PlaySound("NanCheng_MJ", p.self_user.sex, tostring(card))
if seat == _room.self_player.seat then if seat == _room.self_player.seat then
@ -273,6 +299,7 @@ function M:EventInit()
end) end)
_gamectr:AddEventListener(TX_GameEvent.GetCard, function(...) _gamectr:AddEventListener(TX_GameEvent.GetCard, function(...)
self:__CloseTip() self:__CloseTip()
self:reqResidueCard()
local arg = { ... } local arg = { ... }
local seat = arg[1] local seat = arg[1]
local card = arg[2] local card = arg[2]
@ -281,6 +308,12 @@ function M:EventInit()
-- self:UpdateRoomInfo() -- self:UpdateRoomInfo()
local info = self._player_card_info[self:GetPos(seat)] local info = self._player_card_info[self:GetPos(seat)]
info:UpdateHandCard(true) info:UpdateHandCard(true)
if self:GetPos(seat) == 1 then
info:ShowHuTip()
self._btn_selectTing.visible = false
info._ctr_tip.selectedIndex = 0
info._ctr_showGuoHu.selectedIndex = 0
end
end) end)
_gamectr:AddEventListener(TX_GameEvent.FZTips, function(...) _gamectr:AddEventListener(TX_GameEvent.FZTips, function(...)
@ -543,26 +576,19 @@ function M:EventInit()
_gamectr:AddEventListener(TX_GameEvent.EventResidueCard, function(...) _gamectr:AddEventListener(TX_GameEvent.EventResidueCard, function(...)
local arg = { ... } local arg = { ... }
local residueCard = arg[1] local residueCard = arg[1]
local cardMap = {} self.cardMap = {}
local cardSet = {} self.cardSet = {}
self.showNextCtr.selectedIndex = 1
for i = 1, #residueCard do for i = 1, #residueCard do
local cardNum = residueCard[i] local cardNum = residueCard[i]
if not cardMap[cardNum] then if not self.cardMap[cardNum] then
cardMap[cardNum] = 1 self.cardMap[cardNum] = 1
table.insert(cardSet, cardNum) table.insert(self.cardSet, cardNum)
else else
cardMap[cardNum] = cardMap[cardNum] + 1 self.cardMap[cardNum] = self.cardMap[cardNum] + 1
end end
end end
table.sort(cardSet) table.sort(self.cardSet)
self.showNextList:SetVirtual() self._flag_getRemindCard = true
self.showNextList.itemRenderer = function(index, obj)
local card = cardSet[index + 1]
self:FillShowCards(obj, card, cardMap[card])
obj.data = { card = card }
end
self.showNextList.numItems = #cardSet
end) end)
--替换mianview的事件 --替换mianview的事件
@ -592,10 +618,15 @@ function M:OutCard(card)
local info = self._player_card_info[1] local info = self._player_card_info[1]
self:RemoveCursor() self:RemoveCursor()
info:UpdateHandCard() info:UpdateHandCard()
info:UpdateOutCardList(nil, card, self._cursor)
info._ctr_tip.selectedIndex = 0 info._ctr_tip.selectedIndex = 0
info._ctr_showGuoHu.selectedIndex = 0 info._ctr_showGuoHu.selectedIndex = 0
info:UpdateOutCardList(nil, card, self._cursor)
info:ShowHuTip()
if #info:GetTingList(DataManager.CurrenRoom.self_player.card_list) > 0 then
self._btn_selectTing.visible = true
else
self._btn_selectTing.visible = false
end
self:markOutCards(false, card) self:markOutCards(false, card)
self:PlaySound("NanCheng_MJ", self._room.self_player.self_user.sex, tostring(card)) self:PlaySound("NanCheng_MJ", self._room.self_player.self_user.sex, tostring(card))
self:PlayMJSound("chupai.mp3") self:PlayMJSound("chupai.mp3")
@ -904,6 +935,11 @@ function M:ReloadRoom(bskip)
if p.seat == room.last_outcard_seat then if p.seat == room.last_outcard_seat then
local card = p.outcard_list[#p.outcard_list] local card = p.outcard_list[#p.outcard_list]
info:UpdateOutCardList(nil, card, self._cursor) info:UpdateOutCardList(nil, card, self._cursor)
if self:GetPos(p.seat) == 1 and #info:GetTingList(DataManager.CurrenRoom.self_player.card_list) > 0 then
self._btn_selectTing.visible = true
else
self._btn_selectTing.visible = false
end
elseif p.seat == room.curren_outcard_seat then elseif p.seat == room.curren_outcard_seat then
info:UpdateHandCard(true) info:UpdateHandCard(true)
info:UpdateOutCardList() info:UpdateOutCardList()
@ -963,6 +999,7 @@ end
-----------------------展示牌---------------------------- -----------------------展示牌----------------------------
function M:reqResidueCard() function M:reqResidueCard()
self._flag_getRemindCard = false
local _gamectr = ControllerManager.GetController(GameController) local _gamectr = ControllerManager.GetController(GameController)
_gamectr:ReqResidueCard() _gamectr:ReqResidueCard()
end end

View File

@ -4,32 +4,33 @@ local CardCheck = import(".CardCheck")
local M = {} local M = {}
-- --
function M.new(view, mainView) function M.new(view, mainView, record, direction)
setmetatable(MJPlayerSelfCardInfoView, { __index = MJPlayerCardInfoView }) setmetatable(MJPlayerSelfCardInfoView, { __index = MJPlayerCardInfoView })
setmetatable(M, { __index = MJPlayerSelfCardInfoView }) setmetatable(M, { __index = MJPlayerSelfCardInfoView })
local self = setmetatable({}, { __index = M }) local self = setmetatable({}, { __index = M })
self.class = "PlayerSelfCardInfoView" self.class = "PlayerSelfCardInfoView"
self._view = view self._view = view
self._mainView = mainView self._mainView = mainView
self.direction = direction
self._flag_canTing = true
self:init() self:init()
return self return self
end end
-- function M:ShowHuTip(card_list) function M:init()
-- printlog("ShowHuTip") getmetatable(M).__index.init(self)
-- local tingList = CardCheck.MuiltiplteCaculateTingPai(card_list, true, DataManager.CurrenRoom.room_config.Qidui, end
-- DataManager.CurrenRoom.room_config.Laizi)
-- if #tingList > 0 then function M:ShowHuTip(card_list, have_bg)
-- if DataManager.CurrenRoom.laiziInfo and #DataManager.CurrenRoom.laiziInfo > 0 then self._mainView._hu_tip:FillData(self:GetTingList(card_list), have_bg)
-- for i = 1, #DataManager.CurrenRoom.laiziInfo do end
-- if IsHasDictionary(DataManager.CurrenRoom.laiziInfo[i], tingList) == false then
-- table.insert(tingList, DataManager.CurrenRoom.laiziInfo[i]) function M:GetTingList(card_list)
-- end if not self._flag_canTing then
-- end return {}
-- end end
-- end return CardCheck.MuiltiplteCaculateTingPai(card_list, { _hu_qidui = true, _hu_shisanlan = true })
-- self._mainView._hu_tip:FillData(tingList) end
-- end
function M:UpdateHandCard(getcard, mp) function M:UpdateHandCard(getcard, mp)
MJPlayerSelfCardInfoView.UpdateHandCard(self, getcard, mp) MJPlayerSelfCardInfoView.UpdateHandCard(self, getcard, mp)

View File

@ -566,7 +566,7 @@ function M:EventInit()
-- end -- end
-- end -- end
self._leftClock_continue = coroutine.start(function() self._leftClock_continue = coroutine.start(function()
coroutine.wait(1.2) coroutine.wait(1)
for i = 1, #self._player_card_info do for i = 1, #self._player_card_info do
local card_info = self._player_card_info[i] local card_info = self._player_card_info[i]
if i == index then if i == index then

View File

@ -98,6 +98,7 @@ function M:FillRoomData(data)
-- print("hidezhanji 1111") -- print("hidezhanji 1111")
self._currentStep = 1 self._currentStep = 1
local room = DataManager.CurrenRoom local room = DataManager.CurrenRoom
self._room = DataManager.CurrenRoom
local _player_card_info = self._player_card_info local _player_card_info = self._player_card_info
local roominfo_panel = self._view:GetChild('roominfo_panel1') local roominfo_panel = self._view:GetChild('roominfo_panel1')
@ -128,10 +129,11 @@ function M:FillRoomData(data)
head_info:UpdatePiao(p.piao) head_info:UpdatePiao(p.piao)
end end
self:UpdateRound() self:UpdateRound(self._room.curren_round)
self:GenerateAllStepData(data) self:GenerateAllStepData(data)
self:ShowStep(1) self:ShowStep(1)
self:Play()
end end
function M:ShowStep(index) function M:ShowStep(index)
@ -152,6 +154,7 @@ function M:ShowStep(index)
else else
info:InitPoker(p.hand_list, false) info:InitPoker(p.hand_list, false)
end end
info:SetOutCardInfo(nil, false)
end end
if step.cmd == RunFast_Record_Event.Evt_OutCard then if step.cmd == RunFast_Record_Event.Evt_OutCard then
@ -302,9 +305,17 @@ function M:ClearNextSeatOutCard(currenOutCardSeat)
card_info:SetOutCardInfo(nil, false) card_info:SetOutCardInfo(nil, false)
end end
function M:UpdateRound() function M:UpdateRound(round)
local round = self._room.curren_round local total_round = self._room.room_config.Times
self._tex_round.text = string.format('第 %d 局', round) -- self._text_round.text = string.format("%d / %d 局", round, total_round)
if not self._text_currenRound then
self._text_currenRound = self._view:GetChild('Text_CurrenRound')
end
if not self._text_maxRound then
self._text_maxRound = self._view:GetChild('Text_MaxMaxRound')
end
self._text_currenRound.text = round
self._text_maxRound.text = string.format("/%s局", total_round)
end end
function M:NextRecordPlay() function M:NextRecordPlay()
@ -338,77 +349,6 @@ function M:LastRecordPlay()
end end
end end
function M:Play()
self:ChangeAlpha()
self:ChangePlayState(not self._play)
if not self._play then
return
end
if (self._currentStep == #self.cmdList and self._playFoward) or (self._currentStep == 0 and not self._playFoward) then
self._currentStep = 0
self._speed = 1
self._playFoward = true
self:ChangeTextSpeed()
end
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
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 '快退')
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
end
function M:CmdLeftArrows()
self:ChangeAlpha()
self:ChangePlayState(true)
if not self._playFoward then
if self._speed < 16 then
self._speed = self._speed * 2
else
self._speed = 1
end
self:ChangeTextSpeed()
else
self._speed = 1
self._playFoward = false
self:ChangeTextSpeed()
end
end
function M:CmdRightArrows()
self:ChangeAlpha()
self:ChangePlayState(true)
if self._playFoward then
if self._speed < 16 then
self._speed = self._speed * 2
else
self._speed = 1
end
self:ChangeTextSpeed()
else
self._speed = 1
self._playFoward = true
self:ChangeTextSpeed()
end
end
function M:OnUpdate() function M:OnUpdate()
if self._play then if self._play then
if (self._currentStep == #self.cmdList + 1 and self._playFoward) then if (self._currentStep == #self.cmdList + 1 and self._playFoward) then

View File

@ -29,7 +29,8 @@ function M:init()
self.ctr_outpoker = view:GetController("output") self.ctr_outpoker = view:GetController("output")
self.outpoker_list = view:GetChild(self.out_card_data["parent"]) self.outpoker_list = view:GetChild(self.out_card_data["parent"])
self.hand_card_list = view:GetChild("hand_card_list") -- self.hand_card_list = view:GetChild("hand_card_list")
self.hand_card_list = view:GetChild("list_backHand")
self.ctr_one_card = view:GetController("one_card") self.ctr_one_card = view:GetController("one_card")
self.eff_one_card = view:GetChild("one_card_eff"):GetTransition("t0") self.eff_one_card = view:GetChild("one_card_eff"):GetTransition("t0")
@ -314,8 +315,9 @@ function M:UpdateHandPoker(cardList, isPlayAni, isMing)
else else
for i = card_length, 1, -1 do for i = card_length, 1, -1 do
local code = isMing == true and new_card_list[i] or 0 local code = isMing == true and new_card_list[i] or 0
local poker = self:CreatPoker1(code, 0.4) local card_number_code = self:ChangeOneCodeByFrom(cardList[i])
self.hand_card_list:AddChild(poker) local btn_card = self.hand_card_list:AddItemFromPool()
self:FillPoker(btn_card, "", card_number_code)
end end
end end
end end
@ -430,6 +432,15 @@ function M:PlayEffect(type, callback)
end, Time.deltaTime, 1, false):Start() end, Time.deltaTime, 1, false):Start()
end end
function M:ChangeOneCodeByFrom(card)
local flower = math.floor(card / 100)
local number = card % 100
if number == 2 then
number = 15
end
return number * 10 + flower
end
function M:FillPoker(poker, prefix, num, code) function M:FillPoker(poker, prefix, num, code)
if num ~= nil then if num ~= nil then
code = self:ChangeCodeByTo(num) code = self:ChangeCodeByTo(num)

View File

@ -1237,15 +1237,6 @@ function M:GetHandCardPos1(index, card_count)
return x, y return x, y
end end
function M:ChangeOneCodeByFrom(card)
local flower = math.floor(card / 100)
local number = card % 100
if number == 2 then
number = 15
end
return number * 10 + flower
end
function M:ErrorTip(error_text) function M:ErrorTip(error_text)
if self.cor_init_poker ~= nil then if self.cor_init_poker ~= nil then
coroutine.stop(self.cor_init_poker) coroutine.stop(self.cor_init_poker)

View File

@ -39,7 +39,7 @@ function M:init()
self._main_view._view:AddChild(self._view) self._main_view._view:AddChild(self._view)
-- 初始位置 -- 初始位置
self._view:Center() self._view:Center()
self._view.y = GRoot.inst.height * 0.723 self._view.y = GRoot.inst.height * 0.8085
SetObjEnabled(self._view, false) SetObjEnabled(self._view, false)
-- self._view.onTouchBegin:Add(handler(self, self.OnTouchBegin)) -- self._view.onTouchBegin:Add(handler(self, self.OnTouchBegin))
-- self._view.onTouchMove:Add(handler(self, self.OnTouchMove)) -- self._view.onTouchMove:Add(handler(self, self.OnTouchMove))
@ -67,20 +67,35 @@ end
-- end -- end
-- end -- end
function M:FillData(cards, posX) function M:FillData(cards, have_bg)
-- local btn_showtip = self._main_view._view:GetChild("btn_showtip") -- local btn_showtip = self._main_view._view:GetChild("btn_showtip")
local lst_card = self._view:GetChild("lst_card") local lst_card = self._view:GetChild("lst_card")
lst_card:SetVirtual() lst_card:RemoveChildrenToPool()
local num = #cards local num = #cards
if num > 0 then if num > 0 then
if num == lst_card.numItems then for i = 1, num do
lst_card:RefreshVirtualList() local item = lst_card:AddItemFromPool()
else item.icon = "ui://Main_Majiang/b202_" .. cards[i]
lst_card.numItems = num item.text = string.format("剩%d张", self._main_view.cardMap[cards[i]] or 0)
end end
lst_card:ResizeToFit(num)
SetObjEnabled(self._view, true)
else else
SetObjEnabled(self._view, false) SetObjEnabled(self._view, false)
end end
if have_bg then
self._view_bg = UIPackage.CreateObjectFromURL("ui://Main_Majiang/btn_bg")
self._main_view._view:AddChild(self._view_bg)
self._view_bg:GetChild('n3').color = Color(1, 1, 1, 0)
-- self._view_bg:Center()
self._view_bg.width = GRoot.inst.width
self._view_bg.height = GRoot.inst.height
self._view_bg.onClick:Set(function()
self._view_bg:RemoveFromParent()
self._view_bg:Dispose()
SetObjEnabled(self._view, false)
end)
end
end end
function M:GetPrefix() function M:GetPrefix()

View File

@ -223,8 +223,21 @@ function M:fillResult0(room, peopleNum, result)
end end
end end
handCardList.numItems = handInfoNum handCardList.numItems = handInfoNum
allCardsList.width = 234 * fzInfoNum + 84 + (handInfoNum - 1) * 80 + 36 * (fzInfoNum) --拿取实际的子项大小
local handCard = 78
local hangColumGrap = -4
local fzCard = 234
local fzColumGrap = 36
handCard = handCardList:GetChildAt(handInfoNum - 1).width
hangColumGrap = handCardList.columnGap
if fzInfoNum > 0 then
fzCard = allCardsList:GetChildAt(0).width
fzColumGrap = allCardsList.columnGap
end
allCardsList.width = fzCard * fzInfoNum + handCard + (handInfoNum - 1) * hangColumGrap +
fzColumGrap * (fzInfoNum)
printlog("lingmeng grap", fzCard * fzInfoNum + handCard + (handInfoNum - 1) * hangColumGrap +
fzColumGrap * (fzInfoNum), allCardsList.width)
if infoList.seat == room.self_player.seat then if infoList.seat == room.self_player.seat then
isMeCtr.selectedIndex = 1 isMeCtr.selectedIndex = 1
end end

View File

@ -202,6 +202,11 @@ function M:InitView(url, use_custom_bg, custom_bg_config)
self._touxiangMove = self._view:GetTransition('touxiangMove') self._touxiangMove = self._view:GetTransition('touxiangMove')
--闹钟倒计时报时 --闹钟倒计时报时
self._leftTime_xiangling = 3 self._leftTime_xiangling = 3
--听牌按钮
self._btn_selectTing = self._view:GetChild('btn_selectTing')
self._btn_selectTing.onClick:Set(function()
self._player_card_info[1]:ShowHuTip(DataManager.CurrenRoom.self_player.card_list, true)
end)
end end
function M:ClickSetting() function M:ClickSetting()

View File

@ -1,6 +1,7 @@
local MJPlayerCardInfoView = import(".MJPlayerCardInfoView") local MJPlayerCardInfoView = import(".MJPlayerCardInfoView")
local MJPlayerSelfCardInfoView = import(".MJPlayerSelfCardInfoView") local MJPlayerSelfCardInfoView = import(".MJPlayerSelfCardInfoView")
local TableBG = import('Game.Data.TableBG') local TableBG = import('Game.Data.TableBG')
local MJMainView = import(".MJMainView")
--- ---
local M = {} local M = {}
@ -67,7 +68,43 @@ function M:SetCardBoxPosition()
end end
function M:NewMJPlayerCardInfoView(view, index) function M:NewMJPlayerCardInfoView(view, index)
return MJPlayerCardInfoView.new(view, self, 1) return MJMainView.NewMJPlayerCardInfoView(self, view, index)
--[[
if index == 1 then
return MJPlayerSelfCardInfoView.new(view, self)
end
return MJPlayerCardInfoView.new(view, self)
]]
end
function M:markOutCards(showTip, data)
MJMainView.markOutCards(self, showTip, data)
-- for i = 1, #self._room.player_list do
-- local p = self._room.player_list[i]
-- local info = self._player_card_info[self:GetPos(p.seat)]
-- -- for j = 1, #p.outcard_list do
-- -- local card = p.outcard_list[j]
-- -- if card == data then
-- -- for k = 1, #p.outcard_list do
-- -- local obj = info:GetOutCardByIndex(k)
-- -- if obj.data == card then
-- -- obj:GetController("gray").selectedIndex = showTip and 1 or 0
-- -- end
-- -- end
-- -- end
-- -- end
-- for j = 1, info._view_outCardList.numItems do
-- local card = p.outcard_list[j]
-- if card == data then
-- for k = 1, info._view_outCardList.numItems do
-- local obj = info:GetOutCardByIndex(k)
-- if obj.data == card then
-- obj:GetController("gray").selectedIndex = showTip and 1 or 0
-- end
-- end
-- end
-- end
-- end
end end
function M:NextRecordPlay() function M:NextRecordPlay()
@ -120,6 +157,13 @@ function M:ChangePlayState(state)
else else
btn_play:GetController("state").selectedIndex = 0 btn_play:GetController("state").selectedIndex = 0
end end
--开始时,隐藏显示结算界面
if state then
if self.result then
self.result:Destroy()
self.result = nil
end
end
end end
function M:ChangeTextSpeed() function M:ChangeTextSpeed()

View File

@ -33,6 +33,7 @@ function M:init()
self._area_allDown.onClick:Set(function() self._area_allDown.onClick:Set(function()
self:ClearChoose() self:ClearChoose()
self:ShowHuTip()
end) end)
self._viewBtn_buGuoHu.onClick:Set(function() self._viewBtn_buGuoHu.onClick:Set(function()
@ -87,7 +88,7 @@ function M:UpdateHandCard(getcard, mp)
end end
self:FillHandCard(i, btn_card, tem_card, true) self:FillHandCard(i, btn_card, tem_card, true)
local tingList = {} local tingList = {}
if getcard then if getcard and self.GetTingList then
tingList = self:GetTingList(self:RemoverCardListByIndexGetCardList(i)) tingList = self:GetTingList(self:RemoverCardListByIndexGetCardList(i))
end end
btn_card:GetController('ting').selectedIndex = (tingList and #tingList > 0) and 1 or 0 btn_card:GetController('ting').selectedIndex = (tingList and #tingList > 0) and 1 or 0
@ -163,8 +164,6 @@ function M:onTouchMove(context)
end end
end end
else else
print("lingmengonTouchMove", chooseIndex, self._view_handCardList.numItems)
self.ischoose = true self.ischoose = true
if self._view_handCardList.selectedIndex ~= chooseIndex then if self._view_handCardList.selectedIndex ~= chooseIndex then
self:ChooseHand(chooseIndex) self:ChooseHand(chooseIndex)
@ -294,7 +293,7 @@ function M:__OnClickGetCard(context, flag)
self._click_index = self._view_handCardList.selectedIndex self._click_index = self._view_handCardList.selectedIndex
local button = context.sender local button = context.sender
local _room = DataManager.CurrenRoom local _room = DataManager.CurrenRoom
self:ShowHuTip(self:RemoverCardListByIndexGetCardList(self._view_handCardList.numItems))
if _room.curren_outcard_seat == _room.self_player.seat then if _room.curren_outcard_seat == _room.self_player.seat then
if self._mainView.clickMode == "single" or Utils.IsDoubleClick(context) or self._flag_seletedGet == 1 then if self._mainView.clickMode == "single" or Utils.IsDoubleClick(context) or self._flag_seletedGet == 1 then
local card = button.data local card = button.data
@ -321,6 +320,7 @@ function M:ChooseHand(index)
self._view_handCardList.selectedIndex = index self._view_handCardList.selectedIndex = index
self._ctr_seletedGet.selectedIndex = 1 self._ctr_seletedGet.selectedIndex = 1
self._flag_seletedGet = 0 self._flag_seletedGet = 0
self:ShowHuTip(self:RemoverCardListByIndexGetCardList(self._view_handCardList.selectedIndex))
end end
function M:ChooseOut() function M:ChooseOut()
@ -329,6 +329,7 @@ function M:ChooseOut()
self._view_handCardList.selectedIndex = -1 self._view_handCardList.selectedIndex = -1
self._ctr_seletedGet.selectedIndex = 0 self._ctr_seletedGet.selectedIndex = 0
self._flag_seletedGet = 1 self._flag_seletedGet = 1
self:ShowHuTip(self:RemoverCardListByIndexGetCardList(self._view_handCardList.numItems))
end end
function M:ClearChoose() function M:ClearChoose()

View File

@ -2,44 +2,55 @@ local TableBG = import('Game.Data.TableBG')
local M = {} local M = {}
setmetatable(M,{__index = PlayBackView}) setmetatable(M, { __index = PlayBackView })
local pk_default_bg = 1 local pk_default_bg = 1
local pk_bg_config = { local pk_bg_config = {
{id = 1, url = "base/main_poker/bg/bg1", thumb = "ui://Main_Poker/bg1"}, { id = 1, url = "base/main_poker/bg/bg1", thumb = "ui://Main_Poker/bg1" },
{id = 2, url = "base/main_poker/bg/bg2", thumb = "ui://Main_Poker/bg2"}, { id = 2, url = "base/main_poker/bg/bg2", thumb = "ui://Main_Poker/bg2" },
{id = 3, url = "base/main_poker/bg/bg3", thumb = "ui://Main_Poker/bg3"}, { id = 3, url = "base/main_poker/bg/bg3", thumb = "ui://Main_Poker/bg3" },
} }
function M:InitView(url, ex_defaultbg, ex_bgconfig) function M:InitView(url, ex_defaultbg, ex_bgconfig)
UIPackage.AddPackage("base/main_poker/ui/Main_Poker") UIPackage.AddPackage("base/main_poker/ui/Main_Poker")
PlayBackView.InitView(self,url) PlayBackView.InitView(self, url)
local _view = self._view local _view = self._view
local default_bg = ex_defaultbg or pk_default_bg local default_bg = ex_defaultbg or pk_default_bg
local bg_config = ex_bgconfig or pk_bg_config local bg_config = ex_bgconfig or pk_bg_config
TableBG.LoadTableBG(default_bg, self._room.game_id, self._root_view, bg_config) TableBG.LoadTableBG(default_bg, self._room.game_id, self._root_view, bg_config)
UpdateBeat:Add(self.OnUpdate,self) UpdateBeat:Add(self.OnUpdate, self)
end end
function M:NextRecordPlay() function M:NextRecordPlay()
self:RemoveCursor()
local result = PlayBackView.NextRecordPlay(self) local result = PlayBackView.NextRecordPlay(self)
if not result then return end if not result then return end
self:ChangePlayState(false) self:ChangePlayState(true)
self._speed = 1 self._speed = 1
self._playFoward = true self._playFoward = true
self:ChangeTextSpeed() self:ChangeTextSpeed()
end end
function M:LastRecordPlay() function M:LastRecordPlay()
self:RemoveCursor()
local result = PlayBackView.LastRecordPlay(self) local result = PlayBackView.LastRecordPlay(self)
if not result then return end if not result then return end
self:ChangePlayState(false) self:ChangePlayState(true)
self._speed = 1 self._speed = 1
self._playFoward = true self._playFoward = true
self:ChangeTextSpeed() self:ChangeTextSpeed()
end end
function M:RestartRecordPlay()
self:ChangeAlpha()
self._currentStep = 0
self._speed = 1
self._playFoward = true
self:ChangeTextSpeed()
self:ChangePlayState(true)
end
function M:Play() function M:Play()
self:ChangeAlpha() self:ChangeAlpha()
self:ChangePlayState(not self._play) self:ChangePlayState(not self._play)
@ -61,23 +72,32 @@ function M:ChangePlayState(state)
else else
btn_play:GetController("state").selectedIndex = 0 btn_play:GetController("state").selectedIndex = 0
end end
--开始时,隐藏显示结算界面
if state then
if self.result then
self.result:Destroy()
self.result = nil
end
end
end end
function M:ChangeTextSpeed() function M:ChangeTextSpeed()
local str1 = self._play and self._speed or "" -- local str1 = self._play and self._speed or ""
self._view:GetChild("panel_record"):GetChild("tex_speed").text = str1 -- 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._view:GetChild("panel_record"):GetChild("tex_2").text = str2 -- self._playFoward and (self._speed == 1 and "播放" or "快进") or (self._speed == 1 and "回退" or "快退")
local str3 = self._play and "倍速度" or "" -- self._view:GetChild("panel_record"):GetChild("tex_2").text = str2
self._view:GetChild("panel_record"):GetChild("tex_1").text = str3 -- local str3 = self._play and "倍速度" or ""
-- self._view:GetChild("panel_record"):GetChild("tex_1").text = str3
self._record:GetChild('tex_speed').text = self._speed
end end
function M:CmdLeftArrows() function M:CmdLeftArrows()
self:ChangeAlpha() self:ChangeAlpha()
self:ChangePlayState(true) self:ChangePlayState(true)
if not self._playFoward then if not self._playFoward then
if self._speed < 16 then if self._speed < 5 then
self._speed = self._speed * 2 self._speed = self._speed + 1
else else
self._speed = 1 self._speed = 1
end end
@ -93,8 +113,8 @@ function M:CmdRightArrows()
self:ChangeAlpha() self:ChangeAlpha()
self:ChangePlayState(true) self:ChangePlayState(true)
if self._playFoward then if self._playFoward then
if self._speed < 16 then if self._speed < 5 then
self._speed = self._speed * 2 self._speed = self._speed + 1
else else
self._speed = 1 self._speed = 1
end end
@ -106,15 +126,21 @@ function M:CmdRightArrows()
end end
end end
function M:MaxSpeedArriws()
self:ChangeAlpha()
self:ChangePlayState(true)
self._speed = 30
end
function M:OnUpdate() function M:OnUpdate()
if self._play then if self._play then
if (self._currentStep == #self.cmdList and self._playFoward) then if (self._currentStep == #self.cmdList and self._playFoward) then
self:ChangePlayState(false) self:ChangePlayState(false)
ViewUtil.ErrorTip(nil,"当前已是录像结尾了,再次点击播放按钮可重新播放") ViewUtil.ErrorTip(nil, "当前已是录像结尾了,再次点击播放按钮可重新播放")
return return
elseif (self._currentStep == 0 and not self._playFoward) then elseif (self._currentStep == 0 and not self._playFoward) then
self:ChangePlayState(false) self:ChangePlayState(false)
ViewUtil.ErrorTip(nil,"当前已是录像开头了,再次点击播放按钮可重新播放") ViewUtil.ErrorTip(nil, "当前已是录像开头了,再次点击播放按钮可重新播放")
return return
end end
self._timer = self._timer + Time.deltaTime self._timer = self._timer + Time.deltaTime
@ -128,7 +154,7 @@ function M:OnUpdate()
end end
function M:Destroy() function M:Destroy()
UpdateBeat:Remove(self.OnUpdate,self) UpdateBeat:Remove(self.OnUpdate, self)
PlayBackView.Destroy(self) PlayBackView.Destroy(self)
end end

View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<component size="229,41">
<controller name="cType" pages="0," selected="0">
<remark page="0" value="跑得快"/>
</controller>
<displayList>
<image id="n9_ukp7" name="n9" src="11k4tcqe" fileName="Main_new/Image/logo_301.png" xy="0,0">
<gearDisplay controller="cType" pages="0"/>
<relation target="" sidePair="width-width,height-height"/>
</image>
</displayList>
</component>

View File

Before

Width:  |  Height:  |  Size: 6.6 KiB

After

Width:  |  Height:  |  Size: 6.6 KiB

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<component size="100,100" pivot="0.5,0.5" extention="Button">
<controller name="button" pages="0,up,1,down,2,over,3,selectedOver" selected="0"/>
<displayList>
<loader id="n4_gmbn" name="icon" xy="0,0" size="100,100" align="center" vAlign="middle" fill="scaleFree">
<relation target="" sidePair="width-width,height-height"/>
</loader>
</displayList>
<Button downEffect="scale" downEffectValue="1.1"/>
</component>

View File

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<component size="1760,157" opaque="false" initName="player_card_info"> <component size="1760,157" opaque="false" initName="player_card_info">
<controller name="output" homePageType="specific" homePage="1" pages="0,,1,,2," selected="1"/> <controller name="output" homePageType="specific" homePage="1" pages="0,,1,,2," selected="0"/>
<controller name="one_card" pages="0,,1," selected="0"/> <controller name="one_card" pages="0,,1," selected="0"/>
<controller name="resultOut" pages="0,,1," selected="0"/> <controller name="resultOut" pages="0,,1," selected="0"/>
<controller name="time_clock" pages="0,,1," selected="1"/> <controller name="time_clock" pages="0,,1," selected="0"/>
<displayList> <displayList>
<list id="n53_q9cc" name="hand_card_list" xy="-697,-634" size="445,78" visible="false" layout="row" selectionMode="none" overflow="scroll" lineGap="-15" colGap="-25" defaultItem="ui://9n9stu2eprgz8e" align="right"/> <list id="n53_q9cc" name="hand_card_list" xy="-697,-634" size="445,78" visible="false" layout="row" selectionMode="none" overflow="scroll" lineGap="-15" colGap="-25" defaultItem="ui://9n9stu2eprgz8e" align="right"/>
<component id="n59_8yp0" name="out_card_com" src="prgz89" fileName="component/poker/hand_poker_con.xml" xy="-640,-632" size="390,179" visible="false"/> <component id="n59_8yp0" name="out_card_com" src="prgz89" fileName="component/poker/hand_poker_con.xml" xy="-640,-632" size="390,179" visible="false"/>
@ -23,7 +23,7 @@
<item/> <item/>
</list> </list>
<list id="n62_ckvb" name="n62" xy="570,-1020" size="200,300" overflow="scroll"/> <list id="n62_ckvb" name="n62" xy="570,-1020" size="200,300" overflow="scroll"/>
<list id="n63_ckvb" name="list_resultOut" xy="498,-26" pivot="0.5,0.5" size="1014,210" layout="row" colGap="-101" defaultItem="ui://9n9stu2eckvbcjn" align="right"> <list id="n63_ckvb" name="list_resultOut" xy="498,-26" pivot="0.5,0.5" size="1014,210" layout="flow_hz" colGap="-101" defaultItem="ui://9n9stu2eckvbcjn" align="right">
<gearDisplay controller="resultOut" pages="1"/> <gearDisplay controller="resultOut" pages="1"/>
<item/> <item/>
<item/> <item/>
@ -45,6 +45,23 @@
<component id="n64_n9qr" name="Comp_Clock" src="ckvbcis" fileName="Main_New/Component/Comp_Clock.xml" xy="1612,-10" size="174,143"> <component id="n64_n9qr" name="Comp_Clock" src="ckvbcis" fileName="Main_New/Component/Comp_Clock.xml" xy="1612,-10" size="174,143">
<gearDisplay controller="time_clock" pages="1"/> <gearDisplay controller="time_clock" pages="1"/>
</component> </component>
<list id="n65_ukp7" name="list_backHand" xy="1866,653" size="1080,195" scale="0.657,1" rotation="-90" touchable="false" layout="row" overflow="scroll" colGap="-120" defaultItem="ui://9n9stu2eckvbcjn" autoClearItems="true">
<item/>
<item/>
<item/>
<item/>
<item/>
<item/>
<item/>
<item/>
<item/>
<item/>
<item/>
<item/>
<item/>
<item/>
<item/>
</list>
</displayList> </displayList>
<transition name="score"> <transition name="score">
<item time="0" type="Alpha" target="n55_pgkj" tween="true" startValue="0" endValue="1" duration="18"/> <item time="0" type="Alpha" target="n55_pgkj" tween="true" startValue="0" endValue="1" duration="18"/>

View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<component size="1398,63" mask="n2_kikc">
<displayList>
<graph id="n2_kikc" name="n2" xy="0,0" size="1398,63" type="rect">
<relation target="" sidePair="width-width,height-height"/>
</graph>
<image id="n0_kikc" name="n0" src="ukp7tcqz" fileName="component/notice_old/result_tips_bg.png" xy="0,-5" size="1619,73" aspect="true">
<relation target="" sidePair="width-width,height-height"/>
</image>
<text id="n1_kikc" name="text_notice" xy="0,0" size="4757,62" font="ui://27vd145bh35o7ilb" fontSize="46" color="#ffffff" vAlign="bottom" text="公告公告公告公告公告公告公告公告公告公告公告公告公告公公告公告公告公告公告公告公告公告公告公告公告公告公告公公告公告公告公告公告公告公告公告公告公告公告公告公告公公告公告公告公告公告公告公告公告公告公告公告公告"/>
</displayList>
</component>

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<component size="85,65" pivot="0.5,0.5" extention="Button" initName="btn_back_lobby">
<controller name="button" pages="0,up,1,down" selected="0"/>
<displayList>
<image id="n3_hp0b" name="n3" src="ukp7tcqr" fileName="Main_style_2/lk.png" xy="0,0" pivot="0.5,0.5" aspect="true" visible="false"/>
<image id="n4_qf80" name="n4" src="ukp7tcqs" fileName="Main_style_2/fh_img.png" xy="0,0"/>
</displayList>
<Button downEffect="scale" downEffectValue="1.1"/>
</component>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<component size="2532,1170" designImageAlpha="100" designImageLayer="1"> <component size="2532,1170" designImageAlpha="100" designImageLayer="1">
<controller name="state" pages="0,准备状态,1,游戏状态,2,,3,回放" selected="0"/> <controller name="state" pages="0,准备状态,1,游戏状态,2,,3,回放" selected="1"/>
<controller name="sdk" pages="0,,1," selected="0"/> <controller name="sdk" pages="0,,1," selected="0"/>
<controller name="action" pages="2,空,0,准备,1,开始" selected="0"/> <controller name="action" pages="2,空,0,准备,1,开始" selected="0"/>
<controller name="time" pages="0,,1,,2,,3," selected="0"/> <controller name="time" pages="0,,1,,2,,3," selected="0"/>
@ -14,6 +14,9 @@
<gearDisplay controller="state" pages="1"/> <gearDisplay controller="state" pages="1"/>
<gearLook controller="state" pages="0,2,3" values="0,0,0,1|0,0,0,1|0,0,0,1" default="0,0,0,1"/> <gearLook controller="state" pages="0,2,3" values="0,0,0,1|0,0,0,1|0,0,0,1" default="0,0,0,1"/>
</component> </component>
<component id="n165_ukp7" name="com_logo" src="ukp7tcqt" fileName="Main_new/Component/com_logo.xml" xy="1265,372" size="400,61">
<relation target="" sidePair="center-center"/>
</component>
<component id="n12" name="btn_wxyqhy" src="o3tbcgo" fileName="component/Btn_wxyq.xml" xy="1188,2161" group="n13"> <component id="n12" name="btn_wxyqhy" src="o3tbcgo" fileName="component/Btn_wxyq.xml" xy="1188,2161" group="n13">
<gearDisplay controller="sdk" pages="0"/> <gearDisplay controller="sdk" pages="0"/>
</component> </component>
@ -58,9 +61,6 @@
<gearDisplay controller="state" pages="0"/> <gearDisplay controller="state" pages="0"/>
<relation target="" sidePair="bottom-bottom,center-center"/> <relation target="" sidePair="bottom-bottom,center-center"/>
</group> </group>
<component id="n68_pwv4" name="panel_record" src="rayb5j" fileName="component/record/Record.xml" pkg="27vd145b" xy="379,240">
<gearDisplay controller="state" pages="3"/>
</component>
<text id="n61_agtp" name="tex_version" xy="1225,2164" size="130,38" scale="1.5,1.5" fontSize="30" color="#ffffff" align="center" autoSize="none" text="V2.0.2"> <text id="n61_agtp" name="tex_version" xy="1225,2164" size="130,38" scale="1.5,1.5" fontSize="30" color="#ffffff" align="center" autoSize="none" text="V2.0.2">
<gearDisplay controller="state" pages="0,1,2"/> <gearDisplay controller="state" pages="0,1,2"/>
</text> </text>
@ -73,7 +73,7 @@
<gearDisplay controller="state" pages="0,1,2,3"/> <gearDisplay controller="state" pages="0,1,2,3"/>
</component> </component>
<component id="n83_q50p" name="roominfo_panel1" src="prgzev" fileName="component/RoomInfoPanel1.xml" xy="974,1930" size="274,41" group="n86_q50p" scale="1.5,1.5" touchable="false"/> <component id="n83_q50p" name="roominfo_panel1" src="prgzev" fileName="component/RoomInfoPanel1.xml" xy="974,1930" size="274,41" group="n86_q50p" scale="1.5,1.5" touchable="false"/>
<component id="n84_q50p" name="btn_back_lobby" src="prgzds" fileName="component/poker/Btn_back_lobby.xml" xy="510,1878" size="58,75" group="n86_q50p" scale="1.5,1.5"> <component id="n84_q50p" name="btn_back_lobby__" src="prgzds" fileName="component/poker/Btn_back_lobby.xml" xy="510,1878" size="58,75" group="n86_q50p" scale="1.5,1.5">
<gearDisplay controller="state" pages="0,3"/> <gearDisplay controller="state" pages="0,3"/>
</component> </component>
<component id="n85_q50p" name="btn_rule--" src="prgzdu" fileName="component/poker/Btn_log.xml" xy="332,1878" group="n86_q50p" scale="1.5,1.5"/> <component id="n85_q50p" name="btn_rule--" src="prgzdu" fileName="component/poker/Btn_log.xml" xy="332,1878" group="n86_q50p" scale="1.5,1.5"/>
@ -123,11 +123,9 @@
<graph id="n102_t2e2" name="n109" xy="342,-1343" size="1670,834" visible="false" type="rect" lineSize="0" fillColor="#80000000"/> <graph id="n102_t2e2" name="n109" xy="342,-1343" size="1670,834" visible="false" type="rect" lineSize="0" fillColor="#80000000"/>
<component id="n101_t2e2" name="tuoguanzhong" src="prgzew" fileName="component/tuoguanzhong.xml" xy="996,2338" visible="false"/> <component id="n101_t2e2" name="tuoguanzhong" src="prgzew" fileName="component/tuoguanzhong.xml" xy="996,2338" visible="false"/>
<component id="n18" name="player_info2" src="ckvbcje" fileName="Main_New/PlayerHead_2.xml" xy="2359,17" size="156,126" group="n121_ckvb"> <component id="n18" name="player_info2" src="ckvbcje" fileName="Main_New/PlayerHead_2.xml" xy="2359,17" size="156,126" group="n121_ckvb">
<gearXY controller="state" pages="0,1,2,3" values="2359,17|2359,17|2336,32|2372,294"/>
<relation target="" sidePair="right-right,middle-middle"/> <relation target="" sidePair="right-right,middle-middle"/>
</component> </component>
<component id="n7" name="player_info1" src="ckvbcim" fileName="Main_New/PlayerHead_1.xml" xy="18,586" size="157,131" group="n121_ckvb"> <component id="n7" name="player_info1" src="ckvbcim" fileName="Main_New/PlayerHead_1.xml" xy="18,586" size="157,131" group="n121_ckvb">
<gearXY controller="state" pages="0,1,2,3" values="18,586|18,586|80,495|9,721"/>
<relation target="" sidePair="left-left,bottom-bottom"/> <relation target="" sidePair="left-left,bottom-bottom"/>
</component> </component>
<group id="n121_ckvb" name="playiinfo" xy="18,17" size="2497,700"/> <group id="n121_ckvb" name="playiinfo" xy="18,17" size="2497,700"/>
@ -156,7 +154,7 @@
<gearDisplay controller="action" pages="0,1"/> <gearDisplay controller="action" pages="0,1"/>
<relation target="" sidePair="width-width%,height-height%,center-center,top-middle%"/> <relation target="" sidePair="width-width%,height-height%,center-center,top-middle%"/>
</component> </component>
<component id="n148_n9qr" name="btn_back_lobby" src="ckvbcjd" fileName="Main_New/Component/Btn_CloseRoom.xml" xy="1300,481" group="n126_ckvb" visible="false"> <component id="n148_n9qr" name="btn_back_lobby___" src="ckvbcjd" fileName="Main_New/Component/Btn_CloseRoom.xml" xy="1300,481" group="n126_ckvb" visible="false">
<relation target="" sidePair="right-right,top-middle"/> <relation target="" sidePair="right-right,top-middle"/>
</component> </component>
<group id="n126_ckvb" name="readyBtn" xy="831,481" size="866,360" advanced="true"> <group id="n126_ckvb" name="readyBtn" xy="831,481" size="866,360" advanced="true">
@ -228,7 +226,27 @@
<gearDisplay controller="voice" pages="1"/> <gearDisplay controller="voice" pages="1"/>
<relation target="" sidePair="width-width,height-height"/> <relation target="" sidePair="width-width,height-height"/>
</component> </component>
<image id="n157_11k4t" name="n157" src="11k4tcqe" fileName="logo_301.png" xy="1265,372" size="400,61"/> <component id="n158_ukp7" name="mask_tips" src="gq7m8i" fileName="Main_style_2/Component1.xml" pkg="v0j9abjy" xy="1260,909" group="n164_ukp7">
<relation target="" sidePair="center-center"/>
</component>
<graph id="n159_ukp7" name="bg_playback" xy="0,-1" size="2532,1170" group="n164_ukp7" type="rect" lineSize="0" fillColor="#00ffffff">
<gearDisplay controller="state" pages="3"/>
</graph>
<component id="n160_ukp7" name="btn_rule_back" src="ukp7tcqo" fileName="Main_new/Main/Component/btn_normol(1).xml" xy="215,34" size="115,111" group="n163_ukp7">
<gearDisplay controller="state" pages="3"/>
<Button icon="ui://9n9stu2eukp7tcqp"/>
</component>
<component id="n161_ukp7" name="btn_back_lobby" src="ukp7tcqq" fileName="Main_style_2/poker/Btn_back_lobby.xml" xy="87,58" size="81,75" group="n163_ukp7" scale="2,2">
<gearDisplay controller="state" pages="3"/>
</component>
<component id="n162_ukp7" name="panel_record" src="lj2n7inp" fileName="component/record/Record_New.xml" pkg="27vd145b" xy="0,853" group="n163_ukp7">
<gearDisplay controller="state" pages="3"/>
</component>
<group id="n163_ukp7" name="huifang" xy="0,34" size="2532,984" group="n164_ukp7" advanced="true"/>
<group id="n164_ukp7" name="playback" xy="0,-1" size="2532,1170"/>
<component id="n166_ukp7" name="com_notice" src="ukp7tcqy" fileName="Main_new/com_notice.xml" xy="681,104" size="1169,62">
<relation target="" sidePair="top-top"/>
</component>
</displayList> </displayList>
<transition name="t1"> <transition name="t1">
<item time="0" type="Alpha" target="n75_jmab" tween="true" startValue="1" endValue="1" duration="18"/> <item time="0" type="Alpha" target="n75_jmab" tween="true" startValue="1" endValue="1" duration="18"/>

View File

@ -7,13 +7,14 @@
<controller name="card_eff" pages="0,,1," selected="0"/> <controller name="card_eff" pages="0,,1," selected="0"/>
<controller name="zidongtishi" pages="0,,1," selected="0"/> <controller name="zidongtishi" pages="0,,1," selected="0"/>
<controller name="voice" pages="0,,1," selected="0"/> <controller name="voice" pages="0,,1," selected="0"/>
<controller name="Inclear" pages="0,,1," selected="1"/> <controller name="Inclear" pages="0,,1," selected="0"/>
<displayList> <displayList>
<graph id="n141_ckvb" name="bg_mask" xy="6,7" size="2532,751" type="rect" lineSize="0" fillColor="#00ffffff"/> <graph id="n141_ckvb" name="bg_mask" xy="6,7" size="2532,751" type="rect" lineSize="0" fillColor="#00ffffff"/>
<component id="n76_rqeb" name="mask" src="prgzeq" fileName="component/mask.xml" xy="14,1956" alpha="0"> <component id="n76_rqeb" name="mask" src="prgzeq" fileName="component/mask.xml" xy="14,1956" alpha="0">
<gearDisplay controller="state" pages="1"/> <gearDisplay controller="state" pages="1"/>
<gearLook controller="state" pages="0,2,3" values="0,0,0,1|0,0,0,1|0,0,0,1" default="0,0,0,1"/> <gearLook controller="state" pages="0,2,3" values="0,0,0,1|0,0,0,1|0,0,0,1" default="0,0,0,1"/>
</component> </component>
<image id="n158_ukp7" name="n158" src="11k4tcqe" fileName="logo_301.png" xy="1265,372" size="400,61"/>
<component id="n12" name="btn_wxyqhy" src="o3tbcgo" fileName="component/Btn_wxyq.xml" xy="1188,2161" group="n13"> <component id="n12" name="btn_wxyqhy" src="o3tbcgo" fileName="component/Btn_wxyq.xml" xy="1188,2161" group="n13">
<gearDisplay controller="sdk" pages="0"/> <gearDisplay controller="sdk" pages="0"/>
</component> </component>

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

View File

@ -673,13 +673,21 @@
<component id="11k4tcq5" name="RunFast_Main_New_2.xml" path="/" exported="true"/> <component id="11k4tcq5" name="RunFast_Main_New_2.xml" path="/" exported="true"/>
<component id="11k4tcq6" name="PlayerHead_3.xml" path="/Main_New/"/> <component id="11k4tcq6" name="PlayerHead_3.xml" path="/Main_New/"/>
<component id="11k4tcq7" name="Player_card_info_3.xml" path="/Main_New/"/> <component id="11k4tcq7" name="Player_card_info_3.xml" path="/Main_New/"/>
<image id="11k4tcqe" name="logo_301.png" path="/"/> <image id="11k4tcqe" name="logo_301.png" path="/Main_new/Image/"/>
<image id="11k4tcqf" name="图层 5.png" path="/Main_New/texiao/"/> <image id="11k4tcqf" name="图层 5.png" path="/Main_New/texiao/"/>
<image id="11k4tcqg" name="图层 6.png" path="/Main_New/texiao/"/> <image id="11k4tcqg" name="图层 6.png" path="/Main_New/texiao/"/>
<image id="11k4tcqh" name="组 1 拷贝.png" path="/Main_New/texiao/"/> <image id="11k4tcqh" name="组 1 拷贝.png" path="/Main_New/texiao/"/>
<component id="mhsetcqk" name="te_sandaidui.xml" path="/Main_New/texiao/" exported="true"/> <component id="mhsetcqk" name="te_sandaidui.xml" path="/Main_New/texiao/" exported="true"/>
<component id="mhsetcql" name="te_sidaisab.xml" path="/Main_New/texiao/" exported="true"/> <component id="mhsetcql" name="te_sidaisab.xml" path="/Main_New/texiao/" exported="true"/>
<component id="mhsetcqm" name="te_sandaidan.xml" path="/Main_New/texiao/" exported="true"/> <component id="mhsetcqm" name="te_sandaidan.xml" path="/Main_New/texiao/" exported="true"/>
<component id="ukp7tcqo" name="btn_normol(1).xml" path="/Main_new/Main/Component/"/>
<image id="ukp7tcqp" name="Record2_08.png" path="/Main_new/Main/Image/"/>
<component id="ukp7tcqq" name="Btn_back_lobby.xml" path="/Main_style_2/poker/"/>
<image id="ukp7tcqr" name="lk.png" path="/Main_style_2/"/>
<image id="ukp7tcqs" name="fh_img.png" path="/Main_style_2/"/>
<component id="ukp7tcqt" name="com_logo.xml" path="/Main_new/Component/"/>
<component id="ukp7tcqy" name="com_notice.xml" path="/Main_new/"/>
<image id="ukp7tcqz" name="result_tips_bg.png" path="/component/notice_old/" scale9grid="284,16,215,32"/>
</resources> </resources>
<publish name="Extend_Poker_RunFastNew" path="..\wb_unity_pro\Assets\ART\extend\poker\runfast\ui" packageCount="2"/> <publish name="Extend_Poker_RunFastNew" path="..\wb_unity_pro\Assets\ART\extend\poker\runfast\ui" packageCount="2"/>
</packageDescription> </packageDescription>

View File

@ -67,7 +67,7 @@
<component id="n63_ghku" name="combBox_time" src="ghku7d4d" fileName="Record/Component/combBox_time.xml" xy="1804,169" size="435,76" group="n57_slrk"> <component id="n63_ghku" name="combBox_time" src="ghku7d4d" fileName="Record/Component/combBox_time.xml" xy="1804,169" size="435,76" group="n57_slrk">
<ComboBox visibleItemCount="10"/> <ComboBox visibleItemCount="10"/>
</component> </component>
<list id="n59_slrk" name="list_record_family" xy="99,321" size="2328,748" group="n57_slrk" pageController="page" layout="pagination" overflow="scroll" scrollBarFlags="8" lineGap="15" lineItemCount="1" lineItemCount2="5" defaultItem="ui://htcn7v3rslrk7d3b" align="center"> <list id="n59_slrk" name="list_record_family" xy="99,321" size="2328,748" group="n57_slrk" layout="pagination" overflow="scroll" scrollBarFlags="8" lineGap="15" lineItemCount="1" lineItemCount2="5" defaultItem="ui://htcn7v3rslrk7d3b" align="center">
<item/> <item/>
<item/> <item/>
<item/> <item/>
@ -87,10 +87,11 @@
<component id="n86_11k4t" name="btn_lastPage" src="11k4t7d78" fileName="Record/Component/btn_lastPage.xml" xy="1911,1028" group="n87_11k4t"> <component id="n86_11k4t" name="btn_lastPage" src="11k4t7d78" fileName="Record/Component/btn_lastPage.xml" xy="1911,1028" group="n87_11k4t">
<relation target="" sidePair="right-right%,bottom-bottom"/> <relation target="" sidePair="right-right%,bottom-bottom"/>
</component> </component>
<text id="n88_11k4t" name="text_pageNum" xy="1793,1050" size="74,66" group="n87_11k4t" scale="1.3,1" font="Arial" fontSize="50" text="1/2"> <text id="n88_11k4t" name="text_pageNum" xy="1793,1050" size="74,66" group="n87_11k4t" scale="1.3,1" font="Arial" fontSize="50" autoClearText="true" text="1/2">
<relation target="" sidePair="right-right%,bottom-bottom"/> <relation target="" sidePair="right-right%,bottom-bottom"/>
</text> </text>
<group id="n87_11k4t" name="page" xy="1793,1028" size="628,100" advanced="true"> <group id="n87_11k4t" name="page" xy="1793,1028" size="628,100" advanced="true">
<gearDisplay controller="cWindow" pages="0"/>
<relation target="" sidePair="right-right,bottom-bottom"/> <relation target="" sidePair="right-right,bottom-bottom"/>
</group> </group>
<component id="n61_o2rw" name="btn_close" src="in3i7cu9" fileName="Main/Component/btn_close.xml" xy="54,6"/> <component id="n61_o2rw" name="btn_close" src="in3i7cu9" fileName="Main/Component/btn_close.xml" xy="54,6"/>

View File

@ -48,14 +48,14 @@
<relation target="" sidePair="bottom-bottom"/> <relation target="" sidePair="bottom-bottom"/>
</text> </text>
<group id="n13_n2h8" name="title" xy="164,189" size="2229,939" group="n25_66fw" advanced="true"/> <group id="n13_n2h8" name="title" xy="164,189" size="2229,939" group="n25_66fw" advanced="true"/>
<list id="n18_jrro" name="list_numberRecordDetail" xy="68,260" size="2397,820" group="n25_66fw" overflow="scroll" lineGap="8" defaultItem="ui://2d9xdj6zjrro7cyp"> <list id="n18_jrro" name="list_numberRecordDetail" xy="71,260" size="2397,820" group="n25_66fw" overflow="scroll" lineGap="8" defaultItem="ui://2d9xdj6zukp77d9j">
<relation target="" sidePair="width-width,height-height%"/> <relation target="" sidePair="width-width,height-height%"/>
<item/> <item/>
<item/> <item/>
<item/> <item/>
<item/> <item/>
</list> </list>
<group id="n25_66fw" name="detail0" xy="68,189" size="2397,939" advanced="true"> <group id="n25_66fw" name="detail0" xy="71,189" size="2397,939" advanced="true">
<gearDisplay controller="detail" pages="0"/> <gearDisplay controller="detail" pages="0"/>
<relation target="" sidePair="top-top%"/> <relation target="" sidePair="top-top%"/>
</group> </group>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 142 KiB

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<component size="455,48" extention="Button">
<controller name="button" pages="0,up,1,down,2,over,3,selectedOver" selected="0"/>
<controller name="colour" pages="0,,1," selected="1"/>
<displayList>
<graph id="n0_ukp7" name="n0" xy="0,0" size="455,48" touchable="false" type="rect" lineSize="0" fillColor="#73333333">
<relation target="" sidePair="width-width,height-height"/>
</graph>
<text id="n3_ukp7" name="text_name" xy="166,-1" size="59,46" scale="1.3,1" fontSize="34" color="#a16115" align="right" autoClearText="true" text="jefe">
<relation target="" sidePair="right-right%"/>
</text>
<text id="n4_ukp7" name="text_score" xy="279,-1" size="34,46" scale="1.3,1" fontSize="34" color="#ff0000" align="right" autoClearText="true" text="-4">
<gearColor controller="colour" pages="0,1" values="#0908fd,#000000|#ff0000,#000000"/>
<relation target="" sidePair="left-left%"/>
</text>
</displayList>
<Button/>
</component>

View File

@ -0,0 +1,39 @@
<?xml version="1.0" encoding="utf-8"?>
<component size="2395,203" extention="Button">
<controller name="button" pages="0,up,1,down,2,over,3,selectedOver" selected="0"/>
<controller name="win" pages="0,,1," selected="1"/>
<displayList>
<image id="n4_ukp7" name="n4" src="66fw7d6v" fileName="component/Record/Image/Recharge_2.png" xy="0,0" size="2395,203"/>
<text id="n5_ukp7" name="text_gameName" xy="34,18" pivot="0.5,0.5" size="209,162" scale="1.3,1" font="Arial" fontSize="38" color="#ff6f06" align="center" vAlign="middle" autoSize="none" autoClearText="true" text="黎川麻将">
<relation target="" sidePair="width-width%,height-height%"/>
</text>
<image id="n6_ukp7" name="n6" src="66fw7d6o" fileName="component/Record/Image/Record13.png" xy="298,42" size="179,118">
<gearDisplay controller="win" pages="1"/>
<relation target="" sidePair="width-width%,height-height%"/>
</image>
<image id="n7_ukp7" name="n7" src="66fw7d6n" fileName="component/Record/Image/Record12.png" xy="298,42" size="179,118">
<gearDisplay controller="win" pages="0"/>
</image>
<text id="n8_ukp7" name="text_score" xy="532,17" pivot="0.5,0.5" size="160,168" scale="1.3,1" fontSize="46" color="#ff0000" align="center" vAlign="middle" autoSize="none" autoClearText="true" text="+4">
<gearColor controller="win" pages="1" values="#ff0000,#000000" default="#0908fd,#000000"/>
<relation target="" sidePair="width-width%,height-height%"/>
</text>
<text id="n10_ukp7" name="text_roomID" xy="750,18" pivot="0.5,0.5" size="175,162" scale="1.3,1" fontSize="42" color="#a16115" align="center" vAlign="middle" autoSize="none" autoClearText="true" text="804850">
<relation target="" sidePair="width-width%,height-height%"/>
</text>
<text id="n11_ukp7" name="text_time1" xy="1932,17" pivot="0.5,0.5" size="211,168" scale="1.3,1" fontSize="32" color="#a16115" align="center" vAlign="middle" autoSize="none" autoClearText="true" text="2025-09-08&#xA;14:34:22">
<relation target="" sidePair="width-width%,height-height%"/>
</text>
<component id="n12_ukp7" name="btn_lookRecord" src="66fw7d75" fileName="component/Record/Component/btn_normol.xml" xy="2237,70" pivot="0.5,0.5" size="102,65">
<relation target="" sidePair="width-width%,height-height%"/>
<Button icon="ui://2d9xdj6z66fw7d6p"/>
</component>
<list id="n13_ukp7" name="list" xy="963,18" size="921,164" layout="flow_hz" overflow="scroll" colGap="7" defaultItem="ui://2d9xdj6zukp77d9l" align="center" vAlign="middle" autoClearItems="true">
<item/>
<item/>
<item/>
<item/>
</list>
</displayList>
<Button/>
</component>

View File

@ -615,7 +615,6 @@
<image id="66fw7d6x" name="Record03.png" path="/component/Record/Image/" scale9grid="16,0,89,0"/> <image id="66fw7d6x" name="Record03.png" path="/component/Record/Image/" scale9grid="16,0,89,0"/>
<component id="66fw7d72" name="listChild_playerName.xml" path="/component/Record/Component/"/> <component id="66fw7d72" name="listChild_playerName.xml" path="/component/Record/Component/"/>
<component id="66fw7d73" name="listChild_detailMain.xml" path="/component/Record/Component/"/> <component id="66fw7d73" name="listChild_detailMain.xml" path="/component/Record/Component/"/>
<image id="66fw7d74" name="Slice 4.png" path="/component/Record/Component/"/>
<component id="66fw7d75" name="btn_normol.xml" path="/component/Record/Component/"/> <component id="66fw7d75" name="btn_normol.xml" path="/component/Record/Component/"/>
<component id="66fw7d77" name="listChild_playerScore.xml" path="/component/Record/Component/"/> <component id="66fw7d77" name="listChild_playerScore.xml" path="/component/Record/Component/"/>
<component id="xpru7d78" name="com_MsgDiamond.xml" path="/mgr/" exported="true"/> <component id="xpru7d78" name="com_MsgDiamond.xml" path="/mgr/" exported="true"/>
@ -691,6 +690,8 @@
<image id="n9qr7d9g" name="createRoom_6.png" path="/component/PlayerInfo/Image/"/> <image id="n9qr7d9g" name="createRoom_6.png" path="/component/PlayerInfo/Image/"/>
<image id="n9qr7d9h" name="Ellipse 38.png" path="/component/PlayerInfo/Image/"/> <image id="n9qr7d9h" name="Ellipse 38.png" path="/component/PlayerInfo/Image/"/>
<component id="n9qr7d9i" name="btn_close.xml" path="/component/"/> <component id="n9qr7d9i" name="btn_close.xml" path="/component/"/>
<component id="ukp77d9j" name="listChild_recordMain.xml" path="/component/Record/Component/"/>
<component id="ukp77d9l" name="listChild_recordListChild.xml" path="/component/Record/Component/"/>
</resources> </resources>
<publish name="Lobby" path="..\wb_unity_pro\Assets\ART\base\lobby\ui" packageCount="2"> <publish name="Lobby" path="..\wb_unity_pro\Assets\ART\base\lobby\ui" packageCount="2">
<atlas name="默认" index="0"/> <atlas name="默认" index="0"/>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 396 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<component size="2532,1170" pivot="0.5,0.5" designImage="ui://v0j9abjyj6yy1fr" designImageAlpha="35"> <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="3"/>
<controller name="sdk" pages="0,,1," selected="0"/> <controller name="sdk" pages="0,,1," selected="0"/>
<controller name="action" pages="2,空,0,准备,1,开始" selected="0"/> <controller name="action" pages="2,空,0,准备,1,开始" selected="0"/>
<controller name="3d" pages="0,,1," selected="0"/> <controller name="3d" pages="0,,1," selected="0"/>
@ -49,14 +49,14 @@
<gearXY controller="action" pages="2,0,1" values="8808,794|-16242,794|5853,170"/> <gearXY controller="action" pages="2,0,1" values="8808,794|-16242,794|5853,170"/>
<Button icon="ui://v0j9abjygq7m48"/> <Button icon="ui://v0j9abjygq7m48"/>
</component> </component>
<component id="n35_k3io" name="btn_start" src="gq7m8y" fileName="Main_style_2/Btn_Yellow.xml" xy="-2733,480" group="n36_k3io" visible="false"> <component id="n35_k3io" name="btn_start" src="gq7m8y" fileName="Main_style_2/Btn_Yellow.xml" xy="-2731,480" group="n36_k3io" visible="false">
<Button icon="ui://v0j9abjygq7m49"/> <Button icon="ui://v0j9abjygq7m49"/>
</component> </component>
<component id="n104_mncc" name="btn_xipai--" src="gq7m8y" fileName="Main_style_2/Btn_Yellow.xml" xy="-2323,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="-2321,487" group="n36_k3io" scale="0.9,1">
<gearDisplay controller="action" pages="1"/> <gearDisplay controller="action" pages="1"/>
<Button icon="ui://v0j9abjygq7m4i"/> <Button icon="ui://v0j9abjygq7m4i"/>
</component> </component>
<group id="n36_k3io" name="n36" xy="-2733,480" size="11808,414" visible="false" advanced="true"> <group id="n36_k3io" name="n36" xy="-2731,480" size="11806,414" visible="false" advanced="true">
<relation target="" sidePair="bottom-bottom,center-center"/> <relation target="" sidePair="bottom-bottom,center-center"/>
</group> </group>
<component id="n69_l2u4" name="gcm_chat" src="gq7m8z" fileName="Main_style_2/Gcm_chat.xml" xy="1933,-505"> <component id="n69_l2u4" name="gcm_chat" src="gq7m8z" fileName="Main_style_2/Gcm_chat.xml" xy="1933,-505">
@ -147,7 +147,7 @@
<gearDisplay controller="state" pages="0,2"/> <gearDisplay controller="state" pages="0,2"/>
<relation target="" sidePair="center-center,bottom-bottom"/> <relation target="" sidePair="center-center,bottom-bottom"/>
</component> </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="84,778" size="153,132">
<gearDisplay controller="state" pages="1,3,4"/> <gearDisplay controller="state" pages="1,3,4"/>
<gearXY controller="state" pages="1,3,4" values="87,787|84,778|85,786" default="730,-60"/> <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"/> <relation target="n118_pkx5" sidePair="right-left,top-top"/>
@ -156,7 +156,7 @@
<gearDisplay controller="state" pages="0,2"/> <gearDisplay controller="state" pages="0,2"/>
<relation target="" sidePair="center-center,top-top"/> <relation target="" sidePair="center-center,top-top"/>
</component> </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="1867,35" size="153,132">
<gearDisplay controller="state" pages="1,3,4"/> <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,486|1866,33|1867,35|1868,34" default="2007,876"/>
<relation target="n155_gi99" sidePair="left-right,top-top"/> <relation target="n155_gi99" sidePair="left-right,top-top"/>
@ -188,6 +188,9 @@
<component id="n187_pbp6" name="btn_sendTalk" src="pbp614i" fileName="Main_new/Chat/Component/Btn_MessageTalk.xml" xy="2322,523" size="144,123"> <component id="n187_pbp6" name="btn_sendTalk" src="pbp614i" fileName="Main_new/Chat/Component/Btn_MessageTalk.xml" xy="2322,523" size="144,123">
<relation target="" sidePair="right-right"/> <relation target="" sidePair="right-right"/>
</component> </component>
<component id="n213_mhse" name="btn_selectTing" src="gmbn13s" fileName="Main_new/Main/Component/btn_normol.xml" xy="2322,712" size="144,123" visible="false">
<Button icon="ui://v0j9abjymhset1kq"/>
</component>
<component id="n211_11k4t" name="jiangma_show" src="cjli6" fileName="UIPanel.xml" pkg="27vd145b" xy="0,0"> <component id="n211_11k4t" name="jiangma_show" src="cjli6" fileName="UIPanel.xml" pkg="27vd145b" xy="0,0">
<relation target="" sidePair="width-width,height-height"/> <relation target="" sidePair="width-width,height-height"/>
</component> </component>
@ -267,18 +270,21 @@
<component id="n56_cnxs" name="mask_tips" src="gq7m8i" fileName="Main_style_2/Component1.xml" xy="1260,910" group="n209_lvks"> <component id="n56_cnxs" name="mask_tips" src="gq7m8i" fileName="Main_style_2/Component1.xml" xy="1260,910" group="n209_lvks">
<relation target="" sidePair="center-center"/> <relation target="" sidePair="center-center"/>
</component> </component>
<component id="n192_lj2n" name="btn_rule_back" src="gmbn13s" fileName="Main_new/Main/Component/btn_normol.xml" xy="215,35" size="115,111" group="n209_lvks"> <graph id="n214_ukp7" name="bg_playback" xy="0,0" size="2532,1170" group="n209_lvks" type="rect" lineSize="0" fillColor="#00ffffff">
<gearDisplay controller="state" pages="3"/>
</graph>
<component id="n192_lj2n" name="btn_rule_back" src="gmbn13s" fileName="Main_new/Main/Component/btn_normol.xml" xy="215,35" size="115,111" group="n59_v38k">
<gearDisplay controller="state" pages="3"/> <gearDisplay controller="state" pages="3"/>
<Button icon="ui://v0j9abjylj2n17t"/> <Button icon="ui://v0j9abjylj2n17t"/>
</component> </component>
<component id="n87_8sat" name="btn_back_lobby" src="gq7m4p" fileName="Main_style_2/poker/Btn_back_lobby.xml" xy="87,59" size="81,75" group="n209_lvks" scale="2,2"> <component id="n87_8sat" name="btn_back_lobby" src="gq7m4p" fileName="Main_style_2/poker/Btn_back_lobby.xml" xy="87,59" size="81,75" group="n59_v38k" scale="2,2">
<gearDisplay controller="state" pages="3"/> <gearDisplay controller="state" pages="3"/>
</component> </component>
<component id="n57_rayb" name="panel_record" src="gq7m4t" fileName="Main_style_2/record/Record.xml" xy="0,854" group="n59_v38k"> <component id="n57_rayb" name="panel_record" src="gq7m4t" fileName="Main_style_2/record/Record.xml" xy="0,854" group="n59_v38k">
<gearDisplay controller="state" pages="3"/> <gearDisplay controller="state" pages="3"/>
</component> </component>
<group id="n59_v38k" name="huifang" xy="0,854" size="2532,165" group="n209_lvks"/> <group id="n59_v38k" name="huifang" xy="0,35" size="2532,984" group="n209_lvks" advanced="true"/>
<group id="n209_lvks" name="playback" xy="0,35" size="2532,984"/> <group id="n209_lvks" name="playback" xy="0,0" size="2532,1170"/>
</displayList> </displayList>
<transition name="laiziMove" frameRate="60"> <transition name="laiziMove" frameRate="60">
<item time="0" type="Visible" target="n132_swus" value="false"/> <item time="0" type="Visible" target="n132_swus" value="false"/>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<component size="2532,1170" designImage="ui://v0j9abjyj6yy1ft" designImageAlpha="0"> <component size="2532,1170" designImage="ui://v0j9abjyj6yy1ft" designImageAlpha="0">
<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="sdk" pages="0,,1," selected="0"/>
<controller name="action" pages="2,空,0,准备,1,开始" selected="0"/> <controller name="action" pages="2,空,0,准备,1,开始" selected="0"/>
<controller name="3d" pages="0,,1," selected="0"/> <controller name="3d" pages="0,,1," selected="0"/>
@ -40,14 +40,14 @@
<gearXY controller="action" pages="2,0,1" values="8810,794|-16246,794|5853,170"/> <gearXY controller="action" pages="2,0,1" values="8810,794|-16246,794|5853,170"/>
<Button icon="ui://v0j9abjygq7m48"/> <Button icon="ui://v0j9abjygq7m48"/>
</component> </component>
<component id="n228_ogwn" name="btn_start" src="gq7m8y" fileName="Main_style_2/Btn_Yellow.xml" xy="-2739,480" group="n230_ogwn" visible="false"> <component id="n228_ogwn" name="btn_start" src="gq7m8y" fileName="Main_style_2/Btn_Yellow.xml" xy="-2738,480" group="n230_ogwn" visible="false">
<Button icon="ui://v0j9abjygq7m49"/> <Button icon="ui://v0j9abjygq7m49"/>
</component> </component>
<component id="n229_ogwn" name="btn_xipai--" src="gq7m8y" fileName="Main_style_2/Btn_Yellow.xml" xy="-2329,487" group="n230_ogwn" scale="0.9,1"> <component id="n229_ogwn" name="btn_xipai--" src="gq7m8y" fileName="Main_style_2/Btn_Yellow.xml" xy="-2328,487" group="n230_ogwn" scale="0.9,1">
<gearDisplay controller="action" pages="1"/> <gearDisplay controller="action" pages="1"/>
<Button icon="ui://v0j9abjygq7m4i"/> <Button icon="ui://v0j9abjygq7m4i"/>
</component> </component>
<group id="n230_ogwn" name="n230" xy="-2739,480" size="11816,414" visible="false" advanced="true"> <group id="n230_ogwn" name="n230" xy="-2738,480" size="11815,414" visible="false" advanced="true">
<relation target="" sidePair="bottom-bottom,center-center"/> <relation target="" sidePair="bottom-bottom,center-center"/>
</group> </group>
<component id="n231_ogwn" name="gcm_chat" src="gq7m8z" fileName="Main_style_2/Gcm_chat.xml" xy="1933,-505"> <component id="n231_ogwn" name="gcm_chat" src="gq7m8z" fileName="Main_style_2/Gcm_chat.xml" xy="1933,-505">
@ -141,7 +141,7 @@
</component> </component>
<text id="n252_ogwn" name="text_roomId" xy="15,67" size="264,54" group="n253_ogwn" font="ui://27vd145bh35o7ika" fontSize="40" color="#ffffff" letterSpacing="4" text="房间:588568"/> <text id="n252_ogwn" name="text_roomId" xy="15,67" size="264,54" group="n253_ogwn" font="ui://27vd145bh35o7ika" fontSize="40" color="#ffffff" letterSpacing="4" text="房间:588568"/>
<group id="n253_ogwn" name="top_left" xy="15,15" size="276,164"/> <group id="n253_ogwn" name="top_left" xy="15,15" size="276,164"/>
<component id="n115_pkx5" name="player_info1_1" src="pkx5so" fileName="Main_new/Main/PlayerHead_1.xml" xy="1189,891" size="153,132"> <component id="n115_pkx5" name="player_info1_1" src="pkx5so" fileName="Main_new/Main/PlayerHead_1.xml" xy="89,789" size="153,132">
<gearDisplay controller="state" pages="0,2"/> <gearDisplay controller="state" pages="0,2"/>
<gearXY controller="state" pages="0" values="1189,891" default="89,789"/> <gearXY controller="state" pages="0" values="1189,891" default="89,789"/>
<relation target="" sidePair="center-center,bottom-bottom"/> <relation target="" sidePair="center-center,bottom-bottom"/>
@ -149,7 +149,7 @@
<component id="n141_lu84" name="player_info1_2" src="pkx5so" fileName="Main_new/Main/PlayerHead_1.xml" xy="87,788" size="153,132"> <component id="n141_lu84" name="player_info1_2" src="pkx5so" fileName="Main_new/Main/PlayerHead_1.xml" xy="87,788" size="153,132">
<gearDisplay controller="state" pages="1,3,4"/> <gearDisplay controller="state" pages="1,3,4"/>
</component> </component>
<component id="n116_pkx5" name="player_info2_1" src="pkx5so" fileName="Main_new/Main/PlayerHead_1.xml" xy="1888,519" size="153,132"> <component id="n116_pkx5" name="player_info2_1" src="pkx5so" fileName="Main_new/Main/PlayerHead_1.xml" xy="2004,77" size="153,132">
<gearDisplay controller="state" pages="0,2"/> <gearDisplay controller="state" pages="0,2"/>
<gearXY controller="state" pages="0,1,2,3" values="1888,519|2004,77|2311,292|2314,294" default="1194,274"/> <gearXY controller="state" pages="0,1,2,3" values="1888,519|2004,77|2311,292|2314,294" default="1194,274"/>
<relation target="" sidePair="middle-middle"/> <relation target="" sidePair="middle-middle"/>
@ -169,6 +169,9 @@
<relation target="" sidePair="right-right"/> <relation target="" sidePair="right-right"/>
<Button icon="ui://v0j9abjyu63319u"/> <Button icon="ui://v0j9abjyu63319u"/>
</component> </component>
<component id="n305_mhse" name="btn_selectTing" src="gmbn13s" fileName="Main_new/Main/Component/btn_normol.xml" xy="2322,712" size="144,123" visible="false">
<Button icon="ui://v0j9abjymhset1kq"/>
</component>
<component id="n281_ogwn" name="btn_sendTalk" src="pbp614i" fileName="Main_new/Chat/Component/Btn_MessageTalk.xml" xy="2322,523" size="144,123"> <component id="n281_ogwn" name="btn_sendTalk" src="pbp614i" fileName="Main_new/Chat/Component/Btn_MessageTalk.xml" xy="2322,523" size="144,123">
<relation target="" sidePair="right-right"/> <relation target="" sidePair="right-right"/>
</component> </component>

View File

@ -1,12 +1,12 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<component size="175,191" extention="Button"> <component size="175,191" extention="Button">
<controller name="button" pages="0,up,1,down" selected="0"/> <controller name="button" pages="0,up,1,down" selected="0"/>
<controller name="jing" pages="0,,1," selected="0"/> <controller name="jing" pages="0,,1," selected="1"/>
<controller name="move" pages="0,,1," selected="0"/> <controller name="move" pages="0,,1," selected="0"/>
<controller name="out" pages="0,,1," selected="0"/> <controller name="out" pages="0,,1," selected="0"/>
<controller name="showhang" pages="0,,1," selected="0"/> <controller name="showhang" pages="0,,1," selected="0"/>
<controller name="special_jing" pages="0,,1," selected="0"/> <controller name="special_jing" pages="0,,1," selected="0"/>
<controller name="ting" pages="0,,1," selected="0"/> <controller name="ting" pages="0,,1," selected="1"/>
<displayList> <displayList>
<loader id="n3_hp0b" name="icon" xy="0,0" size="175,191" group="n13_jzul" aspect="true" url="ui://Main_Majiang/b202_203" fill="scaleFree"> <loader id="n3_hp0b" name="icon" xy="0,0" size="175,191" group="n13_jzul" aspect="true" url="ui://Main_Majiang/b202_203" fill="scaleFree">
<gearXY controller="button" pages="0,1" values="0,0|0,-35"/> <gearXY controller="button" pages="0,1" values="0,0|0,-35"/>
@ -35,6 +35,7 @@
</image> </image>
<image id="n15_mhse" name="n15" src="mhset1kp" fileName="Main_new/Main/Image/ting_corner_icon.png" xy="71,12" size="101,145"> <image id="n15_mhse" name="n15" src="mhset1kp" fileName="Main_new/Main/Image/ting_corner_icon.png" xy="71,12" size="101,145">
<gearDisplay controller="ting" pages="1"/> <gearDisplay controller="ting" pages="1"/>
<relation target="n3_hp0b" sidePair="top-top"/>
</image> </image>
</displayList> </displayList>
<Button mode="Check" sound="ui://v0j9abjyr8cy1k6" volume="0"/> <Button mode="Check" sound="ui://v0j9abjyr8cy1k6" volume="0"/>

View File

@ -262,6 +262,9 @@
<gearDisplay controller="witness" pages="1"/> <gearDisplay controller="witness" pages="1"/>
<gearXY controller="witness" pages="0" values="2537,30" default="2097,30" tween="true" ease="Linear" duration="0.5"/> <gearXY controller="witness" pages="0" values="2537,30" default="2097,30" tween="true" ease="Linear" duration="0.5"/>
</component> </component>
<component id="n382_mhse" name="btn_selectTing" src="gmbn13s" fileName="Main_new/Main/Component/btn_normol.xml" xy="2322,712" size="144,123" visible="false">
<Button icon="ui://v0j9abjymhset1kq"/>
</component>
<component id="n353_ogwn" name="btn_sendTalk" src="pbp614i" fileName="Main_new/Chat/Component/Btn_MessageTalk.xml" xy="2322,523" size="144,123"> <component id="n353_ogwn" name="btn_sendTalk" src="pbp614i" fileName="Main_new/Chat/Component/Btn_MessageTalk.xml" xy="2322,523" size="144,123">
<relation target="" sidePair="right-right"/> <relation target="" sidePair="right-right"/>
</component> </component>

View File

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<component size="112,190" extention="Button"> <component size="112,190" extention="Button">
<displayList> <displayList>
<loader id="n1_pikf" name="icon" xy="0,65" size="112,115" url="ui://lxhyy2sd6cpqth"/> <loader id="n1_pikf" name="icon" xy="0,65" size="112,115" url="ui://lxhyy2sd6cpqth" fill="scaleFree"/>
<text id="n2_nje6" name="title" xy="17,25" pivot="0.5,0.5" size="76,39" scale="1.3,1" font="Arial" fontSize="28" align="center" vAlign="middle" text="剩4张"/> <text id="n2_nje6" name="title" xy="17,25" pivot="0.5,0.5" size="76,39" scale="1.3,1" font="FZCuYuan-M03" fontSize="28" align="center" vAlign="middle" text="剩4张"/>
</displayList> </displayList>
<Button/> <Button/>
</component> </component>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<component size="185,190" pivot="0.5,1" extention="Button"> <component size="185,190" pivot="0.5,1" anchor="true" extention="Button">
<displayList> <displayList>
<image id="n7_mhse" name="n7" src="mhset1kn" fileName="component/hu_tip/GPS_bg.png" xy="0,0" size="185,190"> <image id="n7_mhse" name="n7" src="mhset1kn" fileName="component/hu_tip/GPS_bg.png" xy="0,0" size="185,190">
<relation target="" sidePair="width-width,height-height"/> <relation target="" sidePair="width-width,height-height"/>

View File

@ -849,7 +849,7 @@
<image id="kzuz14c" name="Group 241(1).png" path="/Main_new/Main/Image/"/> <image id="kzuz14c" name="Group 241(1).png" path="/Main_new/Main/Image/"/>
<image id="kzuz14d" name="Group 541.png" path="/Main_new/Main/Image/"/> <image id="kzuz14d" name="Group 541.png" path="/Main_new/Main/Image/"/>
<component id="kzuz14e" name="comp_witnessPlayer.xml" path="/Main_new/Main/Component/"/> <component id="kzuz14e" name="comp_witnessPlayer.xml" path="/Main_new/Main/Component/"/>
<component id="sx7x14f" name="btn_bg.xml" path="/Main_new/Main/Component/"/> <component id="sx7x14f" name="btn_bg.xml" path="/Main_new/Main/Component/" exported="true"/>
<image id="sx7x14g" name="gamechatback1.png" path="/Main_new/Main/Image/" scale="9grid" scale9grid="29,11,37,32"/> <image id="sx7x14g" name="gamechatback1.png" path="/Main_new/Main/Image/" scale="9grid" scale9grid="29,11,37,32"/>
<image id="sx7x14h" name="gamechatback2.png" path="/Main_new/Main/Image/"/> <image id="sx7x14h" name="gamechatback2.png" path="/Main_new/Main/Image/"/>
<component id="pbp614i" name="Btn_MessageTalk.xml" path="/Main_new/Chat/Component/"/> <component id="pbp614i" name="Btn_MessageTalk.xml" path="/Main_new/Chat/Component/"/>
@ -1169,7 +1169,6 @@
<image id="l9ll1gv" name="mahj_common_frame2.png" path="/Main_new/Clearing/Image/"/> <image id="l9ll1gv" name="mahj_common_frame2.png" path="/Main_new/Clearing/Image/"/>
<image id="l9ll1gw" name="mahj_common_frame3.png" path="/Main_new/Clearing/Image/"/> <image id="l9ll1gw" name="mahj_common_frame3.png" path="/Main_new/Clearing/Image/"/>
<image id="l9ll1gx" name="final_result_bg2.png" path="/Main_new/Clearing/Image/" scale="9grid" scale9grid="34,31,68,62"/> <image id="l9ll1gx" name="final_result_bg2.png" path="/Main_new/Clearing/Image/" scale="9grid" scale9grid="34,31,68,62"/>
<image id="l9ll1gy" name="Slice 1.png" path="/Main_new/Clearing/Component/"/>
<image id="l9ll1h6" name="vip_bomb_01.png" path="/Main_new/Main/Image/hudong/bomb/"/> <image id="l9ll1h6" name="vip_bomb_01.png" path="/Main_new/Main/Image/hudong/bomb/"/>
<image id="l9ll1h7" name="vip_bomb_ract_05.png" path="/Main_new/Main/Image/hudong/bomb/"/> <image id="l9ll1h7" name="vip_bomb_ract_05.png" path="/Main_new/Main/Image/hudong/bomb/"/>
<image id="l9ll1h8" name="vip_bomb_ract_04.png" path="/Main_new/Main/Image/hudong/bomb/"/> <image id="l9ll1h8" name="vip_bomb_ract_04.png" path="/Main_new/Main/Image/hudong/bomb/"/>
@ -1279,7 +1278,8 @@
<image id="11k4t1kk" name="xzmj_15.png" path="/Main_new/Main/Image/"/> <image id="11k4t1kk" name="xzmj_15.png" path="/Main_new/Main/Image/"/>
<image id="mhset1kn" name="GPS_bg.png" path="/component/hu_tip/"/> <image id="mhset1kn" name="GPS_bg.png" path="/component/hu_tip/"/>
<image id="mhset1ko" name="gamexzmj_37.png" path="/component/hu_tip/"/> <image id="mhset1ko" name="gamexzmj_37.png" path="/component/hu_tip/"/>
<image id="mhset1kp" name="ting_corner_icon.png" path="/Main_new/Main/Image/"/> <image id="mhset1kp" name="ting_corner_icon.png" path="/Main_new/Main/Image/" disableTrim="true"/>
<image id="mhset1kq" name="ting.png" path="/Main_new/Main/Image/"/>
</resources> </resources>
<publish name="Main_Majiang" path="..\wb_unity_pro\Assets\ART\base\main_majiang\ui" packageCount="2"/> <publish name="Main_Majiang" path="..\wb_unity_pro\Assets\ART\base\main_majiang\ui" packageCount="2"/>
</packageDescription> </packageDescription>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 MiB

After

Width:  |  Height:  |  Size: 2.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 MiB

After

Width:  |  Height:  |  Size: 3.7 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

After

Width:  |  Height:  |  Size: 813 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 813 KiB

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 MiB

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

View File

@ -0,0 +1,92 @@
fileFormatVersion: 2
guid: e27c2dfc8e90f8640838a112056bc8b9
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -100
wrapU: -1
wrapV: -1
wrapW: -1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 MiB

After

Width:  |  Height:  |  Size: 3.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 MiB

After

Width:  |  Height:  |  Size: 928 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 MiB

After

Width:  |  Height:  |  Size: 2.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 938 KiB

After

Width:  |  Height:  |  Size: 2.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

After

Width:  |  Height:  |  Size: 722 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 MiB

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 MiB

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 MiB

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 MiB

After

Width:  |  Height:  |  Size: 4.7 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 MiB

After

Width:  |  Height:  |  Size: 2.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 MiB

After

Width:  |  Height:  |  Size: 1.8 MiB

View File

@ -1,41 +1,41 @@
[ [
{ {
"ver": "1.0.33", "ver": "1.0.34",
"name": "跑得快", "name": "跑得快",
"check": true, "check": true,
"version": "1.0.33", "version": "1.0.34",
"game_id": "66", "game_id": "66",
"bundle": "extend/poker/runfast" "bundle": "extend/poker/runfast"
}, },
{ {
"ver": "1.0.53", "ver": "1.0.54",
"name": "南城麻将", "name": "南城麻将",
"check": true, "check": true,
"version": "1.0.53", "version": "1.0.54",
"game_id": "86", "game_id": "86",
"bundle": "extend/majiang/nancheng" "bundle": "extend/majiang/nancheng"
}, },
{ {
"ver": "1.0.56", "ver": "1.0.57",
"name": "黎川麻将", "name": "黎川麻将",
"check": true, "check": true,
"version": "1.0.56", "version": "1.0.57",
"game_id": "87", "game_id": "87",
"bundle": "extend/majiang/lichuan" "bundle": "extend/majiang/lichuan"
}, },
{ {
"ver": "1.0.40", "ver": "1.0.41",
"name": "金溪麻将", "name": "金溪麻将",
"check": true, "check": true,
"version": "1.0.40", "version": "1.0.41",
"game_id": "88", "game_id": "88",
"bundle": "extend/majiang/jinxi" "bundle": "extend/majiang/jinxi"
}, },
{ {
"ver": "1.0.39", "ver": "1.0.40",
"name": "抚州麻将", "name": "抚州麻将",
"check": true, "check": true,
"version": "1.0.39", "version": "1.0.40",
"game_id": "89", "game_id": "89",
"bundle": "extend/majiang/fuzhou" "bundle": "extend/majiang/fuzhou"
} }

View File

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

Some files were not shown because too many files have changed in this diff Show More