回放细节调整,大厅查看回放修复
|
|
@ -1,4 +1,9 @@
|
|||
local FamilAllRank = {}
|
||||
local FamilAllRank = {
|
||||
allCount = 0,
|
||||
pageCount = 0,
|
||||
currenPage = 0,
|
||||
onePageChildCount = 0
|
||||
}
|
||||
|
||||
local M = FamilAllRank
|
||||
|
||||
|
|
@ -41,8 +46,10 @@ function M:init()
|
|||
self._viewList_record:SetVirtual()
|
||||
self._viewList_record.scrollPane.touchEffect = false -- 禁止拖动滚动
|
||||
self._viewList_record.scrollPane.bouncebackEffect = false -- 关闭回弹效果
|
||||
-- self._viewList_record.scrollPane.snapToItem = true
|
||||
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
|
||||
|
||||
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_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()
|
||||
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()
|
||||
local timeTable = os.date("*t", os.time())
|
||||
timeTable.hour = 0
|
||||
|
|
@ -88,14 +184,6 @@ function M:InitTime()
|
|||
return serverDayValues, serverDayItems
|
||||
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)
|
||||
obj:GetChild('text_round').text = round
|
||||
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
|
||||
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, ...)
|
||||
local tem = nil
|
||||
local dview_class = nil
|
||||
|
|
|
|||
|
|
@ -60,6 +60,7 @@ function M:InitView(url)
|
|||
btn_restart.onClick:Add(handler(self, self.RestartRecordPlay))
|
||||
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")
|
||||
local _view = self._view
|
||||
local _room = self._room
|
||||
|
|
@ -154,6 +155,13 @@ function M:InitView(url)
|
|||
)
|
||||
end
|
||||
|
||||
local bg_image = self._view:GetChild('bg_playback')
|
||||
if bg_image then
|
||||
bg_image.onClick:Set(function()
|
||||
self:ChangeAlpha()
|
||||
end)
|
||||
end
|
||||
|
||||
--没有update先不显示跑马灯
|
||||
self.com_notice.visible = false
|
||||
-- local text_notice = self.com_notice:GetChild("text_notice")
|
||||
|
|
@ -334,14 +342,14 @@ end
|
|||
function M:CmdBackToLobby()
|
||||
self:ChangeAlpha()
|
||||
local tipStr = '是否返回大厅'
|
||||
local _curren_msg = MsgWindow.new(self._root_view, tipStr, MsgWindow.MsgMode.OkAndCancel)
|
||||
_curren_msg.onOk:Add(
|
||||
function()
|
||||
ExtendManager.GetExtendConfig(self._room.game_id):UnAssets()
|
||||
self:Destroy()
|
||||
end
|
||||
)
|
||||
_curren_msg:Show()
|
||||
-- local _curren_msg = MsgWindow.new(self._root_view, tipStr, MsgWindow.MsgMode.OkAndCancel)
|
||||
-- _curren_msg.onOk:Add(
|
||||
-- function()
|
||||
ExtendManager.GetExtendConfig(self._room.game_id):UnAssets()
|
||||
self:Destroy()
|
||||
-- end
|
||||
-- )
|
||||
-- _curren_msg:Show()
|
||||
end
|
||||
|
||||
function M:GetPos(seat, myseat)
|
||||
|
|
@ -388,9 +396,11 @@ function M:ChangeAlpha(...)
|
|||
self._record_alpha =
|
||||
coroutine.start(
|
||||
function()
|
||||
self._record.alpha = 1
|
||||
self._viewGroup_huifang.visible = true
|
||||
-- self._record.alpha = 1
|
||||
coroutine.wait(2)
|
||||
self._record.alpha = 0.5
|
||||
-- self._record.alpha = 0
|
||||
self._viewGroup_huifang.visible = false
|
||||
end
|
||||
)
|
||||
end
|
||||
|
|
|
|||
|
|
@ -108,6 +108,8 @@ function M:init(url, isBigFull)
|
|||
else
|
||||
BaseWindow.init(self, url)
|
||||
end
|
||||
--强制让牌类型为1,只有一种牌
|
||||
DataManager.CurrenRoom.card_type = 1
|
||||
|
||||
self:InitView()
|
||||
|
||||
|
|
@ -138,6 +140,13 @@ function M:init(url, isBigFull)
|
|||
)
|
||||
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')
|
||||
if big_result ~= nil then
|
||||
if isBigFull then
|
||||
|
|
|
|||
|
|
@ -72,7 +72,46 @@ function M:rollBack()
|
|||
end
|
||||
|
||||
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
|
||||
end
|
||||
if (checkCard(card + 1, self.cardList) and checkCard(card + 2, self.cardList)) then
|
||||
|
|
@ -224,6 +263,13 @@ function M:tryWin()
|
|||
self:rollBack()
|
||||
end
|
||||
|
||||
if (self:tryFengShunzi(activeCard)) then
|
||||
if (self:tryWin()) then
|
||||
return true
|
||||
end
|
||||
self:rollBack()
|
||||
end
|
||||
|
||||
if (self:tryKezi1Zhong(activeCard)) then
|
||||
if (self:tryWin()) then
|
||||
return true
|
||||
|
|
@ -295,24 +341,54 @@ function M:isQdPari(cardList)
|
|||
return false
|
||||
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.pair_count = 0
|
||||
self.cardList = membe_clone(cardInhand)
|
||||
self.qidui = qidui
|
||||
self.eight_laizi = eightLaizi
|
||||
self.qidui = data._hu_qidui
|
||||
self.shisanlan = data._hu_shisanlan
|
||||
self.eight_laizi = nil
|
||||
self.cardList[#self.cardList + 1] = addCard
|
||||
if (isZhong) then
|
||||
if (data._flag_haveLaizi) then
|
||||
self.zhong_count = cardNum(zhongid, self.cardList)
|
||||
removeCard(self.cardList, zhongid, self.zhong_count)
|
||||
end
|
||||
table.sort(self.cardList)
|
||||
--printlog("添加排序====>>>")
|
||||
--pt(self.cardList)
|
||||
return self:checkQidui() or self:tryWin()
|
||||
return self:checkQidui() or self:checkshisanlan() or self:tryWin()
|
||||
end
|
||||
|
||||
local specialCardList = { 401, 402, 403, 404, 405, 406, 407 }
|
||||
local specialCardList = { 401, 402, 403, 404, 501, 502, 503 }
|
||||
function M.tingPai(cardInhand, data)
|
||||
data = data or {}
|
||||
local self = setmetatable({}, { __index = M })
|
||||
|
|
@ -323,7 +399,7 @@ function M.tingPai(cardInhand, data)
|
|||
for k = 100, 300, 100 do
|
||||
for i = 1, 9 do
|
||||
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)
|
||||
if (result) then
|
||||
tingList[#tingList + 1] = tem
|
||||
|
|
@ -333,7 +409,7 @@ function M.tingPai(cardInhand, data)
|
|||
|
||||
for j = 1, #specialCardList do
|
||||
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
|
||||
tingList[#tingList + 1] = tem
|
||||
end
|
||||
|
|
@ -343,14 +419,16 @@ function M.tingPai(cardInhand, data)
|
|||
end
|
||||
|
||||
function M.MuiltiplteCaculateTingPai(cardInhand, isZhong, qidui, eightLaizi)
|
||||
if DataManager.CurrenRoom.laiziInfo and #DataManager.CurrenRoom.laiziInfo > 0 then
|
||||
zhongid = DataManager.CurrenRoom.laiziInfo[1]
|
||||
local room = DataManager.CurrenRoom
|
||||
|
||||
if room.laiziInfo and #room.laiziInfo > 0 then
|
||||
zhongid = room.laiziInfo[1]
|
||||
local tempTingList2 = {}
|
||||
local tempTingList1 = M.tingPai(cardInhand, isZhong, qidui, eightLaizi)
|
||||
if DataManager.CurrenRoom.laiziInfo[2] then
|
||||
zhongid = DataManager.CurrenRoom.laiziInfo[2]
|
||||
if room.laiziInfo[2] then
|
||||
zhongid = room.laiziInfo[2]
|
||||
tempTingList2 = M.tingPai(cardInhand, isZhong, qidui, eightLaizi)
|
||||
zhongid = DataManager.CurrenRoom.laiziInfo[1]
|
||||
zhongid = room.laiziInfo[1]
|
||||
end
|
||||
local currentTingList = {}
|
||||
if #tempTingList1 > 0 and #tempTingList2 > 0 then
|
||||
|
|
@ -363,6 +441,7 @@ function M.MuiltiplteCaculateTingPai(cardInhand, isZhong, qidui, eightLaizi)
|
|||
|
||||
return currentTingList
|
||||
else
|
||||
M._flag_zikechengshun = room.room_config.config.zikechengshun or 0
|
||||
zhongid = 0
|
||||
return M.tingPai(cardInhand, isZhong, qidui, eightLaizi)
|
||||
end
|
||||
|
|
|
|||
|
|
@ -251,7 +251,19 @@ function M:fillResult0(room, peopleNum, result)
|
|||
end
|
||||
end
|
||||
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
|
||||
|
|
|
|||
|
|
@ -256,6 +256,9 @@ function M:EventInit()
|
|||
local card_info = self._player_card_info[self:GetPos(p.seat)]
|
||||
card_info:Clear()
|
||||
card_info:UpdateHandCard()
|
||||
if _room.curren_round == 1 then
|
||||
self._touxiangMove:Play()
|
||||
end
|
||||
end
|
||||
end)
|
||||
_gamectr:AddEventListener(TX_GameEvent.EventTurn, function(...)
|
||||
|
|
@ -307,6 +310,12 @@ function M:EventInit()
|
|||
-- self:UpdateRoomInfo()
|
||||
local info = self._player_card_info[self:GetPos(seat)]
|
||||
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)
|
||||
|
||||
_gamectr:AddEventListener(TX_GameEvent.FZTips, function(...)
|
||||
|
|
@ -608,12 +617,18 @@ function M:OutCard(card)
|
|||
local info = self._player_card_info[1]
|
||||
self:RemoveCursor()
|
||||
info:UpdateHandCard()
|
||||
|
||||
info._ctr_tip.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:PlaySound("FuZhou_MJ", self._room.self_player.self_user.sex, tostring(card))
|
||||
self:PlayMJSound("chupai.mp3")
|
||||
self:ShowHuTip()
|
||||
end)
|
||||
else
|
||||
printlog("鬼牌不能出===>>>" .. card)
|
||||
|
|
@ -895,7 +910,7 @@ function M:ReloadRoom(bskip)
|
|||
self._room._reload_flag = true
|
||||
end
|
||||
end
|
||||
|
||||
self:reqResidueCard()
|
||||
self:ShowJing()
|
||||
for i = 1, #room.player_list do
|
||||
local p = room.player_list[i]
|
||||
|
|
@ -919,6 +934,11 @@ function M:ReloadRoom(bskip)
|
|||
if p.seat == room.last_outcard_seat then
|
||||
local card = p.outcard_list[#p.outcard_list]
|
||||
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
|
||||
info:UpdateHandCard(true)
|
||||
info:UpdateOutCardList()
|
||||
|
|
|
|||
|
|
@ -67,6 +67,7 @@ function M:FillRoomData(data)
|
|||
|
||||
self:GenerateAllStepData(data)
|
||||
self:UpdateStep(1)
|
||||
self:Play()
|
||||
-- self:ShowStep(0)
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ function M.new(view, mainView, record, direction)
|
|||
self._view = view
|
||||
self._mainView = mainView
|
||||
self.direction = direction
|
||||
self._flag_canTing = true
|
||||
self:init()
|
||||
return self
|
||||
end
|
||||
|
|
@ -20,12 +21,15 @@ function M:init()
|
|||
getmetatable(M).__index.init(self)
|
||||
end
|
||||
|
||||
function M:ShowHuTip(card_list)
|
||||
self._mainView._hu_tip:FillData(self:GetTingList(card_list))
|
||||
function M:ShowHuTip(card_list, have_bg)
|
||||
self._mainView._hu_tip:FillData(self:GetTingList(card_list), have_bg)
|
||||
end
|
||||
|
||||
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
|
||||
|
||||
function M:UpdateHandCard(getcard, mp)
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
-- 检测牌是否存在
|
||||
local function checkCard(eventCard,cardList,num)
|
||||
local function checkCard(eventCard, cardList, num)
|
||||
num = num == nil and 1 or num
|
||||
local result = 0
|
||||
for i = 1,#cardList do
|
||||
for i = 1, #cardList do
|
||||
if (cardList[i] == eventCard) then
|
||||
result = result + 1
|
||||
if(result ==num) then
|
||||
if (result == num) then
|
||||
return true
|
||||
end
|
||||
end
|
||||
|
|
@ -14,24 +14,24 @@ local function checkCard(eventCard,cardList,num)
|
|||
end
|
||||
|
||||
-- 移除指定数量的牌
|
||||
local function removeCard(cardList, card,count)
|
||||
for i=1,count do
|
||||
list_remove(cardList,card)
|
||||
local function removeCard(cardList, card, count)
|
||||
for i = 1, count do
|
||||
list_remove(cardList, card)
|
||||
end
|
||||
end
|
||||
|
||||
local function checkCardAndRomve(eventCard,cardList,num)
|
||||
if(checkCard(eventCard,cardList,num)) then
|
||||
removeCard(cardList,eventCard,num)
|
||||
local function checkCardAndRomve(eventCard, cardList, num)
|
||||
if (checkCard(eventCard, cardList, num)) then
|
||||
removeCard(cardList, eventCard, num)
|
||||
return true
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
-- 获取列表中牌数量
|
||||
local function cardNum(eventCard,cardList)
|
||||
local function cardNum(eventCard, cardList)
|
||||
local result = 0
|
||||
for i=1,#cardList do
|
||||
for i = 1, #cardList do
|
||||
local card = cardList[i]
|
||||
if (card == eventCard) then
|
||||
result = result + 1
|
||||
|
|
@ -40,7 +40,7 @@ local function cardNum(eventCard,cardList)
|
|||
return result
|
||||
end
|
||||
|
||||
local zhongid = 0
|
||||
local zhongid = 0
|
||||
|
||||
|
||||
local M = {
|
||||
|
|
@ -54,16 +54,16 @@ local M = {
|
|||
}
|
||||
|
||||
|
||||
function M:push(cardGroup)
|
||||
self.stack[#self.stack+1] = cardGroup
|
||||
function M:push(cardGroup)
|
||||
self.stack[#self.stack + 1] = cardGroup
|
||||
end
|
||||
|
||||
function M:rollBack()
|
||||
local cardGroup = self.stack[#self.stack]
|
||||
table.remove(self.stack,#self.stack)
|
||||
for _,card in ipairs(cardGroup) do
|
||||
table.remove(self.stack, #self.stack)
|
||||
for _, card in ipairs(cardGroup) do
|
||||
if (card == zhongid) then
|
||||
self.zhong_count = self.zhong_count +1
|
||||
self.zhong_count = self.zhong_count + 1
|
||||
else
|
||||
self.cardList[#self.cardList + 1] = card
|
||||
end
|
||||
|
|
@ -71,36 +71,75 @@ function M:rollBack()
|
|||
table.sort(self.cardList)
|
||||
end
|
||||
|
||||
function M:tryShunzi(card)
|
||||
if (card < 400 and card % 100 > 7) then
|
||||
function M:tryShunzi(card)
|
||||
if card > 400 or card % 100 > 7 then
|
||||
return false
|
||||
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, 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:tryKezi(card)
|
||||
--特殊牌,风牌也就是东南西北的成顺逻辑,中发白逻辑在普通顺子里
|
||||
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)
|
||||
return true
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
function M:tryKezi(card)
|
||||
if (checkCardAndRomve(card, self.cardList, 3)) then
|
||||
local cardGroup = {card,card,card}
|
||||
local cardGroup = { card, card, card }
|
||||
self:push(cardGroup)
|
||||
return true
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
function M:tryPair(card)
|
||||
function M:tryPair(card)
|
||||
if (self.pair_count > 0) then
|
||||
return false
|
||||
end
|
||||
if (checkCardAndRomve(card, self.cardList, 2)) then
|
||||
local cardGroup = {card,card}
|
||||
local cardGroup = { card, card }
|
||||
self:push(cardGroup)
|
||||
self.pair_count = 1
|
||||
return true
|
||||
|
|
@ -108,28 +147,27 @@ function M:tryPair(card)
|
|||
return false
|
||||
end
|
||||
|
||||
|
||||
function M:tryKezi1Zhong(card)
|
||||
if (self.zhong_count >= 1 and checkCardAndRomve(card, self.cardList,2)) then
|
||||
local cardGroup = {card,card,zhongid}
|
||||
function M:tryKezi1Zhong(card)
|
||||
if (self.zhong_count >= 1 and checkCardAndRomve(card, self.cardList, 2)) then
|
||||
local cardGroup = { card, card, zhongid }
|
||||
self:push(cardGroup)
|
||||
self.zhong_count = self.zhong_count -1
|
||||
return true
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
function M:tryKezi2Zhong(card)
|
||||
if (self.zhong_count >= 2 and checkCardAndRomve(card, self.cardList,1)) then
|
||||
local cardGroup = {card,zhongid,zhongid}
|
||||
self:push(cardGroup)
|
||||
self.zhong_count = self.zhong_count -2
|
||||
self.zhong_count = self.zhong_count - 1
|
||||
return true
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
function M:tryShunzi1Zhong(card)
|
||||
function M:tryKezi2Zhong(card)
|
||||
if (self.zhong_count >= 2 and checkCardAndRomve(card, self.cardList, 1)) then
|
||||
local cardGroup = { card, zhongid, zhongid }
|
||||
self:push(cardGroup)
|
||||
self.zhong_count = self.zhong_count - 2
|
||||
return true
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
function M:tryShunzi1Zhong(card)
|
||||
if (card % 100 > 8) then
|
||||
return false
|
||||
end
|
||||
|
|
@ -141,8 +179,8 @@ function M:tryShunzi1Zhong(card)
|
|||
if (checkCard(card + 1, self.cardList)) then
|
||||
removeCard(self.cardList, card, 1)
|
||||
removeCard(self.cardList, card + 1, 1)
|
||||
self.zhong_count = self.zhong_count -1
|
||||
local cardGroup = {card,card+1,zhongid}
|
||||
self.zhong_count = self.zhong_count - 1
|
||||
local cardGroup = { card, card + 1, zhongid }
|
||||
self:push(cardGroup)
|
||||
return true
|
||||
end
|
||||
|
|
@ -150,15 +188,15 @@ function M:tryShunzi1Zhong(card)
|
|||
if (checkCard(card + 2, self.cardList) and ((card + 1) % 100 ~= 0)) then
|
||||
removeCard(self.cardList, card, 1)
|
||||
removeCard(self.cardList, card + 2, 1)
|
||||
self.zhong_count = self.zhong_count -1
|
||||
local cardGroup = {card,zhongid,card+2}
|
||||
self.zhong_count = self.zhong_count - 1
|
||||
local cardGroup = { card, zhongid, card + 2 }
|
||||
self:push(cardGroup)
|
||||
return true
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
function M:tryPair1Zhong(card)
|
||||
function M:tryPair1Zhong(card)
|
||||
if (self.pair_count > 0) then
|
||||
return false
|
||||
end
|
||||
|
|
@ -166,28 +204,28 @@ function M:tryPair1Zhong(card)
|
|||
return false
|
||||
end
|
||||
removeCard(self.cardList, card, 1)
|
||||
local cardGroup = {card,zhongid}
|
||||
local cardGroup = { card, zhongid }
|
||||
self:push(cardGroup)
|
||||
self.zhong_count = self.zhong_count -1
|
||||
self.zhong_count = self.zhong_count - 1
|
||||
self.pair_count = 1
|
||||
return true
|
||||
end
|
||||
|
||||
function M:tryPair2Zhong()
|
||||
function M:tryPair2Zhong()
|
||||
if (self.pair_count > 0) then
|
||||
return false
|
||||
end
|
||||
if (self.zhong_count < 2) then
|
||||
return false
|
||||
end
|
||||
local cardGroup = {zhongid,zhongid}
|
||||
local cardGroup = { zhongid, zhongid }
|
||||
self:push(cardGroup)
|
||||
self.zhong_count = self.zhong_count -2
|
||||
self.zhong_count = self.zhong_count - 2
|
||||
self.pair_count = 1
|
||||
return true
|
||||
end
|
||||
|
||||
function M:tryWin()
|
||||
function M:tryWin()
|
||||
if (self.zhong_count == 4 and not self.eight_laizi) or (self.zhong_count == 8 and self.eight_laizi) then
|
||||
return true
|
||||
end
|
||||
|
|
@ -225,6 +263,13 @@ function M:tryWin()
|
|||
self:rollBack()
|
||||
end
|
||||
|
||||
if (self:tryFengShunzi(activeCard)) then
|
||||
if (self:tryWin()) then
|
||||
return true
|
||||
end
|
||||
self:rollBack()
|
||||
end
|
||||
|
||||
if (self:tryKezi1Zhong(activeCard)) then
|
||||
if (self:tryWin()) then
|
||||
return true
|
||||
|
|
@ -233,7 +278,6 @@ function M:tryWin()
|
|||
end
|
||||
|
||||
if (self:tryKezi2Zhong(activeCard)) then
|
||||
|
||||
if (self:tryWin()) then
|
||||
return true
|
||||
end
|
||||
|
|
@ -257,7 +301,7 @@ function M:tryWin()
|
|||
return false
|
||||
end
|
||||
|
||||
function M:checkQidui()
|
||||
function M:checkQidui()
|
||||
if (not self.qidui) then
|
||||
return false
|
||||
end
|
||||
|
|
@ -270,17 +314,17 @@ function M:checkQidui()
|
|||
return self:isQdPari(cardList)
|
||||
end
|
||||
|
||||
function M:isQdPari(cardList)
|
||||
if(self.qidui_pari_count == 7) then
|
||||
function M:isQdPari(cardList)
|
||||
if (self.qidui_pari_count == 7) then
|
||||
return true
|
||||
end
|
||||
if (#cardList== 0) then
|
||||
if (#cardList == 0) then
|
||||
return true
|
||||
end
|
||||
local card = cardList[1]
|
||||
if (cardNum(card, cardList) >= 2) then
|
||||
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
|
||||
return true
|
||||
end
|
||||
|
|
@ -289,7 +333,7 @@ function M:isQdPari(cardList)
|
|||
if (self.hongzhong_count > 0) then
|
||||
removeCard(cardList, card, 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
|
||||
return true
|
||||
end
|
||||
|
|
@ -297,82 +341,110 @@ function M:isQdPari(cardList)
|
|||
return false
|
||||
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.pair_count = 0
|
||||
self.cardList = membe_clone(cardInhand)
|
||||
self.qidui = qidui
|
||||
self.eight_laizi = eightLaizi
|
||||
self.cardList[#self.cardList+1] = addCard
|
||||
if (isZhong) then
|
||||
self.qidui = data._hu_qidui
|
||||
self.shisanlan = data._hu_shisanlan
|
||||
self.eight_laizi = nil
|
||||
self.cardList[#self.cardList + 1] = addCard
|
||||
if (data._flag_haveLaizi) then
|
||||
self.zhong_count = cardNum(zhongid, self.cardList)
|
||||
removeCard(self.cardList, zhongid, self.zhong_count)
|
||||
end
|
||||
table.sort(self.cardList)
|
||||
--printlog("添加排序====>>>")
|
||||
--pt(self.cardList)
|
||||
return self:checkQidui() or self:tryWin()
|
||||
return self:checkQidui() or self:checkshisanlan() or self:tryWin()
|
||||
end
|
||||
|
||||
local specialCardList = { 401, 402, 403, 404, 405, 406, 407 }
|
||||
function M.tingPai(cardInhand, isZhong, qidui, eightLaizi)
|
||||
-- printlog("isZhong", isZhong)
|
||||
-- printlog("qidui", qidui)
|
||||
-- printlog("eightLaizi", eightLaizi)
|
||||
-- pt(cardInhand)
|
||||
local specialCardList = { 401, 402, 403, 404, 501, 502, 503 }
|
||||
function M.tingPai(cardInhand, data)
|
||||
data = data or {}
|
||||
local self = setmetatable({}, { __index = M })
|
||||
local tingList = {}
|
||||
if not cardInhand or #cardInhand == 0 then
|
||||
return tingList
|
||||
end
|
||||
for k=100,300,100 do
|
||||
for i=1,9 do
|
||||
for k = 100, 300, 100 do
|
||||
for i = 1, 9 do
|
||||
local tem = k + i
|
||||
local result = init(self,cardInhand,tem,isZhong,qidui,eightLaizi)
|
||||
local result = init(self, cardInhand, tem, data)
|
||||
--printlog("返回结果为===>>>",result)
|
||||
if(result) then
|
||||
tingList[#tingList + 1] = tem
|
||||
if (result) then
|
||||
tingList[#tingList + 1] = tem
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
for j=1,#specialCardList do
|
||||
|
||||
for j = 1, #specialCardList do
|
||||
local tem = specialCardList[j]
|
||||
local result = init(self,cardInhand,tem,isZhong,qidui,eightLaizi)
|
||||
if(result) then
|
||||
tingList[#tingList + 1] = tem
|
||||
local result = init(self, cardInhand, tem, data)
|
||||
if (result) then
|
||||
tingList[#tingList + 1] = tem
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
return tingList
|
||||
end
|
||||
|
||||
function M.MuiltiplteCaculateTingPai(cardInhand,isZhong,qidui,eightLaizi)
|
||||
if DataManager.CurrenRoom.laiziInfo and #DataManager.CurrenRoom.laiziInfo>0 then
|
||||
zhongid=DataManager.CurrenRoom.laiziInfo[1]
|
||||
local tempTingList2={}
|
||||
local tempTingList1=M.tingPai(cardInhand,isZhong,qidui,eightLaizi)
|
||||
if DataManager.CurrenRoom.laiziInfo[2] then
|
||||
zhongid=DataManager.CurrenRoom.laiziInfo[2]
|
||||
tempTingList2=M.tingPai(cardInhand,isZhong,qidui,eightLaizi)
|
||||
zhongid=DataManager.CurrenRoom.laiziInfo[1]
|
||||
function M.MuiltiplteCaculateTingPai(cardInhand, isZhong, qidui, eightLaizi)
|
||||
local room = DataManager.CurrenRoom
|
||||
|
||||
if room.laiziInfo and #room.laiziInfo > 0 then
|
||||
zhongid = room.laiziInfo[1]
|
||||
local tempTingList2 = {}
|
||||
local tempTingList1 = M.tingPai(cardInhand, isZhong, qidui, eightLaizi)
|
||||
if room.laiziInfo[2] then
|
||||
zhongid = room.laiziInfo[2]
|
||||
tempTingList2 = M.tingPai(cardInhand, isZhong, qidui, eightLaizi)
|
||||
zhongid = room.laiziInfo[1]
|
||||
end
|
||||
local currentTingList={}
|
||||
if #tempTingList1>0 and #tempTingList2>0 then
|
||||
currentTingList=CombineDictionaryAndRemoveSomeItem(tempTingList1,tempTingList2)
|
||||
elseif #tempTingList1>0 then
|
||||
currentTingList=tempTingList1
|
||||
elseif #tempTingList2>0 then
|
||||
currentTingList=tempTingList2
|
||||
local currentTingList = {}
|
||||
if #tempTingList1 > 0 and #tempTingList2 > 0 then
|
||||
currentTingList = CombineDictionaryAndRemoveSomeItem(tempTingList1, tempTingList2)
|
||||
elseif #tempTingList1 > 0 then
|
||||
currentTingList = tempTingList1
|
||||
elseif #tempTingList2 > 0 then
|
||||
currentTingList = tempTingList2
|
||||
end
|
||||
|
||||
|
||||
return currentTingList
|
||||
|
||||
else
|
||||
zhongid=0
|
||||
return M.tingPai(cardInhand,isZhong,qidui,eightLaizi)
|
||||
M._flag_zikechengshun = room.room_config.config.zikechengshun or 0
|
||||
zhongid = 0
|
||||
return M.tingPai(cardInhand, isZhong, qidui, eightLaizi)
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
return M
|
||||
return M
|
||||
|
|
|
|||
|
|
@ -253,7 +253,23 @@ function M:fillResult0(room, peopleNum, result)
|
|||
end
|
||||
end
|
||||
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
|
||||
isMeCtr.selectedIndex = 1
|
||||
|
|
|
|||
|
|
@ -66,7 +66,31 @@ function M:InitView(url)
|
|||
self.showNextCtr = self._view:GetController('showNext')
|
||||
self.showNextList = self._view:GetChild('list_showNext')
|
||||
self._view:GetChild('btn_showNext').onClick:Set(function()
|
||||
self:reqResidueCard()
|
||||
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()
|
||||
end
|
||||
end)
|
||||
end)
|
||||
self._view:GetChild('btn_closeShow').onClick:Set(function()
|
||||
self.showNextCtr.selectedIndex = 0
|
||||
|
|
@ -169,13 +193,10 @@ function M:UpdatePlayerInfoView()
|
|||
end
|
||||
|
||||
function M:NewMJPlayerCardInfoView(view, index)
|
||||
return MJMainView.NewMJPlayerCardInfoView(self, view, index)
|
||||
--[[
|
||||
if index == 1 then
|
||||
return MJPlayerSelfCardInfoView.new(view, self)
|
||||
return MJPlayerSelfCardInfoView.new(view, self, nil, "S")
|
||||
end
|
||||
return MJPlayerCardInfoView.new(view, self)
|
||||
]]
|
||||
return MJMainView.NewMJPlayerCardInfoView(self, view, index)
|
||||
end
|
||||
|
||||
function M:EventInit()
|
||||
|
|
@ -217,6 +238,7 @@ function M:EventInit()
|
|||
--self._viewText_testName.text = 0
|
||||
self:UpdateRound()
|
||||
self:RemoveCursor()
|
||||
self:reqResidueCard()
|
||||
self._state.selectedIndex = 1
|
||||
self:ShowJing()
|
||||
if self._niao_View then
|
||||
|
|
@ -234,6 +256,9 @@ function M:EventInit()
|
|||
local card_info = self._player_card_info[self:GetPos(p.seat)]
|
||||
card_info:Clear()
|
||||
card_info:UpdateHandCard()
|
||||
if _room.curren_round == 1 then
|
||||
self._touxiangMove:Play()
|
||||
end
|
||||
end
|
||||
end)
|
||||
_gamectr:AddEventListener(TX_GameEvent.EventTurn, function(...)
|
||||
|
|
@ -266,7 +291,8 @@ function M:EventInit()
|
|||
info:UpdateHandCard()
|
||||
local outcard = UIPackage.CreateObjectFromURL(_gcm_outcard_url)
|
||||
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:PlaySound("JinXi_MJ", p.self_user.sex, tostring(card))
|
||||
if seat == _room.self_player.seat then
|
||||
|
|
@ -275,6 +301,7 @@ function M:EventInit()
|
|||
end)
|
||||
_gamectr:AddEventListener(TX_GameEvent.GetCard, function(...)
|
||||
self:__CloseTip()
|
||||
self:reqResidueCard()
|
||||
local arg = { ... }
|
||||
local seat = arg[1]
|
||||
local card = arg[2]
|
||||
|
|
@ -283,6 +310,12 @@ function M:EventInit()
|
|||
-- self:UpdateRoomInfo()
|
||||
local info = self._player_card_info[self:GetPos(seat)]
|
||||
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)
|
||||
|
||||
_gamectr:AddEventListener(TX_GameEvent.FZTips, function(...)
|
||||
|
|
@ -544,26 +577,19 @@ function M:EventInit()
|
|||
_gamectr:AddEventListener(TX_GameEvent.EventResidueCard, function(...)
|
||||
local arg = { ... }
|
||||
local residueCard = arg[1]
|
||||
local cardMap = {}
|
||||
local cardSet = {}
|
||||
self.showNextCtr.selectedIndex = 1
|
||||
self.cardMap = {}
|
||||
self.cardSet = {}
|
||||
for i = 1, #residueCard do
|
||||
local cardNum = residueCard[i]
|
||||
if not cardMap[cardNum] then
|
||||
cardMap[cardNum] = 1
|
||||
table.insert(cardSet, cardNum)
|
||||
if not self.cardMap[cardNum] then
|
||||
self.cardMap[cardNum] = 1
|
||||
table.insert(self.cardSet, cardNum)
|
||||
else
|
||||
cardMap[cardNum] = cardMap[cardNum] + 1
|
||||
self.cardMap[cardNum] = self.cardMap[cardNum] + 1
|
||||
end
|
||||
end
|
||||
table.sort(cardSet)
|
||||
self.showNextList:SetVirtual()
|
||||
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
|
||||
table.sort(self.cardSet)
|
||||
self._flag_getRemindCard = true
|
||||
end)
|
||||
|
||||
--替换mianview的事件
|
||||
|
|
@ -593,10 +619,15 @@ function M:OutCard(card)
|
|||
local info = self._player_card_info[1]
|
||||
self:RemoveCursor()
|
||||
info:UpdateHandCard()
|
||||
|
||||
info:UpdateOutCardList(nil, card, self._cursor)
|
||||
info._ctr_tip.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:PlaySound("JinXi_MJ", self._room.self_player.self_user.sex, tostring(card))
|
||||
self:PlayMJSound("chupai.mp3")
|
||||
|
|
@ -882,7 +913,7 @@ function M:ReloadRoom(bskip)
|
|||
self._room._reload_flag = true
|
||||
end
|
||||
end
|
||||
|
||||
self:reqResidueCard()
|
||||
self:ShowJing()
|
||||
for i = 1, #room.player_list do
|
||||
local p = room.player_list[i]
|
||||
|
|
@ -906,6 +937,11 @@ function M:ReloadRoom(bskip)
|
|||
if p.seat == room.last_outcard_seat then
|
||||
local card = p.outcard_list[#p.outcard_list]
|
||||
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
|
||||
info:UpdateHandCard(true)
|
||||
info:UpdateOutCardList()
|
||||
|
|
@ -964,6 +1000,7 @@ end
|
|||
-----------------------展示牌----------------------------
|
||||
|
||||
function M:reqResidueCard()
|
||||
self._flag_getRemindCard = false
|
||||
local _gamectr = ControllerManager.GetController(GameController)
|
||||
_gamectr:ReqResidueCard()
|
||||
end
|
||||
|
|
|
|||
|
|
@ -4,32 +4,33 @@ local CardCheck = import(".CardCheck")
|
|||
|
||||
local M = {}
|
||||
--
|
||||
function M.new(view, mainView)
|
||||
function M.new(view, mainView, record, direction)
|
||||
setmetatable(MJPlayerSelfCardInfoView, { __index = MJPlayerCardInfoView })
|
||||
setmetatable(M, { __index = MJPlayerSelfCardInfoView })
|
||||
local self = setmetatable({}, { __index = M })
|
||||
self.class = "PlayerSelfCardInfoView"
|
||||
self._view = view
|
||||
self._mainView = mainView
|
||||
self.direction = direction
|
||||
self._flag_canTing = false
|
||||
self:init()
|
||||
return self
|
||||
end
|
||||
|
||||
-- function M:ShowHuTip(card_list)
|
||||
-- printlog("ShowHuTip")
|
||||
-- local tingList = CardCheck.MuiltiplteCaculateTingPai(card_list, true, DataManager.CurrenRoom.room_config.Qidui,
|
||||
-- DataManager.CurrenRoom.room_config.Laizi)
|
||||
-- if #tingList > 0 then
|
||||
-- if DataManager.CurrenRoom.laiziInfo and #DataManager.CurrenRoom.laiziInfo > 0 then
|
||||
-- for i = 1, #DataManager.CurrenRoom.laiziInfo do
|
||||
-- if IsHasDictionary(DataManager.CurrenRoom.laiziInfo[i], tingList) == false then
|
||||
-- table.insert(tingList, DataManager.CurrenRoom.laiziInfo[i])
|
||||
-- end
|
||||
-- end
|
||||
-- end
|
||||
-- end
|
||||
-- self._mainView._hu_tip:FillData(tingList)
|
||||
-- end
|
||||
function M:init()
|
||||
getmetatable(M).__index.init(self)
|
||||
end
|
||||
|
||||
function M:ShowHuTip(card_list, have_bg)
|
||||
self._mainView._hu_tip:FillData(self:GetTingList(card_list), have_bg)
|
||||
end
|
||||
|
||||
function M:GetTingList(card_list)
|
||||
if not self._flag_canTing then
|
||||
return {}
|
||||
end
|
||||
return CardCheck.MuiltiplteCaculateTingPai(card_list, { _hu_qidui = true, _hu_shisanlan = true })
|
||||
end
|
||||
|
||||
function M:UpdateHandCard(getcard, mp)
|
||||
MJPlayerSelfCardInfoView.UpdateHandCard(self, getcard, mp)
|
||||
|
|
|
|||
|
|
@ -72,7 +72,46 @@ function M:rollBack()
|
|||
end
|
||||
|
||||
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
|
||||
end
|
||||
if (checkCard(card + 1, self.cardList) and checkCard(card + 2, self.cardList)) then
|
||||
|
|
@ -224,6 +263,13 @@ function M:tryWin()
|
|||
self:rollBack()
|
||||
end
|
||||
|
||||
if (self:tryFengShunzi(activeCard)) then
|
||||
if (self:tryWin()) then
|
||||
return true
|
||||
end
|
||||
self:rollBack()
|
||||
end
|
||||
|
||||
if (self:tryKezi1Zhong(activeCard)) then
|
||||
if (self:tryWin()) then
|
||||
return true
|
||||
|
|
@ -295,29 +341,56 @@ function M:isQdPari(cardList)
|
|||
return false
|
||||
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.pair_count = 0
|
||||
self.cardList = membe_clone(cardInhand)
|
||||
self.qidui = qidui
|
||||
self.eight_laizi = eightLaizi
|
||||
self.qidui = data._hu_qidui
|
||||
self.shisanlan = data._hu_shisanlan
|
||||
self.eight_laizi = nil
|
||||
self.cardList[#self.cardList + 1] = addCard
|
||||
if (isZhong) then
|
||||
if (data._flag_haveLaizi) then
|
||||
self.zhong_count = cardNum(zhongid, self.cardList)
|
||||
removeCard(self.cardList, zhongid, self.zhong_count)
|
||||
end
|
||||
table.sort(self.cardList)
|
||||
--printlog("添加排序====>>>")
|
||||
--pt(self.cardList)
|
||||
return self:checkQidui() or self:tryWin()
|
||||
return self:checkQidui() or self:checkshisanlan() or self:tryWin()
|
||||
end
|
||||
|
||||
local specialCardList = { 401, 402, 403, 404, 405, 406, 407 }
|
||||
function M.tingPai(cardInhand, isZhong, qidui, eightLaizi)
|
||||
-- printlog("isZhong", isZhong)
|
||||
-- printlog("qidui", qidui)
|
||||
-- printlog("eightLaizi", eightLaizi)
|
||||
-- pt(cardInhand)
|
||||
local specialCardList = { 401, 402, 403, 404, 501, 502, 503 }
|
||||
function M.tingPai(cardInhand, data)
|
||||
data = data or {}
|
||||
local self = setmetatable({}, { __index = M })
|
||||
local tingList = {}
|
||||
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 i = 1, 9 do
|
||||
local tem = k + i
|
||||
local result = init(self, cardInhand, tem, isZhong, qidui, eightLaizi)
|
||||
local result = init(self, cardInhand, tem, data)
|
||||
--printlog("返回结果为===>>>",result)
|
||||
if (result) then
|
||||
tingList[#tingList + 1] = tem
|
||||
|
|
@ -336,7 +409,7 @@ function M.tingPai(cardInhand, isZhong, qidui, eightLaizi)
|
|||
|
||||
for j = 1, #specialCardList do
|
||||
local tem = specialCardList[j]
|
||||
local result = init(self, cardInhand, tem, isZhong, qidui, eightLaizi)
|
||||
local result = init(self, cardInhand, tem, data)
|
||||
if (result) then
|
||||
tingList[#tingList + 1] = tem
|
||||
end
|
||||
|
|
@ -346,14 +419,16 @@ function M.tingPai(cardInhand, isZhong, qidui, eightLaizi)
|
|||
end
|
||||
|
||||
function M.MuiltiplteCaculateTingPai(cardInhand, isZhong, qidui, eightLaizi)
|
||||
if DataManager.CurrenRoom.laiziInfo and #DataManager.CurrenRoom.laiziInfo > 0 then
|
||||
zhongid = DataManager.CurrenRoom.laiziInfo[1]
|
||||
local room = DataManager.CurrenRoom
|
||||
|
||||
if room.laiziInfo and #room.laiziInfo > 0 then
|
||||
zhongid = room.laiziInfo[1]
|
||||
local tempTingList2 = {}
|
||||
local tempTingList1 = M.tingPai(cardInhand, isZhong, qidui, eightLaizi)
|
||||
if DataManager.CurrenRoom.laiziInfo[2] then
|
||||
zhongid = DataManager.CurrenRoom.laiziInfo[2]
|
||||
if room.laiziInfo[2] then
|
||||
zhongid = room.laiziInfo[2]
|
||||
tempTingList2 = M.tingPai(cardInhand, isZhong, qidui, eightLaizi)
|
||||
zhongid = DataManager.CurrenRoom.laiziInfo[1]
|
||||
zhongid = room.laiziInfo[1]
|
||||
end
|
||||
local currentTingList = {}
|
||||
if #tempTingList1 > 0 and #tempTingList2 > 0 then
|
||||
|
|
@ -366,6 +441,7 @@ function M.MuiltiplteCaculateTingPai(cardInhand, isZhong, qidui, eightLaizi)
|
|||
|
||||
return currentTingList
|
||||
else
|
||||
M._flag_zikechengshun = room.room_config.config.zikechengshun or 0
|
||||
zhongid = 0
|
||||
return M.tingPai(cardInhand, isZhong, qidui, eightLaizi)
|
||||
end
|
||||
|
|
|
|||
|
|
@ -246,7 +246,23 @@ function M:fillResult0(room, peopleNum, result)
|
|||
end
|
||||
end
|
||||
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
|
||||
isMeCtr.selectedIndex = 1
|
||||
|
|
|
|||
|
|
@ -67,7 +67,31 @@ function M:InitView(url)
|
|||
self.showNextCtr = self._view:GetController('showNext')
|
||||
self.showNextList = self._view:GetChild('list_showNext')
|
||||
self._view:GetChild('btn_showNext').onClick:Set(function()
|
||||
self:reqResidueCard()
|
||||
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()
|
||||
end
|
||||
end)
|
||||
end)
|
||||
self._view:GetChild('btn_closeShow').onClick:Set(function()
|
||||
self.showNextCtr.selectedIndex = 0
|
||||
|
|
@ -168,13 +192,10 @@ function M:UpdatePlayerInfoView()
|
|||
end
|
||||
|
||||
function M:NewMJPlayerCardInfoView(view, index)
|
||||
return MJMainView.NewMJPlayerCardInfoView(self, view, index)
|
||||
--[[
|
||||
if index == 1 then
|
||||
return MJPlayerSelfCardInfoView.new(view, self)
|
||||
return MJPlayerSelfCardInfoView.new(view, self, nil, "S")
|
||||
end
|
||||
return MJPlayerCardInfoView.new(view, self)
|
||||
]]
|
||||
return MJMainView.NewMJPlayerCardInfoView(self, view, index)
|
||||
end
|
||||
|
||||
function M:EventInit()
|
||||
|
|
@ -216,6 +237,7 @@ function M:EventInit()
|
|||
--self._viewText_testName.text = 0
|
||||
self:UpdateRound()
|
||||
self:RemoveCursor()
|
||||
self:reqResidueCard()
|
||||
self._state.selectedIndex = 1
|
||||
self:ShowJing()
|
||||
if self._niao_View then
|
||||
|
|
@ -234,9 +256,9 @@ function M:EventInit()
|
|||
local card_info = self._player_card_info[self:GetPos(p.seat)]
|
||||
card_info:Clear()
|
||||
card_info:UpdateHandCard()
|
||||
end
|
||||
if _room.curren_round == 1 then
|
||||
self._touxiangMove:Play()
|
||||
if _room.curren_round == 1 then
|
||||
self._touxiangMove:Play()
|
||||
end
|
||||
end
|
||||
end)
|
||||
_gamectr:AddEventListener(TX_GameEvent.EventTurn, function(...)
|
||||
|
|
@ -269,6 +291,8 @@ function M:EventInit()
|
|||
info:UpdateHandCard()
|
||||
local outcard = UIPackage.CreateObjectFromURL(_gcm_outcard_url)
|
||||
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:PlaySound("LiChuan_MJ", p.self_user.sex, tostring(card))
|
||||
|
||||
|
|
@ -278,6 +302,7 @@ function M:EventInit()
|
|||
end)
|
||||
_gamectr:AddEventListener(TX_GameEvent.GetCard, function(...)
|
||||
self:__CloseTip()
|
||||
self:reqResidueCard()
|
||||
local arg = { ... }
|
||||
local seat = arg[1]
|
||||
local card = arg[2]
|
||||
|
|
@ -286,6 +311,12 @@ function M:EventInit()
|
|||
-- self:UpdateRoomInfo()
|
||||
local info = self._player_card_info[self:GetPos(seat)]
|
||||
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)
|
||||
|
||||
_gamectr:AddEventListener(TX_GameEvent.FZTips, function(...)
|
||||
|
|
@ -545,26 +576,19 @@ function M:EventInit()
|
|||
_gamectr:AddEventListener(TX_GameEvent.EventResidueCard, function(...)
|
||||
local arg = { ... }
|
||||
local residueCard = arg[1]
|
||||
local cardMap = {}
|
||||
local cardSet = {}
|
||||
self.showNextCtr.selectedIndex = 1
|
||||
self.cardMap = {}
|
||||
self.cardSet = {}
|
||||
for i = 1, #residueCard do
|
||||
local cardNum = residueCard[i]
|
||||
if not cardMap[cardNum] then
|
||||
cardMap[cardNum] = 1
|
||||
table.insert(cardSet, cardNum)
|
||||
if not self.cardMap[cardNum] then
|
||||
self.cardMap[cardNum] = 1
|
||||
table.insert(self.cardSet, cardNum)
|
||||
else
|
||||
cardMap[cardNum] = cardMap[cardNum] + 1
|
||||
self.cardMap[cardNum] = self.cardMap[cardNum] + 1
|
||||
end
|
||||
end
|
||||
table.sort(cardSet)
|
||||
self.showNextList:SetVirtual()
|
||||
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
|
||||
table.sort(self.cardSet)
|
||||
self._flag_getRemindCard = true
|
||||
end)
|
||||
|
||||
--替换mianview的事件
|
||||
|
|
@ -594,10 +618,15 @@ function M:OutCard(card)
|
|||
local info = self._player_card_info[1]
|
||||
self:RemoveCursor()
|
||||
info:UpdateHandCard()
|
||||
|
||||
info:UpdateOutCardList(nil, card, self._cursor)
|
||||
info._ctr_tip.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:PlaySound("LiChuan_MJ", self._room.self_player.self_user.sex, tostring(card))
|
||||
self:PlayMJSound("chupai.mp3")
|
||||
|
|
@ -883,7 +912,7 @@ function M:ReloadRoom(bskip)
|
|||
self._room._reload_flag = true
|
||||
end
|
||||
end
|
||||
|
||||
self:reqResidueCard()
|
||||
self:ShowJing()
|
||||
for i = 1, #room.player_list do
|
||||
local p = room.player_list[i]
|
||||
|
|
@ -907,6 +936,11 @@ function M:ReloadRoom(bskip)
|
|||
if p.seat == room.last_outcard_seat then
|
||||
local card = p.outcard_list[#p.outcard_list]
|
||||
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
|
||||
info:UpdateHandCard(true)
|
||||
info:UpdateOutCardList()
|
||||
|
|
@ -965,6 +999,7 @@ end
|
|||
-----------------------展示牌----------------------------
|
||||
|
||||
function M:reqResidueCard()
|
||||
self._flag_getRemindCard = false
|
||||
local _gamectr = ControllerManager.GetController(GameController)
|
||||
_gamectr:ReqResidueCard()
|
||||
end
|
||||
|
|
|
|||
|
|
@ -68,6 +68,7 @@ function M:FillRoomData(data)
|
|||
|
||||
self:GenerateAllStepData(data)
|
||||
self:UpdateStep(1)
|
||||
self:Play()
|
||||
-- self:ShowStep(0)
|
||||
end
|
||||
|
||||
|
|
@ -103,7 +104,7 @@ function M:ShowStep(index)
|
|||
else
|
||||
info:UpdateOutCardList()
|
||||
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)
|
||||
else
|
||||
info:UpdateHandCard(false, true)
|
||||
|
|
@ -141,7 +142,7 @@ function M:ShowStep(index)
|
|||
end
|
||||
if step.cmd == Record_Event.Evt_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._view.x = (GRoot.inst.width - self.result._view.width) * -0.5
|
||||
self.result._view.width = GRoot.inst.width
|
||||
|
|
@ -225,6 +226,7 @@ function M:CmdAction(cmd, index)
|
|||
fz.type = cmd.data.type
|
||||
fz.card = cmd.data.card
|
||||
fz.opcard = cmd.data.opcard
|
||||
fz.from_seat = 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
|
||||
table.remove(uf.outcard_list, #uf.outcard_list)
|
||||
|
|
|
|||
|
|
@ -4,32 +4,33 @@ local CardCheck = import(".CardCheck")
|
|||
|
||||
local M = {}
|
||||
--
|
||||
function M.new(view, mainView)
|
||||
function M.new(view, mainView, record, direction)
|
||||
setmetatable(MJPlayerSelfCardInfoView, { __index = MJPlayerCardInfoView })
|
||||
setmetatable(M, { __index = MJPlayerSelfCardInfoView })
|
||||
local self = setmetatable({}, { __index = M })
|
||||
self.class = "PlayerSelfCardInfoView"
|
||||
self._view = view
|
||||
self._mainView = mainView
|
||||
self.direction = direction
|
||||
self._flag_canTing = false
|
||||
self:init()
|
||||
return self
|
||||
end
|
||||
|
||||
-- function M:ShowHuTip(card_list)
|
||||
-- printlog("ShowHuTip")
|
||||
-- local tingList = CardCheck.MuiltiplteCaculateTingPai(card_list, true, DataManager.CurrenRoom.room_config.Qidui,
|
||||
-- DataManager.CurrenRoom.room_config.Laizi)
|
||||
-- if #tingList > 0 then
|
||||
-- if DataManager.CurrenRoom.laiziInfo and #DataManager.CurrenRoom.laiziInfo > 0 then
|
||||
-- for i = 1, #DataManager.CurrenRoom.laiziInfo do
|
||||
-- if IsHasDictionary(DataManager.CurrenRoom.laiziInfo[i], tingList) == false then
|
||||
-- table.insert(tingList, DataManager.CurrenRoom.laiziInfo[i])
|
||||
-- end
|
||||
-- end
|
||||
-- end
|
||||
-- end
|
||||
-- self._mainView._hu_tip:FillData(tingList)
|
||||
-- end
|
||||
function M:init()
|
||||
getmetatable(M).__index.init(self)
|
||||
end
|
||||
|
||||
function M:ShowHuTip(card_list, have_bg)
|
||||
self._mainView._hu_tip:FillData(self:GetTingList(card_list), have_bg)
|
||||
end
|
||||
|
||||
function M:GetTingList(card_list)
|
||||
if not self._flag_canTing then
|
||||
return {}
|
||||
end
|
||||
return CardCheck.MuiltiplteCaculateTingPai(card_list, { _hu_qidui = true, _hu_shisanlan = true })
|
||||
end
|
||||
|
||||
function M:UpdateHandCard(getcard, mp)
|
||||
MJPlayerSelfCardInfoView.UpdateHandCard(self, getcard, mp)
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
-- 检测牌是否存在
|
||||
local function checkCard(eventCard,cardList,num)
|
||||
local function checkCard(eventCard, cardList, num)
|
||||
num = num == nil and 1 or num
|
||||
local result = 0
|
||||
for i = 1,#cardList do
|
||||
for i = 1, #cardList do
|
||||
if (cardList[i] == eventCard) then
|
||||
result = result + 1
|
||||
if(result ==num) then
|
||||
if (result == num) then
|
||||
return true
|
||||
end
|
||||
end
|
||||
|
|
@ -14,24 +14,24 @@ local function checkCard(eventCard,cardList,num)
|
|||
end
|
||||
|
||||
-- 移除指定数量的牌
|
||||
local function removeCard(cardList, card,count)
|
||||
for i=1,count do
|
||||
list_remove(cardList,card)
|
||||
local function removeCard(cardList, card, count)
|
||||
for i = 1, count do
|
||||
list_remove(cardList, card)
|
||||
end
|
||||
end
|
||||
|
||||
local function checkCardAndRomve(eventCard,cardList,num)
|
||||
if(checkCard(eventCard,cardList,num)) then
|
||||
removeCard(cardList,eventCard,num)
|
||||
local function checkCardAndRomve(eventCard, cardList, num)
|
||||
if (checkCard(eventCard, cardList, num)) then
|
||||
removeCard(cardList, eventCard, num)
|
||||
return true
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
-- 获取列表中牌数量
|
||||
local function cardNum(eventCard,cardList)
|
||||
local function cardNum(eventCard, cardList)
|
||||
local result = 0
|
||||
for i=1,#cardList do
|
||||
for i = 1, #cardList do
|
||||
local card = cardList[i]
|
||||
if (card == eventCard) then
|
||||
result = result + 1
|
||||
|
|
@ -40,7 +40,7 @@ local function cardNum(eventCard,cardList)
|
|||
return result
|
||||
end
|
||||
|
||||
local zhongid = 0
|
||||
local zhongid = 0
|
||||
|
||||
|
||||
local M = {
|
||||
|
|
@ -54,16 +54,16 @@ local M = {
|
|||
}
|
||||
|
||||
|
||||
function M:push(cardGroup)
|
||||
self.stack[#self.stack+1] = cardGroup
|
||||
function M:push(cardGroup)
|
||||
self.stack[#self.stack + 1] = cardGroup
|
||||
end
|
||||
|
||||
function M:rollBack()
|
||||
local cardGroup = self.stack[#self.stack]
|
||||
table.remove(self.stack,#self.stack)
|
||||
for _,card in ipairs(cardGroup) do
|
||||
table.remove(self.stack, #self.stack)
|
||||
for _, card in ipairs(cardGroup) do
|
||||
if (card == zhongid) then
|
||||
self.zhong_count = self.zhong_count +1
|
||||
self.zhong_count = self.zhong_count + 1
|
||||
else
|
||||
self.cardList[#self.cardList + 1] = card
|
||||
end
|
||||
|
|
@ -71,36 +71,75 @@ function M:rollBack()
|
|||
table.sort(self.cardList)
|
||||
end
|
||||
|
||||
function M:tryShunzi(card)
|
||||
if (card < 400 and card % 100 > 7) then
|
||||
function M:tryShunzi(card)
|
||||
if card > 400 or card % 100 > 7 then
|
||||
return false
|
||||
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, 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:tryKezi(card)
|
||||
--特殊牌,风牌也就是东南西北的成顺逻辑,中发白逻辑在普通顺子里
|
||||
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)
|
||||
return true
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
function M:tryKezi(card)
|
||||
if (checkCardAndRomve(card, self.cardList, 3)) then
|
||||
local cardGroup = {card,card,card}
|
||||
local cardGroup = { card, card, card }
|
||||
self:push(cardGroup)
|
||||
return true
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
function M:tryPair(card)
|
||||
function M:tryPair(card)
|
||||
if (self.pair_count > 0) then
|
||||
return false
|
||||
end
|
||||
if (checkCardAndRomve(card, self.cardList, 2)) then
|
||||
local cardGroup = {card,card}
|
||||
local cardGroup = { card, card }
|
||||
self:push(cardGroup)
|
||||
self.pair_count = 1
|
||||
return true
|
||||
|
|
@ -108,28 +147,27 @@ function M:tryPair(card)
|
|||
return false
|
||||
end
|
||||
|
||||
|
||||
function M:tryKezi1Zhong(card)
|
||||
if (self.zhong_count >= 1 and checkCardAndRomve(card, self.cardList,2)) then
|
||||
local cardGroup = {card,card,zhongid}
|
||||
function M:tryKezi1Zhong(card)
|
||||
if (self.zhong_count >= 1 and checkCardAndRomve(card, self.cardList, 2)) then
|
||||
local cardGroup = { card, card, zhongid }
|
||||
self:push(cardGroup)
|
||||
self.zhong_count = self.zhong_count -1
|
||||
return true
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
function M:tryKezi2Zhong(card)
|
||||
if (self.zhong_count >= 2 and checkCardAndRomve(card, self.cardList,1)) then
|
||||
local cardGroup = {card,zhongid,zhongid}
|
||||
self:push(cardGroup)
|
||||
self.zhong_count = self.zhong_count -2
|
||||
self.zhong_count = self.zhong_count - 1
|
||||
return true
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
function M:tryShunzi1Zhong(card)
|
||||
function M:tryKezi2Zhong(card)
|
||||
if (self.zhong_count >= 2 and checkCardAndRomve(card, self.cardList, 1)) then
|
||||
local cardGroup = { card, zhongid, zhongid }
|
||||
self:push(cardGroup)
|
||||
self.zhong_count = self.zhong_count - 2
|
||||
return true
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
function M:tryShunzi1Zhong(card)
|
||||
if (card % 100 > 8) then
|
||||
return false
|
||||
end
|
||||
|
|
@ -141,8 +179,8 @@ function M:tryShunzi1Zhong(card)
|
|||
if (checkCard(card + 1, self.cardList)) then
|
||||
removeCard(self.cardList, card, 1)
|
||||
removeCard(self.cardList, card + 1, 1)
|
||||
self.zhong_count = self.zhong_count -1
|
||||
local cardGroup = {card,card+1,zhongid}
|
||||
self.zhong_count = self.zhong_count - 1
|
||||
local cardGroup = { card, card + 1, zhongid }
|
||||
self:push(cardGroup)
|
||||
return true
|
||||
end
|
||||
|
|
@ -150,15 +188,15 @@ function M:tryShunzi1Zhong(card)
|
|||
if (checkCard(card + 2, self.cardList) and ((card + 1) % 100 ~= 0)) then
|
||||
removeCard(self.cardList, card, 1)
|
||||
removeCard(self.cardList, card + 2, 1)
|
||||
self.zhong_count = self.zhong_count -1
|
||||
local cardGroup = {card,zhongid,card+2}
|
||||
self.zhong_count = self.zhong_count - 1
|
||||
local cardGroup = { card, zhongid, card + 2 }
|
||||
self:push(cardGroup)
|
||||
return true
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
function M:tryPair1Zhong(card)
|
||||
function M:tryPair1Zhong(card)
|
||||
if (self.pair_count > 0) then
|
||||
return false
|
||||
end
|
||||
|
|
@ -166,28 +204,28 @@ function M:tryPair1Zhong(card)
|
|||
return false
|
||||
end
|
||||
removeCard(self.cardList, card, 1)
|
||||
local cardGroup = {card,zhongid}
|
||||
local cardGroup = { card, zhongid }
|
||||
self:push(cardGroup)
|
||||
self.zhong_count = self.zhong_count -1
|
||||
self.zhong_count = self.zhong_count - 1
|
||||
self.pair_count = 1
|
||||
return true
|
||||
end
|
||||
|
||||
function M:tryPair2Zhong()
|
||||
function M:tryPair2Zhong()
|
||||
if (self.pair_count > 0) then
|
||||
return false
|
||||
end
|
||||
if (self.zhong_count < 2) then
|
||||
return false
|
||||
end
|
||||
local cardGroup = {zhongid,zhongid}
|
||||
local cardGroup = { zhongid, zhongid }
|
||||
self:push(cardGroup)
|
||||
self.zhong_count = self.zhong_count -2
|
||||
self.zhong_count = self.zhong_count - 2
|
||||
self.pair_count = 1
|
||||
return true
|
||||
end
|
||||
|
||||
function M:tryWin()
|
||||
function M:tryWin()
|
||||
if (self.zhong_count == 4 and not self.eight_laizi) or (self.zhong_count == 8 and self.eight_laizi) then
|
||||
return true
|
||||
end
|
||||
|
|
@ -225,6 +263,13 @@ function M:tryWin()
|
|||
self:rollBack()
|
||||
end
|
||||
|
||||
if (self:tryFengShunzi(activeCard)) then
|
||||
if (self:tryWin()) then
|
||||
return true
|
||||
end
|
||||
self:rollBack()
|
||||
end
|
||||
|
||||
if (self:tryKezi1Zhong(activeCard)) then
|
||||
if (self:tryWin()) then
|
||||
return true
|
||||
|
|
@ -233,7 +278,6 @@ function M:tryWin()
|
|||
end
|
||||
|
||||
if (self:tryKezi2Zhong(activeCard)) then
|
||||
|
||||
if (self:tryWin()) then
|
||||
return true
|
||||
end
|
||||
|
|
@ -257,7 +301,7 @@ function M:tryWin()
|
|||
return false
|
||||
end
|
||||
|
||||
function M:checkQidui()
|
||||
function M:checkQidui()
|
||||
if (not self.qidui) then
|
||||
return false
|
||||
end
|
||||
|
|
@ -270,17 +314,17 @@ function M:checkQidui()
|
|||
return self:isQdPari(cardList)
|
||||
end
|
||||
|
||||
function M:isQdPari(cardList)
|
||||
if(self.qidui_pari_count == 7) then
|
||||
function M:isQdPari(cardList)
|
||||
if (self.qidui_pari_count == 7) then
|
||||
return true
|
||||
end
|
||||
if (#cardList== 0) then
|
||||
if (#cardList == 0) then
|
||||
return true
|
||||
end
|
||||
local card = cardList[1]
|
||||
if (cardNum(card, cardList) >= 2) then
|
||||
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
|
||||
return true
|
||||
end
|
||||
|
|
@ -289,7 +333,7 @@ function M:isQdPari(cardList)
|
|||
if (self.hongzhong_count > 0) then
|
||||
removeCard(cardList, card, 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
|
||||
return true
|
||||
end
|
||||
|
|
@ -297,82 +341,110 @@ function M:isQdPari(cardList)
|
|||
return false
|
||||
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.pair_count = 0
|
||||
self.cardList = membe_clone(cardInhand)
|
||||
self.qidui = qidui
|
||||
self.eight_laizi = eightLaizi
|
||||
self.cardList[#self.cardList+1] = addCard
|
||||
if (isZhong) then
|
||||
self.qidui = data._hu_qidui
|
||||
self.shisanlan = data._hu_shisanlan
|
||||
self.eight_laizi = nil
|
||||
self.cardList[#self.cardList + 1] = addCard
|
||||
if (data._flag_haveLaizi) then
|
||||
self.zhong_count = cardNum(zhongid, self.cardList)
|
||||
removeCard(self.cardList, zhongid, self.zhong_count)
|
||||
end
|
||||
table.sort(self.cardList)
|
||||
--printlog("添加排序====>>>")
|
||||
--pt(self.cardList)
|
||||
return self:checkQidui() or self:tryWin()
|
||||
return self:checkQidui() or self:checkshisanlan() or self:tryWin()
|
||||
end
|
||||
|
||||
local specialCardList = { 401, 402, 403, 404, 405, 406, 407 }
|
||||
function M.tingPai(cardInhand, isZhong, qidui, eightLaizi)
|
||||
-- printlog("isZhong", isZhong)
|
||||
-- printlog("qidui", qidui)
|
||||
-- printlog("eightLaizi", eightLaizi)
|
||||
-- pt(cardInhand)
|
||||
local specialCardList = { 401, 402, 403, 404, 501, 502, 503 }
|
||||
function M.tingPai(cardInhand, data)
|
||||
data = data or {}
|
||||
local self = setmetatable({}, { __index = M })
|
||||
local tingList = {}
|
||||
if not cardInhand or #cardInhand == 0 then
|
||||
return tingList
|
||||
end
|
||||
for k=100,300,100 do
|
||||
for i=1,9 do
|
||||
for k = 100, 300, 100 do
|
||||
for i = 1, 9 do
|
||||
local tem = k + i
|
||||
local result = init(self,cardInhand,tem,isZhong,qidui,eightLaizi)
|
||||
local result = init(self, cardInhand, tem, data)
|
||||
--printlog("返回结果为===>>>",result)
|
||||
if(result) then
|
||||
tingList[#tingList + 1] = tem
|
||||
if (result) then
|
||||
tingList[#tingList + 1] = tem
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
for j=1,#specialCardList do
|
||||
|
||||
for j = 1, #specialCardList do
|
||||
local tem = specialCardList[j]
|
||||
local result = init(self,cardInhand,tem,isZhong,qidui,eightLaizi)
|
||||
if(result) then
|
||||
tingList[#tingList + 1] = tem
|
||||
local result = init(self, cardInhand, tem, data)
|
||||
if (result) then
|
||||
tingList[#tingList + 1] = tem
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
return tingList
|
||||
end
|
||||
|
||||
function M.MuiltiplteCaculateTingPai(cardInhand,isZhong,qidui,eightLaizi)
|
||||
if DataManager.CurrenRoom.laiziInfo and #DataManager.CurrenRoom.laiziInfo>0 then
|
||||
zhongid=DataManager.CurrenRoom.laiziInfo[1]
|
||||
local tempTingList2={}
|
||||
local tempTingList1=M.tingPai(cardInhand,isZhong,qidui,eightLaizi)
|
||||
if DataManager.CurrenRoom.laiziInfo[2] then
|
||||
zhongid=DataManager.CurrenRoom.laiziInfo[2]
|
||||
tempTingList2=M.tingPai(cardInhand,isZhong,qidui,eightLaizi)
|
||||
zhongid=DataManager.CurrenRoom.laiziInfo[1]
|
||||
function M.MuiltiplteCaculateTingPai(cardInhand, isZhong, qidui, eightLaizi)
|
||||
local room = DataManager.CurrenRoom
|
||||
|
||||
if room.laiziInfo and #room.laiziInfo > 0 then
|
||||
zhongid = room.laiziInfo[1]
|
||||
local tempTingList2 = {}
|
||||
local tempTingList1 = M.tingPai(cardInhand, isZhong, qidui, eightLaizi)
|
||||
if room.laiziInfo[2] then
|
||||
zhongid = room.laiziInfo[2]
|
||||
tempTingList2 = M.tingPai(cardInhand, isZhong, qidui, eightLaizi)
|
||||
zhongid = room.laiziInfo[1]
|
||||
end
|
||||
local currentTingList={}
|
||||
if #tempTingList1>0 and #tempTingList2>0 then
|
||||
currentTingList=CombineDictionaryAndRemoveSomeItem(tempTingList1,tempTingList2)
|
||||
elseif #tempTingList1>0 then
|
||||
currentTingList=tempTingList1
|
||||
elseif #tempTingList2>0 then
|
||||
currentTingList=tempTingList2
|
||||
local currentTingList = {}
|
||||
if #tempTingList1 > 0 and #tempTingList2 > 0 then
|
||||
currentTingList = CombineDictionaryAndRemoveSomeItem(tempTingList1, tempTingList2)
|
||||
elseif #tempTingList1 > 0 then
|
||||
currentTingList = tempTingList1
|
||||
elseif #tempTingList2 > 0 then
|
||||
currentTingList = tempTingList2
|
||||
end
|
||||
|
||||
|
||||
return currentTingList
|
||||
|
||||
else
|
||||
zhongid=0
|
||||
return M.tingPai(cardInhand,isZhong,qidui,eightLaizi)
|
||||
M._flag_zikechengshun = room.room_config.config.zikechengshun or 0
|
||||
zhongid = 0
|
||||
return M.tingPai(cardInhand, isZhong, qidui, eightLaizi)
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
return M
|
||||
return M
|
||||
|
|
|
|||
|
|
@ -252,11 +252,26 @@ function M:fillResult0(room, peopleNum, result)
|
|||
end
|
||||
end
|
||||
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
|
||||
isMeCtr.selectedIndex = 1
|
||||
end
|
||||
|
||||
if infoList.seat == room.banker_seat then
|
||||
isZhuang.selectedIndex = 1
|
||||
|
|
|
|||
|
|
@ -65,7 +65,31 @@ function M:InitView(url)
|
|||
self.showNextCtr = self._view:GetController('showNext')
|
||||
self.showNextList = self._view:GetChild('list_showNext')
|
||||
self._view:GetChild('btn_showNext').onClick:Set(function()
|
||||
self:reqResidueCard()
|
||||
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()
|
||||
end
|
||||
end)
|
||||
end)
|
||||
self._view:GetChild('btn_closeShow').onClick:Set(function()
|
||||
self.showNextCtr.selectedIndex = 0
|
||||
|
|
@ -167,13 +191,10 @@ function M:UpdatePlayerInfoView()
|
|||
end
|
||||
|
||||
function M:NewMJPlayerCardInfoView(view, index)
|
||||
return MJMainView.NewMJPlayerCardInfoView(self, view, index)
|
||||
--[[
|
||||
if index == 1 then
|
||||
return MJPlayerSelfCardInfoView.new(view, self)
|
||||
return MJPlayerSelfCardInfoView.new(view, self, nil, "S")
|
||||
end
|
||||
return MJPlayerCardInfoView.new(view, self)
|
||||
]]
|
||||
return MJMainView.NewMJPlayerCardInfoView(self, view, index)
|
||||
end
|
||||
|
||||
function M:EventInit()
|
||||
|
|
@ -215,6 +236,7 @@ function M:EventInit()
|
|||
--self._viewText_testName.text = 0
|
||||
self:UpdateRound()
|
||||
self:RemoveCursor()
|
||||
self:reqResidueCard()
|
||||
self._state.selectedIndex = 1
|
||||
self:ShowJing()
|
||||
if self._niao_View then
|
||||
|
|
@ -232,6 +254,9 @@ function M:EventInit()
|
|||
local card_info = self._player_card_info[self:GetPos(p.seat)]
|
||||
card_info:Clear()
|
||||
card_info:UpdateHandCard()
|
||||
if _room.curren_round == 1 then
|
||||
self._touxiangMove:Play()
|
||||
end
|
||||
end
|
||||
end)
|
||||
_gamectr:AddEventListener(TX_GameEvent.EventTurn, function(...)
|
||||
|
|
@ -264,7 +289,8 @@ function M:EventInit()
|
|||
info:UpdateHandCard()
|
||||
local outcard = UIPackage.CreateObjectFromURL(_gcm_outcard_url)
|
||||
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:PlaySound("NanCheng_MJ", p.self_user.sex, tostring(card))
|
||||
if seat == _room.self_player.seat then
|
||||
|
|
@ -273,6 +299,7 @@ function M:EventInit()
|
|||
end)
|
||||
_gamectr:AddEventListener(TX_GameEvent.GetCard, function(...)
|
||||
self:__CloseTip()
|
||||
self:reqResidueCard()
|
||||
local arg = { ... }
|
||||
local seat = arg[1]
|
||||
local card = arg[2]
|
||||
|
|
@ -281,6 +308,12 @@ function M:EventInit()
|
|||
-- self:UpdateRoomInfo()
|
||||
local info = self._player_card_info[self:GetPos(seat)]
|
||||
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)
|
||||
|
||||
_gamectr:AddEventListener(TX_GameEvent.FZTips, function(...)
|
||||
|
|
@ -543,26 +576,19 @@ function M:EventInit()
|
|||
_gamectr:AddEventListener(TX_GameEvent.EventResidueCard, function(...)
|
||||
local arg = { ... }
|
||||
local residueCard = arg[1]
|
||||
local cardMap = {}
|
||||
local cardSet = {}
|
||||
self.showNextCtr.selectedIndex = 1
|
||||
self.cardMap = {}
|
||||
self.cardSet = {}
|
||||
for i = 1, #residueCard do
|
||||
local cardNum = residueCard[i]
|
||||
if not cardMap[cardNum] then
|
||||
cardMap[cardNum] = 1
|
||||
table.insert(cardSet, cardNum)
|
||||
if not self.cardMap[cardNum] then
|
||||
self.cardMap[cardNum] = 1
|
||||
table.insert(self.cardSet, cardNum)
|
||||
else
|
||||
cardMap[cardNum] = cardMap[cardNum] + 1
|
||||
self.cardMap[cardNum] = self.cardMap[cardNum] + 1
|
||||
end
|
||||
end
|
||||
table.sort(cardSet)
|
||||
self.showNextList:SetVirtual()
|
||||
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
|
||||
table.sort(self.cardSet)
|
||||
self._flag_getRemindCard = true
|
||||
end)
|
||||
|
||||
--替换mianview的事件
|
||||
|
|
@ -592,10 +618,15 @@ function M:OutCard(card)
|
|||
local info = self._player_card_info[1]
|
||||
self:RemoveCursor()
|
||||
info:UpdateHandCard()
|
||||
|
||||
info:UpdateOutCardList(nil, card, self._cursor)
|
||||
info._ctr_tip.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:PlaySound("NanCheng_MJ", self._room.self_player.self_user.sex, tostring(card))
|
||||
self:PlayMJSound("chupai.mp3")
|
||||
|
|
@ -904,6 +935,11 @@ function M:ReloadRoom(bskip)
|
|||
if p.seat == room.last_outcard_seat then
|
||||
local card = p.outcard_list[#p.outcard_list]
|
||||
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
|
||||
info:UpdateHandCard(true)
|
||||
info:UpdateOutCardList()
|
||||
|
|
@ -963,6 +999,7 @@ end
|
|||
-----------------------展示牌----------------------------
|
||||
|
||||
function M:reqResidueCard()
|
||||
self._flag_getRemindCard = false
|
||||
local _gamectr = ControllerManager.GetController(GameController)
|
||||
_gamectr:ReqResidueCard()
|
||||
end
|
||||
|
|
|
|||
|
|
@ -4,32 +4,33 @@ local CardCheck = import(".CardCheck")
|
|||
|
||||
local M = {}
|
||||
--
|
||||
function M.new(view, mainView)
|
||||
function M.new(view, mainView, record, direction)
|
||||
setmetatable(MJPlayerSelfCardInfoView, { __index = MJPlayerCardInfoView })
|
||||
setmetatable(M, { __index = MJPlayerSelfCardInfoView })
|
||||
local self = setmetatable({}, { __index = M })
|
||||
self.class = "PlayerSelfCardInfoView"
|
||||
self._view = view
|
||||
self._mainView = mainView
|
||||
self.direction = direction
|
||||
self._flag_canTing = true
|
||||
self:init()
|
||||
return self
|
||||
end
|
||||
|
||||
-- function M:ShowHuTip(card_list)
|
||||
-- printlog("ShowHuTip")
|
||||
-- local tingList = CardCheck.MuiltiplteCaculateTingPai(card_list, true, DataManager.CurrenRoom.room_config.Qidui,
|
||||
-- DataManager.CurrenRoom.room_config.Laizi)
|
||||
-- if #tingList > 0 then
|
||||
-- if DataManager.CurrenRoom.laiziInfo and #DataManager.CurrenRoom.laiziInfo > 0 then
|
||||
-- for i = 1, #DataManager.CurrenRoom.laiziInfo do
|
||||
-- if IsHasDictionary(DataManager.CurrenRoom.laiziInfo[i], tingList) == false then
|
||||
-- table.insert(tingList, DataManager.CurrenRoom.laiziInfo[i])
|
||||
-- end
|
||||
-- end
|
||||
-- end
|
||||
-- end
|
||||
-- self._mainView._hu_tip:FillData(tingList)
|
||||
-- end
|
||||
function M:init()
|
||||
getmetatable(M).__index.init(self)
|
||||
end
|
||||
|
||||
function M:ShowHuTip(card_list, have_bg)
|
||||
self._mainView._hu_tip:FillData(self:GetTingList(card_list), have_bg)
|
||||
end
|
||||
|
||||
function M:GetTingList(card_list)
|
||||
if not self._flag_canTing then
|
||||
return {}
|
||||
end
|
||||
return CardCheck.MuiltiplteCaculateTingPai(card_list, { _hu_qidui = true, _hu_shisanlan = true })
|
||||
end
|
||||
|
||||
function M:UpdateHandCard(getcard, mp)
|
||||
MJPlayerSelfCardInfoView.UpdateHandCard(self, getcard, mp)
|
||||
|
|
|
|||
|
|
@ -566,7 +566,7 @@ function M:EventInit()
|
|||
-- end
|
||||
-- end
|
||||
self._leftClock_continue = coroutine.start(function()
|
||||
coroutine.wait(1.2)
|
||||
coroutine.wait(1)
|
||||
for i = 1, #self._player_card_info do
|
||||
local card_info = self._player_card_info[i]
|
||||
if i == index then
|
||||
|
|
|
|||
|
|
@ -98,6 +98,7 @@ function M:FillRoomData(data)
|
|||
-- print("hidezhanji 1111")
|
||||
self._currentStep = 1
|
||||
local room = DataManager.CurrenRoom
|
||||
self._room = DataManager.CurrenRoom
|
||||
local _player_card_info = self._player_card_info
|
||||
local roominfo_panel = self._view:GetChild('roominfo_panel1')
|
||||
|
||||
|
|
@ -128,10 +129,11 @@ function M:FillRoomData(data)
|
|||
head_info:UpdatePiao(p.piao)
|
||||
end
|
||||
|
||||
self:UpdateRound()
|
||||
self:UpdateRound(self._room.curren_round)
|
||||
|
||||
self:GenerateAllStepData(data)
|
||||
self:ShowStep(1)
|
||||
self:Play()
|
||||
end
|
||||
|
||||
function M:ShowStep(index)
|
||||
|
|
@ -152,6 +154,7 @@ function M:ShowStep(index)
|
|||
else
|
||||
info:InitPoker(p.hand_list, false)
|
||||
end
|
||||
info:SetOutCardInfo(nil, false)
|
||||
end
|
||||
|
||||
if step.cmd == RunFast_Record_Event.Evt_OutCard then
|
||||
|
|
@ -302,9 +305,17 @@ function M:ClearNextSeatOutCard(currenOutCardSeat)
|
|||
card_info:SetOutCardInfo(nil, false)
|
||||
end
|
||||
|
||||
function M:UpdateRound()
|
||||
local round = self._room.curren_round
|
||||
self._tex_round.text = string.format('第 %d 局', round)
|
||||
function M:UpdateRound(round)
|
||||
local total_round = self._room.room_config.Times
|
||||
-- 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
|
||||
|
||||
function M:NextRecordPlay()
|
||||
|
|
@ -338,77 +349,6 @@ function M:LastRecordPlay()
|
|||
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()
|
||||
if self._play then
|
||||
if (self._currentStep == #self.cmdList + 1 and self._playFoward) then
|
||||
|
|
|
|||
|
|
@ -29,7 +29,8 @@ function M:init()
|
|||
self.ctr_outpoker = view:GetController("output")
|
||||
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.eff_one_card = view:GetChild("one_card_eff"):GetTransition("t0")
|
||||
|
|
@ -314,8 +315,9 @@ function M:UpdateHandPoker(cardList, isPlayAni, isMing)
|
|||
else
|
||||
for i = card_length, 1, -1 do
|
||||
local code = isMing == true and new_card_list[i] or 0
|
||||
local poker = self:CreatPoker1(code, 0.4)
|
||||
self.hand_card_list:AddChild(poker)
|
||||
local card_number_code = self:ChangeOneCodeByFrom(cardList[i])
|
||||
local btn_card = self.hand_card_list:AddItemFromPool()
|
||||
self:FillPoker(btn_card, "", card_number_code)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
@ -430,6 +432,15 @@ function M:PlayEffect(type, callback)
|
|||
end, Time.deltaTime, 1, false):Start()
|
||||
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)
|
||||
if num ~= nil then
|
||||
code = self:ChangeCodeByTo(num)
|
||||
|
|
|
|||
|
|
@ -1237,15 +1237,6 @@ function M:GetHandCardPos1(index, card_count)
|
|||
return x, y
|
||||
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)
|
||||
if self.cor_init_poker ~= nil then
|
||||
coroutine.stop(self.cor_init_poker)
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ function M:init()
|
|||
self._main_view._view:AddChild(self._view)
|
||||
-- 初始位置
|
||||
self._view:Center()
|
||||
self._view.y = GRoot.inst.height * 0.723
|
||||
self._view.y = GRoot.inst.height * 0.8085
|
||||
SetObjEnabled(self._view, false)
|
||||
-- self._view.onTouchBegin:Add(handler(self, self.OnTouchBegin))
|
||||
-- self._view.onTouchMove:Add(handler(self, self.OnTouchMove))
|
||||
|
|
@ -67,20 +67,35 @@ 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 lst_card = self._view:GetChild("lst_card")
|
||||
lst_card:SetVirtual()
|
||||
lst_card:RemoveChildrenToPool()
|
||||
local num = #cards
|
||||
if num > 0 then
|
||||
if num == lst_card.numItems then
|
||||
lst_card:RefreshVirtualList()
|
||||
else
|
||||
lst_card.numItems = num
|
||||
for i = 1, num do
|
||||
local item = lst_card:AddItemFromPool()
|
||||
item.icon = "ui://Main_Majiang/b202_" .. cards[i]
|
||||
item.text = string.format("剩%d张", self._main_view.cardMap[cards[i]] or 0)
|
||||
end
|
||||
lst_card:ResizeToFit(num)
|
||||
SetObjEnabled(self._view, true)
|
||||
else
|
||||
SetObjEnabled(self._view, false)
|
||||
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
|
||||
|
||||
function M:GetPrefix()
|
||||
|
|
|
|||
|
|
@ -223,8 +223,21 @@ function M:fillResult0(room, peopleNum, result)
|
|||
end
|
||||
end
|
||||
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
|
||||
isMeCtr.selectedIndex = 1
|
||||
end
|
||||
|
|
|
|||
|
|
@ -202,6 +202,11 @@ function M:InitView(url, use_custom_bg, custom_bg_config)
|
|||
self._touxiangMove = self._view:GetTransition('touxiangMove')
|
||||
--闹钟倒计时报时
|
||||
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
|
||||
|
||||
function M:ClickSetting()
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
local MJPlayerCardInfoView = import(".MJPlayerCardInfoView")
|
||||
local MJPlayerSelfCardInfoView = import(".MJPlayerSelfCardInfoView")
|
||||
local TableBG = import('Game.Data.TableBG')
|
||||
local MJMainView = import(".MJMainView")
|
||||
|
||||
---
|
||||
local M = {}
|
||||
|
|
@ -67,7 +68,43 @@ function M:SetCardBoxPosition()
|
|||
end
|
||||
|
||||
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
|
||||
|
||||
function M:NextRecordPlay()
|
||||
|
|
@ -120,6 +157,13 @@ function M:ChangePlayState(state)
|
|||
else
|
||||
btn_play:GetController("state").selectedIndex = 0
|
||||
end
|
||||
--开始时,隐藏显示结算界面
|
||||
if state then
|
||||
if self.result then
|
||||
self.result:Destroy()
|
||||
self.result = nil
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function M:ChangeTextSpeed()
|
||||
|
|
|
|||
|
|
@ -33,6 +33,7 @@ function M:init()
|
|||
|
||||
self._area_allDown.onClick:Set(function()
|
||||
self:ClearChoose()
|
||||
self:ShowHuTip()
|
||||
end)
|
||||
|
||||
self._viewBtn_buGuoHu.onClick:Set(function()
|
||||
|
|
@ -87,7 +88,7 @@ function M:UpdateHandCard(getcard, mp)
|
|||
end
|
||||
self:FillHandCard(i, btn_card, tem_card, true)
|
||||
local tingList = {}
|
||||
if getcard then
|
||||
if getcard and self.GetTingList then
|
||||
tingList = self:GetTingList(self:RemoverCardListByIndexGetCardList(i))
|
||||
end
|
||||
btn_card:GetController('ting').selectedIndex = (tingList and #tingList > 0) and 1 or 0
|
||||
|
|
@ -163,8 +164,6 @@ function M:onTouchMove(context)
|
|||
end
|
||||
end
|
||||
else
|
||||
print("lingmengonTouchMove", chooseIndex, self._view_handCardList.numItems)
|
||||
|
||||
self.ischoose = true
|
||||
if self._view_handCardList.selectedIndex ~= chooseIndex then
|
||||
self:ChooseHand(chooseIndex)
|
||||
|
|
@ -294,7 +293,7 @@ function M:__OnClickGetCard(context, flag)
|
|||
self._click_index = self._view_handCardList.selectedIndex
|
||||
local button = context.sender
|
||||
local _room = DataManager.CurrenRoom
|
||||
|
||||
self:ShowHuTip(self:RemoverCardListByIndexGetCardList(self._view_handCardList.numItems))
|
||||
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
|
||||
local card = button.data
|
||||
|
|
@ -321,6 +320,7 @@ function M:ChooseHand(index)
|
|||
self._view_handCardList.selectedIndex = index
|
||||
self._ctr_seletedGet.selectedIndex = 1
|
||||
self._flag_seletedGet = 0
|
||||
self:ShowHuTip(self:RemoverCardListByIndexGetCardList(self._view_handCardList.selectedIndex))
|
||||
end
|
||||
|
||||
function M:ChooseOut()
|
||||
|
|
@ -329,6 +329,7 @@ function M:ChooseOut()
|
|||
self._view_handCardList.selectedIndex = -1
|
||||
self._ctr_seletedGet.selectedIndex = 0
|
||||
self._flag_seletedGet = 1
|
||||
self:ShowHuTip(self:RemoverCardListByIndexGetCardList(self._view_handCardList.numItems))
|
||||
end
|
||||
|
||||
function M:ClearChoose()
|
||||
|
|
|
|||
|
|
@ -2,44 +2,55 @@ local TableBG = import('Game.Data.TableBG')
|
|||
|
||||
local M = {}
|
||||
|
||||
setmetatable(M,{__index = PlayBackView})
|
||||
setmetatable(M, { __index = PlayBackView })
|
||||
|
||||
local pk_default_bg = 1
|
||||
local pk_bg_config = {
|
||||
{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 = 3, url = "base/main_poker/bg/bg3", thumb = "ui://Main_Poker/bg3"},
|
||||
{ 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 = 3, url = "base/main_poker/bg/bg3", thumb = "ui://Main_Poker/bg3" },
|
||||
}
|
||||
|
||||
function M:InitView(url, ex_defaultbg, ex_bgconfig)
|
||||
UIPackage.AddPackage("base/main_poker/ui/Main_Poker")
|
||||
PlayBackView.InitView(self,url)
|
||||
PlayBackView.InitView(self, url)
|
||||
local _view = self._view
|
||||
|
||||
local default_bg = ex_defaultbg or pk_default_bg
|
||||
local bg_config = ex_bgconfig or pk_bg_config
|
||||
TableBG.LoadTableBG(default_bg, self._room.game_id, self._root_view, bg_config)
|
||||
UpdateBeat:Add(self.OnUpdate,self)
|
||||
|
||||
local default_bg = ex_defaultbg or pk_default_bg
|
||||
local bg_config = ex_bgconfig or pk_bg_config
|
||||
TableBG.LoadTableBG(default_bg, self._room.game_id, self._root_view, bg_config)
|
||||
UpdateBeat:Add(self.OnUpdate, self)
|
||||
end
|
||||
|
||||
function M:NextRecordPlay()
|
||||
self:RemoveCursor()
|
||||
local result = PlayBackView.NextRecordPlay(self)
|
||||
if not result then return end
|
||||
self:ChangePlayState(false)
|
||||
self:ChangePlayState(true)
|
||||
self._speed = 1
|
||||
self._playFoward = true
|
||||
self:ChangeTextSpeed()
|
||||
end
|
||||
|
||||
function M:LastRecordPlay()
|
||||
self:RemoveCursor()
|
||||
local result = PlayBackView.LastRecordPlay(self)
|
||||
if not result then return end
|
||||
self:ChangePlayState(false)
|
||||
self:ChangePlayState(true)
|
||||
self._speed = 1
|
||||
self._playFoward = true
|
||||
self:ChangeTextSpeed()
|
||||
end
|
||||
|
||||
function M:RestartRecordPlay()
|
||||
self:ChangeAlpha()
|
||||
self._currentStep = 0
|
||||
self._speed = 1
|
||||
self._playFoward = true
|
||||
self:ChangeTextSpeed()
|
||||
self:ChangePlayState(true)
|
||||
end
|
||||
|
||||
function M:Play()
|
||||
self:ChangeAlpha()
|
||||
self:ChangePlayState(not self._play)
|
||||
|
|
@ -61,23 +72,32 @@ function M:ChangePlayState(state)
|
|||
else
|
||||
btn_play:GetController("state").selectedIndex = 0
|
||||
end
|
||||
--开始时,隐藏显示结算界面
|
||||
if state then
|
||||
if self.result then
|
||||
self.result:Destroy()
|
||||
self.result = nil
|
||||
end
|
||||
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
|
||||
-- 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
|
||||
self._record:GetChild('tex_speed').text = self._speed
|
||||
end
|
||||
|
||||
function M:CmdLeftArrows()
|
||||
self:ChangeAlpha()
|
||||
self:ChangePlayState(true)
|
||||
if not self._playFoward then
|
||||
if self._speed < 16 then
|
||||
self._speed = self._speed * 2
|
||||
if self._speed < 5 then
|
||||
self._speed = self._speed + 1
|
||||
else
|
||||
self._speed = 1
|
||||
end
|
||||
|
|
@ -93,8 +113,8 @@ function M:CmdRightArrows()
|
|||
self:ChangeAlpha()
|
||||
self:ChangePlayState(true)
|
||||
if self._playFoward then
|
||||
if self._speed < 16 then
|
||||
self._speed = self._speed * 2
|
||||
if self._speed < 5 then
|
||||
self._speed = self._speed + 1
|
||||
else
|
||||
self._speed = 1
|
||||
end
|
||||
|
|
@ -106,15 +126,21 @@ function M:CmdRightArrows()
|
|||
end
|
||||
end
|
||||
|
||||
function M:MaxSpeedArriws()
|
||||
self:ChangeAlpha()
|
||||
self:ChangePlayState(true)
|
||||
self._speed = 30
|
||||
end
|
||||
|
||||
function M:OnUpdate()
|
||||
if self._play then
|
||||
if (self._currentStep == #self.cmdList and self._playFoward) then
|
||||
self:ChangePlayState(false)
|
||||
ViewUtil.ErrorTip(nil,"当前已是录像结尾了,再次点击播放按钮可重新播放")
|
||||
ViewUtil.ErrorTip(nil, "当前已是录像结尾了,再次点击播放按钮可重新播放")
|
||||
return
|
||||
elseif (self._currentStep == 0 and not self._playFoward) then
|
||||
self:ChangePlayState(false)
|
||||
ViewUtil.ErrorTip(nil,"当前已是录像开头了,再次点击播放按钮可重新播放")
|
||||
ViewUtil.ErrorTip(nil, "当前已是录像开头了,再次点击播放按钮可重新播放")
|
||||
return
|
||||
end
|
||||
self._timer = self._timer + Time.deltaTime
|
||||
|
|
@ -128,8 +154,8 @@ function M:OnUpdate()
|
|||
end
|
||||
|
||||
function M:Destroy()
|
||||
UpdateBeat:Remove(self.OnUpdate,self)
|
||||
UpdateBeat:Remove(self.OnUpdate, self)
|
||||
PlayBackView.Destroy(self)
|
||||
end
|
||||
|
||||
return M
|
||||
return M
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
Before Width: | Height: | Size: 6.6 KiB After Width: | Height: | Size: 6.6 KiB |
|
|
@ -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>
|
||||
|
|
@ -1,9 +1,9 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<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="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>
|
||||
<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"/>
|
||||
|
|
@ -23,7 +23,7 @@
|
|||
<item/>
|
||||
</list>
|
||||
<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"/>
|
||||
<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">
|
||||
<gearDisplay controller="time_clock" pages="1"/>
|
||||
</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>
|
||||
<transition name="score">
|
||||
<item time="0" type="Alpha" target="n55_pgkj" tween="true" startValue="0" endValue="1" duration="18"/>
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
After Width: | Height: | Size: 8.5 KiB |
|
After Width: | Height: | Size: 2.4 KiB |
|
|
@ -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>
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<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="action" pages="2,空,0,准备,1,开始" selected="0"/>
|
||||
<controller name="time" pages="0,,1,,2,,3," selected="0"/>
|
||||
|
|
@ -14,6 +14,9 @@
|
|||
<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"/>
|
||||
</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">
|
||||
<gearDisplay controller="sdk" pages="0"/>
|
||||
</component>
|
||||
|
|
@ -58,9 +61,6 @@
|
|||
<gearDisplay controller="state" pages="0"/>
|
||||
<relation target="" sidePair="bottom-bottom,center-center"/>
|
||||
</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">
|
||||
<gearDisplay controller="state" pages="0,1,2"/>
|
||||
</text>
|
||||
|
|
@ -73,7 +73,7 @@
|
|||
<gearDisplay controller="state" pages="0,1,2,3"/>
|
||||
</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="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"/>
|
||||
</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"/>
|
||||
|
|
@ -123,11 +123,9 @@
|
|||
<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="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"/>
|
||||
</component>
|
||||
<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"/>
|
||||
</component>
|
||||
<group id="n121_ckvb" name="playiinfo" xy="18,17" size="2497,700"/>
|
||||
|
|
@ -156,7 +154,7 @@
|
|||
<gearDisplay controller="action" pages="0,1"/>
|
||||
<relation target="" sidePair="width-width%,height-height%,center-center,top-middle%"/>
|
||||
</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"/>
|
||||
</component>
|
||||
<group id="n126_ckvb" name="readyBtn" xy="831,481" size="866,360" advanced="true">
|
||||
|
|
@ -228,7 +226,27 @@
|
|||
<gearDisplay controller="voice" pages="1"/>
|
||||
<relation target="" sidePair="width-width,height-height"/>
|
||||
</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>
|
||||
<transition name="t1">
|
||||
<item time="0" type="Alpha" target="n75_jmab" tween="true" startValue="1" endValue="1" duration="18"/>
|
||||
|
|
|
|||
|
|
@ -7,13 +7,14 @@
|
|||
<controller name="card_eff" pages="0,,1," selected="0"/>
|
||||
<controller name="zidongtishi" 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>
|
||||
<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">
|
||||
<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"/>
|
||||
</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">
|
||||
<gearDisplay controller="sdk" pages="0"/>
|
||||
</component>
|
||||
|
|
|
|||
|
After Width: | Height: | Size: 4.0 KiB |
|
|
@ -673,13 +673,21 @@
|
|||
<component id="11k4tcq5" name="RunFast_Main_New_2.xml" path="/" exported="true"/>
|
||||
<component id="11k4tcq6" name="PlayerHead_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="11k4tcqg" name="图层 6.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="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="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>
|
||||
<publish name="Extend_Poker_RunFastNew" path="..\wb_unity_pro\Assets\ART\extend\poker\runfast\ui" packageCount="2"/>
|
||||
</packageDescription>
|
||||
|
|
@ -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">
|
||||
<ComboBox visibleItemCount="10"/>
|
||||
</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/>
|
||||
|
|
@ -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">
|
||||
<relation target="" sidePair="right-right%,bottom-bottom"/>
|
||||
</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"/>
|
||||
</text>
|
||||
<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"/>
|
||||
</group>
|
||||
<component id="n61_o2rw" name="btn_close" src="in3i7cu9" fileName="Main/Component/btn_close.xml" xy="54,6"/>
|
||||
|
|
|
|||
|
|
@ -48,14 +48,14 @@
|
|||
<relation target="" sidePair="bottom-bottom"/>
|
||||
</text>
|
||||
<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%"/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
<item/>
|
||||
</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"/>
|
||||
<relation target="" sidePair="top-top%"/>
|
||||
</group>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 142 KiB |
|
|
@ -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>
|
||||
|
|
@ -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
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>
|
||||
|
|
@ -615,7 +615,6 @@
|
|||
<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="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="66fw7d77" name="listChild_playerScore.xml" path="/component/Record/Component/"/>
|
||||
<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="n9qr7d9h" name="Ellipse 38.png" path="/component/PlayerInfo/Image/"/>
|
||||
<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>
|
||||
<publish name="Lobby" path="..\wb_unity_pro\Assets\ART\base\lobby\ui" packageCount="2">
|
||||
<atlas name="默认" index="0"/>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 396 KiB |
|
After Width: | Height: | Size: 8.6 KiB |
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<component size="2532,1170" pivot="0.5,0.5" designImage="ui://v0j9abjyj6yy1fr" designImageAlpha="35">
|
||||
<controller name="state" pages="0,准备状态,1,游戏状态,2,回合间状态,3,回放状态,4,观战状态" selected="0"/>
|
||||
<controller name="state" pages="0,准备状态,1,游戏状态,2,回合间状态,3,回放状态,4,观战状态" selected="3"/>
|
||||
<controller name="sdk" pages="0,,1," selected="0"/>
|
||||
<controller name="action" pages="2,空,0,准备,1,开始" selected="0"/>
|
||||
<controller name="3d" pages="0,,1," selected="0"/>
|
||||
|
|
@ -49,14 +49,14 @@
|
|||
<gearXY controller="action" pages="2,0,1" values="8808,794|-16242,794|5853,170"/>
|
||||
<Button icon="ui://v0j9abjygq7m48"/>
|
||||
</component>
|
||||
<component id="n35_k3io" name="btn_start" src="gq7m8y" fileName="Main_style_2/Btn_Yellow.xml" xy="-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"/>
|
||||
</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"/>
|
||||
<Button icon="ui://v0j9abjygq7m4i"/>
|
||||
</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"/>
|
||||
</group>
|
||||
<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"/>
|
||||
<relation target="" sidePair="center-center,bottom-bottom"/>
|
||||
</component>
|
||||
<component id="n141_lu84" name="player_info1_2" src="pkx5so" fileName="Main_new/Main/PlayerHead_1.xml" xy="730,-60" size="153,132">
|
||||
<component id="n141_lu84" name="player_info1_2" src="pkx5so" fileName="Main_new/Main/PlayerHead_1.xml" xy="84,778" size="153,132">
|
||||
<gearDisplay controller="state" pages="1,3,4"/>
|
||||
<gearXY controller="state" pages="1,3,4" values="87,787|84,778|85,786" default="730,-60"/>
|
||||
<relation target="n118_pkx5" sidePair="right-left,top-top"/>
|
||||
|
|
@ -156,7 +156,7 @@
|
|||
<gearDisplay controller="state" pages="0,2"/>
|
||||
<relation target="" sidePair="center-center,top-top"/>
|
||||
</component>
|
||||
<component id="n152_kxhm" name="player_info2_2" src="o8k813y" fileName="Main_new/Main_new_2/PlayerHead2_2.xml" xy="2701,486" size="153,132">
|
||||
<component id="n152_kxhm" name="player_info2_2" src="o8k813y" fileName="Main_new/Main_new_2/PlayerHead2_2.xml" xy="1867,35" size="153,132">
|
||||
<gearDisplay controller="state" pages="1,3,4"/>
|
||||
<gearXY controller="state" pages="0,1,3,4" values="2701,486|1866,33|1867,35|1868,34" default="2007,876"/>
|
||||
<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">
|
||||
<relation target="" sidePair="right-right"/>
|
||||
</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">
|
||||
<relation target="" sidePair="width-width,height-height"/>
|
||||
</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">
|
||||
<relation target="" sidePair="center-center"/>
|
||||
</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"/>
|
||||
<Button icon="ui://v0j9abjylj2n17t"/>
|
||||
</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"/>
|
||||
</component>
|
||||
<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"/>
|
||||
</component>
|
||||
<group id="n59_v38k" name="huifang" xy="0,854" size="2532,165" group="n209_lvks"/>
|
||||
<group id="n209_lvks" name="playback" xy="0,35" size="2532,984"/>
|
||||
<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,0" size="2532,1170"/>
|
||||
</displayList>
|
||||
<transition name="laiziMove" frameRate="60">
|
||||
<item time="0" type="Visible" target="n132_swus" value="false"/>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<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="action" pages="2,空,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"/>
|
||||
<Button icon="ui://v0j9abjygq7m48"/>
|
||||
</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"/>
|
||||
</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"/>
|
||||
<Button icon="ui://v0j9abjygq7m4i"/>
|
||||
</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"/>
|
||||
</group>
|
||||
<component id="n231_ogwn" name="gcm_chat" src="gq7m8z" fileName="Main_style_2/Gcm_chat.xml" xy="1933,-505">
|
||||
|
|
@ -141,7 +141,7 @@
|
|||
</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"/>
|
||||
<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"/>
|
||||
<gearXY controller="state" pages="0" values="1189,891" default="89,789"/>
|
||||
<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">
|
||||
<gearDisplay controller="state" pages="1,3,4"/>
|
||||
</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"/>
|
||||
<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"/>
|
||||
|
|
@ -169,6 +169,9 @@
|
|||
<relation target="" sidePair="right-right"/>
|
||||
<Button icon="ui://v0j9abjyu63319u"/>
|
||||
</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">
|
||||
<relation target="" sidePair="right-right"/>
|
||||
</component>
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<component size="175,191" extention="Button">
|
||||
<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="out" pages="0,,1," selected="0"/>
|
||||
<controller name="showhang" 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>
|
||||
<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"/>
|
||||
|
|
@ -35,6 +35,7 @@
|
|||
</image>
|
||||
<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"/>
|
||||
<relation target="n3_hp0b" sidePair="top-top"/>
|
||||
</image>
|
||||
</displayList>
|
||||
<Button mode="Check" sound="ui://v0j9abjyr8cy1k6" volume="0"/>
|
||||
|
|
|
|||
|
|
@ -262,6 +262,9 @@
|
|||
<gearDisplay controller="witness" pages="1"/>
|
||||
<gearXY controller="witness" pages="0" values="2537,30" default="2097,30" tween="true" ease="Linear" duration="0.5"/>
|
||||
</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">
|
||||
<relation target="" sidePair="right-right"/>
|
||||
</component>
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<component size="112,190" extention="Button">
|
||||
<displayList>
|
||||
<loader id="n1_pikf" name="icon" xy="0,65" size="112,115" url="ui://lxhyy2sd6cpqth"/>
|
||||
<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张"/>
|
||||
<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="FZCuYuan-M03" fontSize="28" align="center" vAlign="middle" text="剩4张"/>
|
||||
</displayList>
|
||||
<Button/>
|
||||
</component>
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
<?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>
|
||||
<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"/>
|
||||
|
|
|
|||
|
|
@ -849,7 +849,7 @@
|
|||
<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/"/>
|
||||
<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="sx7x14h" name="gamechatback2.png" path="/Main_new/Main/Image/"/>
|
||||
<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="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="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="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/"/>
|
||||
|
|
@ -1279,7 +1278,8 @@
|
|||
<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="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>
|
||||
<publish name="Main_Majiang" path="..\wb_unity_pro\Assets\ART\base\main_majiang\ui" packageCount="2"/>
|
||||
</packageDescription>
|
||||
|
Before Width: | Height: | Size: 3.2 MiB After Width: | Height: | Size: 2.4 MiB |
|
Before Width: | Height: | Size: 3.7 MiB After Width: | Height: | Size: 3.7 MiB |
|
Before Width: | Height: | Size: 1.2 MiB After Width: | Height: | Size: 813 KiB |
|
Before Width: | Height: | Size: 813 KiB After Width: | Height: | Size: 1.0 MiB |
|
Before Width: | Height: | Size: 1.2 MiB After Width: | Height: | Size: 1.2 MiB |
|
Before Width: | Height: | Size: 1.6 MiB After Width: | Height: | Size: 1.4 MiB |
|
After Width: | Height: | Size: 1.4 MiB |
|
|
@ -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:
|
||||
|
Before Width: | Height: | Size: 3.1 MiB After Width: | Height: | Size: 3.9 MiB |
|
Before Width: | Height: | Size: 1.5 MiB After Width: | Height: | Size: 928 KiB |
|
Before Width: | Height: | Size: 2.5 MiB After Width: | Height: | Size: 2.3 MiB |
|
Before Width: | Height: | Size: 938 KiB After Width: | Height: | Size: 2.0 MiB |
|
Before Width: | Height: | Size: 1.2 MiB After Width: | Height: | Size: 722 KiB |
|
Before Width: | Height: | Size: 1.7 MiB After Width: | Height: | Size: 1.2 MiB |
|
Before Width: | Height: | Size: 1.7 MiB After Width: | Height: | Size: 1.4 MiB |
|
Before Width: | Height: | Size: 1.5 MiB After Width: | Height: | Size: 1.2 MiB |
|
Before Width: | Height: | Size: 4.6 MiB After Width: | Height: | Size: 4.7 MiB |
|
Before Width: | Height: | Size: 2.0 MiB After Width: | Height: | Size: 2.1 MiB |
|
Before Width: | Height: | Size: 1.8 MiB After Width: | Height: | Size: 1.8 MiB |
|
|
@ -1,41 +1,41 @@
|
|||
[
|
||||
{
|
||||
"ver": "1.0.33",
|
||||
"ver": "1.0.34",
|
||||
"name": "跑得快",
|
||||
"check": true,
|
||||
"version": "1.0.33",
|
||||
"version": "1.0.34",
|
||||
"game_id": "66",
|
||||
"bundle": "extend/poker/runfast"
|
||||
},
|
||||
{
|
||||
"ver": "1.0.53",
|
||||
"ver": "1.0.54",
|
||||
"name": "南城麻将",
|
||||
"check": true,
|
||||
"version": "1.0.53",
|
||||
"version": "1.0.54",
|
||||
"game_id": "86",
|
||||
"bundle": "extend/majiang/nancheng"
|
||||
},
|
||||
{
|
||||
"ver": "1.0.56",
|
||||
"ver": "1.0.57",
|
||||
"name": "黎川麻将",
|
||||
"check": true,
|
||||
"version": "1.0.56",
|
||||
"version": "1.0.57",
|
||||
"game_id": "87",
|
||||
"bundle": "extend/majiang/lichuan"
|
||||
},
|
||||
{
|
||||
"ver": "1.0.40",
|
||||
"ver": "1.0.41",
|
||||
"name": "金溪麻将",
|
||||
"check": true,
|
||||
"version": "1.0.40",
|
||||
"version": "1.0.41",
|
||||
"game_id": "88",
|
||||
"bundle": "extend/majiang/jinxi"
|
||||
},
|
||||
{
|
||||
"ver": "1.0.39",
|
||||
"ver": "1.0.40",
|
||||
"name": "抚州麻将",
|
||||
"check": true,
|
||||
"version": "1.0.39",
|
||||
"version": "1.0.40",
|
||||
"game_id": "89",
|
||||
"bundle": "extend/majiang/fuzhou"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,109 +1,109 @@
|
|||
[
|
||||
{
|
||||
"lua_path": "/tolua_project,/base_project,/main_project",
|
||||
"ver": "1.0.11",
|
||||
"ver": "1.0.6",
|
||||
"name": "base_script",
|
||||
"check": true,
|
||||
"bundle": "base/base_script",
|
||||
"version": "1.0.11"
|
||||
"version": "1.0.6"
|
||||
},
|
||||
{
|
||||
"ver": "1.0.11",
|
||||
"ver": "1.0.6",
|
||||
"name": "common",
|
||||
"check": true,
|
||||
"bundle": "base/common",
|
||||
"version": "1.0.11"
|
||||
"version": "1.0.6"
|
||||
},
|
||||
{
|
||||
"ver": "1.0.11",
|
||||
"ver": "1.0.6",
|
||||
"name": "login",
|
||||
"check": true,
|
||||
"bundle": "base/login",
|
||||
"version": "1.0.11"
|
||||
"version": "1.0.6"
|
||||
},
|
||||
{
|
||||
"ver": "1.0.11",
|
||||
"ver": "1.0.6",
|
||||
"name": "lobby",
|
||||
"check": true,
|
||||
"bundle": "base/lobby",
|
||||
"version": "1.0.11"
|
||||
"version": "1.0.6"
|
||||
},
|
||||
{
|
||||
"ver": "1.0.11",
|
||||
"ver": "1.0.6",
|
||||
"name": "Family",
|
||||
"check": true,
|
||||
"bundle": "base/Family",
|
||||
"version": "1.0.11"
|
||||
"version": "1.0.6"
|
||||
},
|
||||
{
|
||||
"ver": "1.0.11",
|
||||
"ver": "1.0.6",
|
||||
"name": "chat",
|
||||
"check": true,
|
||||
"bundle": "base/chat",
|
||||
"version": "1.0.11"
|
||||
"version": "1.0.6"
|
||||
},
|
||||
{
|
||||
"ver": "1.0.11",
|
||||
"ver": "1.0.6",
|
||||
"name": "newgroup",
|
||||
"check": true,
|
||||
"bundle": "base/newgroup",
|
||||
"version": "1.0.11"
|
||||
"version": "1.0.6"
|
||||
},
|
||||
{
|
||||
"ver": "1.0.11",
|
||||
"ver": "1.0.6",
|
||||
"name": "rank",
|
||||
"check": true,
|
||||
"version": "1.0.11",
|
||||
"version": "1.0.6",
|
||||
"bundle": "base/rank"
|
||||
},
|
||||
{
|
||||
"ver": "1.0.11",
|
||||
"ver": "1.0.6",
|
||||
"name": "main_majiang",
|
||||
"check": true,
|
||||
"version": "1.0.11",
|
||||
"version": "1.0.6",
|
||||
"bundle": "base/main_majiang"
|
||||
},
|
||||
{
|
||||
"ver": "1.0.11",
|
||||
"ver": "1.0.6",
|
||||
"name": "main_poker",
|
||||
"check": true,
|
||||
"version": "1.0.11",
|
||||
"version": "1.0.6",
|
||||
"bundle": "base/main_poker"
|
||||
},
|
||||
{
|
||||
"ver": "1.0.11",
|
||||
"ver": "1.0.6",
|
||||
"name": "main_zipai",
|
||||
"check": true,
|
||||
"version": "1.0.11",
|
||||
"version": "1.0.6",
|
||||
"bundle": "base/main_zipai"
|
||||
},
|
||||
{
|
||||
"ver": "1.0.11",
|
||||
"ver": "1.0.6",
|
||||
"name": "static",
|
||||
"check": true,
|
||||
"bundle": "base/static",
|
||||
"version": "1.0.11"
|
||||
"version": "1.0.6"
|
||||
},
|
||||
{
|
||||
"ver": "1.0.11",
|
||||
"ver": "1.0.6",
|
||||
"is_res": true,
|
||||
"name": "embed",
|
||||
"check": true,
|
||||
"bundle": "base/embed",
|
||||
"version": "1.0.11"
|
||||
"version": "1.0.6"
|
||||
},
|
||||
{
|
||||
"ver": "1.0.11",
|
||||
"ver": "1.0.6",
|
||||
"name": "main_pokemajiang",
|
||||
"check": true,
|
||||
"version": "1.0.11",
|
||||
"version": "1.0.6",
|
||||
"bundle": "base/main_pokemajiang"
|
||||
},
|
||||
{
|
||||
"ver": "1.0.11",
|
||||
"ver": "1.0.6",
|
||||
"name": "main_zipaimajiang",
|
||||
"check": true,
|
||||
"version": "1.0.11",
|
||||
"version": "1.0.6",
|
||||
"bundle": "base/main_zipaimajiang"
|
||||
}
|
||||
]
|
||||
|
|
|
|||