diff --git a/lua_probject/base_project/Game/View/FamilyViewZuo.lua b/lua_probject/base_project/Game/View/FamilyViewZuo.lua
index 0faa0ac8..10b60eaf 100644
--- a/lua_probject/base_project/Game/View/FamilyViewZuo.lua
+++ b/lua_probject/base_project/Game/View/FamilyViewZuo.lua
@@ -64,6 +64,11 @@ function M:init(url)
FamilyJoinView.new()
end)
+ --邀请按钮
+ view:GetChild('btn_service').onClick:Set(function()
+ ViewUtil:ErrorTip("还没又加载微信")
+ end)
+
--管理页面
view:GetChild('btn_manager').onClick:Set(function()
FamilyManagerView.new({pageType=1})
diff --git a/lua_probject/base_project/Game/View/FamilyZuo/FamilyManagerTable.lua b/lua_probject/base_project/Game/View/FamilyZuo/FamilyManagerTable.lua
index a778763d..485c1364 100644
--- a/lua_probject/base_project/Game/View/FamilyZuo/FamilyManagerTable.lua
+++ b/lua_probject/base_project/Game/View/FamilyZuo/FamilyManagerTable.lua
@@ -1,5 +1,7 @@
+--管理or设置
local ManagerChild_GamePlayView = import(".ManagerChild_GamePlayView")
local ManagerChild_PlayerView = import(".ManagerChild_PlayerView")
+local ManagerChild_SettingView = import(".ManagerChild_SettingView")
--成员
local ManagerMenberChild_PlayerView = import(".ManagerMenberChild_PlayerView")
local ManagerMenberChild_JoinsView = import(".ManagerMenberChild_JoinsView")
@@ -12,18 +14,19 @@ local FamilyManagerTable = {}
local M = FamilyManagerTable
M.ManagerTable = {
- { id = 1, title = "成员管理", view = ManagerChild_PlayerView },
- { id = 2, title = "快速组局", view = ManagerChild_GamePlayView },
+ { id = 1, title = "基本设置", view = ManagerChild_SettingView },
+ { id = 2, title = "成员管理", view = ManagerChild_PlayerView },
+ { id = 3, title = "快速组局", view = ManagerChild_GamePlayView },
--成员管理页面
- { id = 3, title = "成员列表", view = ManagerMenberChild_PlayerView },
- { id = 4, title = "进驻申请", view = ManagerMenberChild_JoinsView },
- { id = 5, title = "离开申请", view = ManagerMenberChild_ExitsView },
- { id = 6, title = "离开申请", view = ManagerMenberChild_DisInviteView },
- { id = 7, title = "离开申请", view = ManagerMenberChild_DisSameDeskView }
+ { id = 4, title = "成员列表", view = ManagerMenberChild_PlayerView },
+ { id = 5, title = "进驻申请", view = ManagerMenberChild_JoinsView },
+ { id = 6, title = "离开申请", view = ManagerMenberChild_ExitsView },
+ { id = 7, title = "屏蔽邀请", view = ManagerMenberChild_DisInviteView },
+ { id = 8, title = "禁止Ta进房", view = ManagerMenberChild_DisSameDeskView }
}
M.ManagerShow = {
- { 1, 2 }, --群主
+ { 1,2, 3 }, --群主
{}, --代理
{} --用户
}
diff --git a/lua_probject/base_project/Game/View/FamilyZuo/FamilyMenberManagerDisDetailView.lua b/lua_probject/base_project/Game/View/FamilyZuo/FamilyMenberManagerDisDetailView.lua
new file mode 100644
index 00000000..ad8c2c81
--- /dev/null
+++ b/lua_probject/base_project/Game/View/FamilyZuo/FamilyMenberManagerDisDetailView.lua
@@ -0,0 +1,84 @@
+local FamilyMenberManagerDisDetailView = {}
+
+local M = FamilyMenberManagerDisDetailView
+
+function FamilyMenberManagerDisDetailView.new(data, callback)
+ setmetatable(M, { __index = BaseWindow })
+ local self = setmetatable({}, { __index = M })
+ self.class = "FamilyMenberManagerDisDetailView"
+ self._data = data or {}
+ self._callback = callback
+ self._close_destroy = true
+ self._new_hide = false
+ self:init("ui://Family/FamilyMenberManagerDisDetail")
+ return self
+end
+
+function M:init(url)
+ getmetatable(M).__index.init(self, url)
+
+ self._data.type = self._data.type or 1
+ local view = self._view
+
+ self._viewList_player = view:GetChild('list_player')
+ self._viewList_player.itemRenderer = handler(self, self.PlayerRenderer)
+
+ self._viewText_search = self._view:GetChild('input_search')
+ view:GetChild('btn_search').onClick:Set(handler(self,self.ClickSearch))
+ view:GetChild('btn_return').onClick:Set(handler(self,self.ShowAllMenber))
+ self:FillData()
+end
+
+function M:ClickSearch()
+ local text = self._viewText_search.text
+ local tmpTable = self._fillData
+ local searchData = {}
+ for i,v in ipairs(tmpTable) do
+ if v.uid == tonumber(text) or string.find(v.nick,text) then
+ table.insert(searchData,v)
+ end
+ end
+ self._fillData= searchData
+ self._viewList_player.numItems = #self._fillData
+ self._view:GetController('search').selectedIndex = 1
+end
+
+function M:PlayerRenderer(index, obj)
+ local info = self._fillData[index + 1]
+
+ ImageLoad.Load(info.portrait, obj:GetChild('btn_head')._iconObject)
+ obj:GetChild('text_name').text = info.nick
+ obj:GetChild('text_id').text = string.format("标识:%s", info.uid)
+ obj:GetChild('btn_add').onClick:Set(function()
+ ViewUtil:ErrorTip("暂时还未开放此功能。")
+ end)
+end
+
+function M:ShowAllMenber()
+ self._viewText_search.text = ""
+ self._fillData = DataManager.CurrenGroup.members
+ self._viewList_player.numItems = #self._fillData
+end
+
+function M:FillData()
+ self:ShowAllMenber()
+
+ self:Show()
+end
+
+-- 打开窗口
+function M:Show()
+ getmetatable(M).__index.Show(self)
+end
+
+-- 关闭窗口
+function M:Close()
+ getmetatable(M).__index.Close(self)
+end
+
+-- 销毁窗口
+function M:Destroy()
+ getmetatable(M).__index.Destroy(self)
+end
+
+return M
diff --git a/lua_probject/base_project/Game/View/FamilyZuo/ManagerChild_SettingView.lua b/lua_probject/base_project/Game/View/FamilyZuo/ManagerChild_SettingView.lua
new file mode 100644
index 00000000..a1518be9
--- /dev/null
+++ b/lua_probject/base_project/Game/View/FamilyZuo/ManagerChild_SettingView.lua
@@ -0,0 +1,109 @@
+local FamilyRoomCardView = import(".FamilyRoomCardView")
+
+local ManagerChild_SettingView = {}
+
+local M = ManagerChild_SettingView
+
+function ManagerChild_SettingView.new(data, callback)
+ local self = setmetatable({}, { __index = M })
+ self.class = "ManagerChild_SettingView"
+ self._data = data or {}
+ self._callback = callback
+ self:init("ui://Family/ManagerChild_Setting")
+ return self
+end
+
+function M:init(url)
+ local root = self._data.root
+ if not root then
+ ViewUtil:ErrorTip("点击太快,请重新打开页面")
+ return
+ end
+ local page = root._view:GetChild('page')
+ ViewUtil.LoadPage(page, url, function(view)
+ self._view = view
+
+ view:GetChild('btn_dissolveRoom').onClick:Set(function()
+
+ end)
+
+ view:GetChild('btn_add').onClick:Set(function()
+ FamilyRoomCardView.new({})
+ end)
+
+ view:GetChild('btn_record').onClick:Set(function()
+
+ end)
+
+ view:GetChild('btn_dissolveRoomDetail').onClick:Set(handler(self, self.ClickDissolveDetail))
+ view:GetChild('btn_witness').onClick:Set(handler(self, self.ClickWitnessDetail))
+
+ self._viewCheck_hideDesk = view:GetChild('check_hideDesk')
+ self._viewCheck_hideDesk.onClick:Set(handler(self, self.ClickCheckHideDesk))
+ view:GetChild('check_dissolveRoom').onClick:Set(handler(self, self.ClickCheckDissolveRoom))
+ self._viewCheck_witness = view:GetChild('check_witness')
+ self._viewCheck_witness.onClick:Set(handler(self, self.ClickCheckWitness))
+
+ self:FillData()
+ end)
+end
+
+function M:ClickDissolveDetail()
+
+end
+
+function M:ClickWitnessDetail()
+
+end
+
+function M:ClickCheckHideDesk()
+ local mgr_ctr = ControllerManager.GetController(GroupMgrController)
+ mgr_ctr:FG_SetShowStartRoom(DataManager.CurrenGroup.id, self._viewCheck_hideDesk.selected and 1 or 0, function(res)
+ --因为没有回调,这边先把值设置好
+ if res.ReturnCode ~= 0 then
+ ViewUtil.ErrorTip(res.ReturnCode,"设置失败")
+ self._viewCheck_hideDesk.selected = not self._viewCheck_hideDesk.selected
+ return
+ else
+ ViewUtil:ErrorTip("设置成功")
+ end
+ end)
+end
+
+function M:ClickCheckDissolveRoom()
+
+end
+
+function M:ClickCheckWitness()
+
+end
+
+function M:FillData()
+ local view = self._view
+ local group = DataManager.CurrenGroup
+
+ view:GetChild('list_gameName').selectedIndex = 0
+ view:GetChild('text_name').text = group.name
+ view:GetChild('text_id').text = group.id
+ view:GetChild('text_fangka').text = group.groupDiamo
+
+ self._viewCheck_hideDesk.selected = group.isOpenStartRoom == 1
+ self._viewCheck_witness.selected = group.isWatch == 1
+end
+
+-- 打开窗口
+function M:Show()
+ getmetatable(M).__index.Show(self)
+end
+
+-- 关闭窗口
+function M:Close()
+ getmetatable(M).__index.Close(self)
+end
+
+-- 销毁窗口
+function M:Destroy()
+ getmetatable(M).__index.Destroy(self)
+end
+
+return M
diff --git a/lua_probject/base_project/Game/View/FamilyZuo/ManagerMenberChild_DisInviteView.lua b/lua_probject/base_project/Game/View/FamilyZuo/ManagerMenberChild_DisInviteView.lua
index 0039ac78..503acfcb 100644
--- a/lua_probject/base_project/Game/View/FamilyZuo/ManagerMenberChild_DisInviteView.lua
+++ b/lua_probject/base_project/Game/View/FamilyZuo/ManagerMenberChild_DisInviteView.lua
@@ -1,3 +1,5 @@
+local FamilyMenberManagerDisDetailView = import(".FamilyMenberManagerDisDetailView")
+
local ManagerMenberChild_DisInviteView = {}
local M = ManagerMenberChild_DisInviteView
@@ -20,9 +22,22 @@ function M:init(url)
local page = root._view:GetChild('page')
ViewUtil.LoadPage(page, url, function(view)
self._view = view
+
+ view:GetChild('check_disAllInvite').onClick:Set(handler(self,self.ClickDisAll))
+ view:GetChild('btn_add').onClick:Set(handler(self,self.ClickAdd))
+
+ self:FillData()
end)
end
+function M:ClickDisAll()
+ ViewUtil:ErrorTip("当前功能还没开放")
+end
+
+function M:ClickAdd()
+ FamilyMenberManagerDisDetailView.new()
+end
+
function M:FillData()
end
diff --git a/lua_probject/base_project/Game/View/FamilyZuo/ManagerMenberChild_DisSameDeskView.lua b/lua_probject/base_project/Game/View/FamilyZuo/ManagerMenberChild_DisSameDeskView.lua
index 0039ac78..92de0e82 100644
--- a/lua_probject/base_project/Game/View/FamilyZuo/ManagerMenberChild_DisSameDeskView.lua
+++ b/lua_probject/base_project/Game/View/FamilyZuo/ManagerMenberChild_DisSameDeskView.lua
@@ -1,13 +1,15 @@
-local ManagerMenberChild_DisInviteView = {}
+local FamilyMenberManagerDisDetailView = import(".FamilyMenberManagerDisDetailView")
-local M = ManagerMenberChild_DisInviteView
+local ManagerMenberChild_DisSameDeskView = {}
-function ManagerMenberChild_DisInviteView.new(data, callback)
+local M = ManagerMenberChild_DisSameDeskView
+
+function ManagerMenberChild_DisSameDeskView.new(data, callback)
local self = setmetatable({}, { __index = M })
- self.class = "ManagerMenberChild_DisInviteView"
+ self.class = "ManagerMenberChild_DisSameDeskView"
self._data = data or {}
self._callback = callback
- self:init("ui://Family/ManagerMenberChild_DisInvite")
+ self:init("ui://Family/ManagerMenberChild_DisSameDesk")
return self
end
@@ -20,11 +22,17 @@ function M:init(url)
local page = root._view:GetChild('page')
ViewUtil.LoadPage(page, url, function(view)
self._view = view
+
+ view:GetChild('btn_add').onClick:Set(handler(self, self.ClickAdd))
+ self:FillData()
end)
end
-function M:FillData()
+function M:ClickAdd()
+ FamilyMenberManagerDisDetailView.new()
+end
+function M:FillData()
end
-- 打开窗口
diff --git a/lua_probject/base_project/table/xieyi.text b/lua_probject/base_project/table/xieyi.text
index f7f60751..8db7e52a 100644
--- a/lua_probject/base_project/table/xieyi.text
+++ b/lua_probject/base_project/table/xieyi.text
@@ -1,4 +1,7 @@
缺少协议 内容是自己与亲友圈的相关操作,比如说创建解散亲友圈,加入退出亲友圈
未找到协议 玩家发送申请退出亲友圈
未找到协议 群主可以审批玩家是否退出亲友圈
-未找到协议 小黑屋协议
\ No newline at end of file
+未找到协议 小黑屋协议
+未找到协议 禁止邀请
+未找到协议 禁止ta加入房间
+未找到协议 解散房间设置
\ No newline at end of file
diff --git a/lua_probject/extend_project/extend/poker/duoduo/EXPlayerPokerInfoView.lua b/lua_probject/extend_project/extend/poker/duoduo/EXPlayerPokerInfoView.lua
index c288d906..27f00d64 100644
--- a/lua_probject/extend_project/extend/poker/duoduo/EXPlayerPokerInfoView.lua
+++ b/lua_probject/extend_project/extend/poker/duoduo/EXPlayerPokerInfoView.lua
@@ -188,7 +188,7 @@ function M:SetOutCardInfo(cardlist, isPass, isAnim)
local poker_item = self._view_Out:AddItemFromPool()
self:FillPoker2(poker_item, showOneCard)
- self._view:GetChild('text_paiNum').text = string.format("X%s", #cardlist)
+ -- self._view:GetChild('text_paiNum').text = string.format("X%s", #cardlist)
else
printlog("error 190", "除了鬼牌没有其他牌")
end
@@ -473,28 +473,28 @@ function M:FillPoker2(poker, code, suffix)
suffix = suffix or ""
code = code == 1 and "00" or code
if not poker.icon then
- poker:GetChild('icon').url = string.format("ui://Extend_Poker_DuoDuo/%s%s", code, suffix)
+ poker:GetChild('icon').url = string.format("ui://Main_Poker/%s%s", code, suffix)
else
- poker.icon = string.format("ui://Extend_Poker_DuoDuo/%s%s", code, suffix)
+ poker.icon = string.format("ui://Main_Poker/%s%s", code, suffix)
end
end
function M:CreatPoker1(poker, scale, bank)
- local poker_item = UIPackage.CreateObject("Extend_Poker_DuoDuo", "poker" .. scale * 10)
+ local poker_item = UIPackage.CreateObject("Main_Poker", "poker" .. scale * 10)
local code = self:ChangeCodeByTo(poker)
local card_code_obj
if DataManager.CurrenRoom.pai == 0 then
if code == 310 and DataManager.CurrenRoom.room_config.Heart10 == 2 then
-- body
- card_code_obj = UIPackage.CreateObjectFromURL("ui://Extend_Poker_DuoDuo/" .. code .. "_1")
+ card_code_obj = UIPackage.CreateObjectFromURL("ui://Main_Poker/" .. code .. "_1")
else
- card_code_obj = UIPackage.CreateObjectFromURL("ui://Extend_Poker_DuoDuo/" .. code)
+ card_code_obj = UIPackage.CreateObjectFromURL("ui://Main_Poker/" .. code)
end
else
if code == 310 and DataManager.CurrenRoom.room_config.Heart10 == 2 then
-- body
- card_code_obj = UIPackage.CreateObjectFromURL("ui://Extend_Poker_DuoDuo/" .. code .. "_2")
+ card_code_obj = UIPackage.CreateObjectFromURL("ui://Main_Poker/" .. code .. "_2")
else
card_code_obj = UIPackage.CreateObjectFromURL("ui://Main_Poker/" .. code .. "_2")
end
@@ -510,20 +510,20 @@ function M:CreatPoker1(poker, scale, bank)
end
function M:CreatPoker(poker, scale, bank)
- local poker_item = UIPackage.CreateObject("Extend_Poker_DuoDuo", "poker" .. 12.5)
+ local poker_item = UIPackage.CreateObject("Main_Poker", "poker" .. 12.5)
local code = self:ChangeCodeByTo(poker)
local card_code_obj
if DataManager.CurrenRoom.pai == 0 then
if code == 310 and DataManager.CurrenRoom.room_config.Heart10 == 2 then
-- body
- card_code_obj = UIPackage.CreateObjectFromURL("ui://Extend_Poker_DuoDuo/" .. code .. "_1")
+ card_code_obj = UIPackage.CreateObjectFromURL("ui://Main_Poker/" .. code .. "_1")
else
- card_code_obj = UIPackage.CreateObjectFromURL("ui://Extend_Poker_DuoDuo/" .. code)
+ card_code_obj = UIPackage.CreateObjectFromURL("ui://Main_Poker/" .. code)
end
else
if code == 310 and DataManager.CurrenRoom.room_config.Heart10 == 2 then
-- body
- card_code_obj = UIPackage.CreateObjectFromURL("ui://Extend_Poker_DuoDuo/" .. code .. "_2")
+ card_code_obj = UIPackage.CreateObjectFromURL("ui://Main_Poker/" .. code .. "_2")
else
card_code_obj = UIPackage.CreateObjectFromURL("ui://Main_Poker/" .. code .. "_2")
end
diff --git a/lua_probject/extend_project/extend/poker/duoduo/EXPlayerPokerInfoView_tuo.lua b/lua_probject/extend_project/extend/poker/duoduo/EXPlayerPokerInfoView_tuo.lua
new file mode 100644
index 00000000..c288d906
--- /dev/null
+++ b/lua_probject/extend_project/extend/poker/duoduo/EXPlayerPokerInfoView_tuo.lua
@@ -0,0 +1,562 @@
+---
+--- Created by 谌建军.
+--- DateTime: 2017/12/13 16:35
+---
+local EXPlayerPokerInfoView = {
+ _view = nil,
+ _mainView = nil,
+ _mask_liangpai = nil,
+}
+
+local M = EXPlayerPokerInfoView
+
+function M.new(view, mainView)
+ local self = {}
+ setmetatable(self, { __index = M })
+ self._view = view
+ self._mainView = mainView
+ self:init()
+ return self
+end
+
+function M:init()
+ local view = self._view
+ self._gameCtr = ControllerManager.GetController(GameController)
+
+ self.item_data = json.decode(self._view:GetChild("area_mask").text)
+ self.out_card_data = self.item_data["outcard_list"]
+ self._mask_liangpai = view:GetChild("mask_liangpai")
+ 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("list_backHand")
+
+ self.ctr_one_card = view:GetController("one_card")
+ self.eff_one_card = view:GetChild("one_card_eff"):GetTransition("t0")
+
+ self.text_bomb_score = view:GetChild("Score")
+ self.ani_bomb_score = view:GetTransition("score")
+ self.ani_result_score = view:GetTransition("score_1")
+
+ ------------------------------lingmeng------------------------
+
+ self._view_Out = self._view:GetChild('List_Out')
+ self._view_resultOut = self._view:GetChild('list_resultOut')
+ self._ctr_resultOut = self._view:GetController('resultOut')
+ self._ctr_time_clock = self._view:GetController('time_clock')
+ self._view_comp_clock = self._view:GetChild('Comp_Clock')
+ --------------------------------------------------------------
+end
+
+-- function M:SetOutCardInfo(cardlist, isPass, isAnim)
+-- self.outpoker_list:RemoveChildren(0, -1, true)
+-- if cardlist == nil then
+-- if isPass == true then
+-- self.ctr_outpoker.selectedIndex = 2
+-- else
+-- self.ctr_outpoker.selectedIndex = 0
+-- end
+-- else
+-- if isAnim then
+-- if self.move_cor then
+-- coroutine.stop(self.move_cor)
+-- self.move_cor = nil
+-- end
+-- local time = 0.1
+-- for i = 1, #cardlist do
+-- local poker_item = UIPackage.CreateObject("Extend_Poker_DuoDuo", "poker7")
+-- local code = self:ChangeCodeByTo(cardlist[i])
+-- -- local card_code_obj = UIPackage.CreateObjectFromURL("ui://Extend_Poker_RunFast/"..code)
+-- -- local card_code_obj = UIPackage.CreateObjectFromURL("ui://Main_Poker/" .. code .. "_2")
+-- local card_code_obj
+-- -- if DataManager.CurrenRoom.pai==0 then
+-- -- card_code_obj = UIPackage.CreateObjectFromURL("ui://Extend_Poker_RunFast/"..code)
+-- -- else
+-- -- card_code_obj = UIPackage.CreateObjectFromURL("ui://Main_Poker/" .. code .. "_2")
+-- -- end
+-- -- if code==310 and DataManager.CurrenRoom.room_config.Heart10 == 2 then
+-- -- -- body
+-- -- card_code_obj = UIPackage.CreateObjectFromURL("ui://Extend_Poker_RunFast/"..code.."_1")
+-- -- end
+-- if DataManager.CurrenRoom.pai == 0 then
+-- if code == 310 and DataManager.CurrenRoom.room_config.Heart10 == 2 then
+-- -- body
+-- card_code_obj = UIPackage.CreateObjectFromURL("ui://Extend_Poker_DuoDuo/" .. code .. "_1")
+-- else
+-- card_code_obj = UIPackage.CreateObjectFromURL("ui://Extend_Poker_DuoDuo/" .. code)
+-- end
+-- else
+-- if code == 310 and DataManager.CurrenRoom.room_config.Heart10 == 2 then
+-- -- body
+-- card_code_obj = UIPackage.CreateObjectFromURL("ui://Extend_Poker_DuoDuo/" .. code .. "_2")
+-- else
+-- card_code_obj = UIPackage.CreateObjectFromURL("ui://Main_Poker/" .. code .. "_2")
+-- end
+-- end
+-- if card_code_obj == nil then
+-- card_code_obj = UIPackage.CreateObjectFromURL("ui://Main_Poker/00")
+-- end
+-- poker_item:AddChild(card_code_obj)
+-- --local poker = self:CreatPoker(cardlist[i],0.7)
+-- self.outpoker_list:AddChild(poker_item)
+-- poker_item.xy = Vector2.New(self.out_card_data["start_x"], self.out_card_data["start_y"])
+-- poker_item:TweenMove(
+-- self:GetOutCardEndPokerPos(i, #cardlist, self.outpoker_list, poker_item, self.out_card_data
+-- ["maxcount_x"], 1.5), time)
+-- --card_code_obj
+-- -- self.tween = TweenUtils.TweenFloat(1,0.7,time,function(x)
+-- -- card_code_obj:SetScale(x,x)
+-- -- end)
+-- card_code_obj:SetScale(1.5, 1.5)
+-- end
+-- self.move_cor = coroutine.start(function()
+-- coroutine.wait(0.1)
+-- ViewUtil.PlaySound("DuoDuo_PK", "extend/poker/duoduo/sound/chupai.mp3")
+-- end)
+-- else
+-- for i = 1, #cardlist do
+-- local poker_item = UIPackage.CreateObject("Extend_Poker_DuoDuo", "poker7")
+-- local code = self:ChangeCodeByTo(cardlist[i])
+-- local card_code_obj
+-- if DataManager.CurrenRoom.pai == 0 then
+-- if code == 310 and DataManager.CurrenRoom.room_config.Heart10 == 2 then
+-- -- body
+-- card_code_obj = UIPackage.CreateObjectFromURL("ui://Extend_Poker_DuoDuo/" .. code .. "_1")
+-- else
+-- card_code_obj = UIPackage.CreateObjectFromURL("ui://Extend_Poker_DuoDuo/" .. code)
+-- end
+-- else
+-- if code == 310 and DataManager.CurrenRoom.room_config.Heart10 == 2 then
+-- -- body
+-- card_code_obj = UIPackage.CreateObjectFromURL("ui://Extend_Poker_DuoDuo/" .. code .. "_2")
+-- else
+-- card_code_obj = UIPackage.CreateObjectFromURL("ui://Main_Poker/" .. code .. "_2")
+-- end
+-- end
+-- if card_code_obj == nil then
+-- card_code_obj = UIPackage.CreateObjectFromURL("ui://Main_Poker/00")
+-- end
+-- card_code_obj:SetScale(1.5, 1.5)
+-- poker_item:AddChild(card_code_obj)
+-- --local poker = self:CreatPoker(cardlist[i],0.7)
+-- self.outpoker_list:AddChild(poker_item)
+-- poker_item.xy = self:GetOutCardEndPokerPos(i, #cardlist, self.outpoker_list, poker_item,
+-- self.out_card_data["maxcount_x"], 1.5)
+-- end
+-- end
+-- --self.ctr_outpoker.selectedIndex = 1
+-- end
+-- end
+
+function M:SetOutCardInfo(cardlist, isPass, isAnim)
+ self._view_Out:RemoveChildren(0, -1, true)
+ if cardlist == nil then
+ if isPass == true then
+ self.ctr_outpoker.selectedIndex = 2
+ else
+ self.ctr_outpoker.selectedIndex = 0
+ end
+ else
+ self.ctr_outpoker.selectedIndex = 1
+ -- if isAnim then
+ -- if self.move_cor then
+ -- coroutine.stop(self.move_cor)
+ -- self.move_cor = nil
+ -- end
+ -- for i = 1, #cardlist do
+ -- local poker_item = self._view_Out:AddItemFromPool()
+ -- local code = self:ChangeCodeByTo(cardlist[i])
+
+ -- self:FillPoker(poker_item, "", cardlist[i])
+ -- end
+ -- self.move_cor = coroutine.start(function()
+ -- coroutine.wait(0.1)
+ -- ViewUtil.PlaySound("DuoDuo_PK", "extend/poker/duoduo/sound/chupai.mp3")
+ -- end)
+ -- else
+ local showOneCard
+ for i = 1, #cardlist do
+ if cardlist[i] % 100 < 3 then
+ local poker_item = self._view_Out:AddItemFromPool()
+ self:FillPoker2(poker_item, cardlist[i])
+ else
+ showOneCard = cardlist[i]
+ end
+ end
+ if showOneCard then
+ local poker_item = self._view_Out:AddItemFromPool()
+
+ self:FillPoker2(poker_item, showOneCard)
+ self._view:GetChild('text_paiNum').text = string.format("X%s", #cardlist)
+ else
+ printlog("error 190", "除了鬼牌没有其他牌")
+ end
+ self._view_Out:ResizeToFit(self._view_Out.numItems)
+ -- end
+ end
+end
+
+function M:SetOutCardBlack()
+ for i = 0, self.outpoker_list.numChildren - 1 do
+ self.outpoker_list:GetChildAt(i):GetChildAt(0):GetChildAt(0):GetChildAt(0).color = Color(0.7, 0.7, 0.7)
+ end
+end
+
+-- 12 -61 --11 58 --10 55 --46
+function M:GetOffSet(cardLength) -- 15 -70
+ if cardLength > 8 then
+ return 52 --40
+ else
+ return -cardLength * -10 + 60
+ end
+end
+
+function M:GetOutCardEndFirstPokerPos(count, parent_com, poker_obj, max_count, scale)
+ local parent_width, parent_height = parent_com.width, parent_com.height
+ local poker_width, poker_height = poker_obj.width * scale, poker_obj.height * scale
+ local offset = self:GetOffSet(count)
+ local x, y = 0, 0
+ --local length = (count - 1) * (poker_width + offset) + poker_width
+ --if length <= parent_width then
+ -- x = (parent_width - length) / 2
+ -- y = (parent_height - poker_height) / 2
+ --end
+ if count <= max_count then
+ local length = (count - 1) * offset + poker_width
+ x = (parent_width - length) / 2
+ y = ((parent_height - poker_height) / 2)
+ end
+ return Vector2.New(x, y)
+end
+
+function M:GetOutCardEndPokerPos(index, count, parent_com, poker_obj, max_count, scale)
+ local offset_x, offset_y = self:GetOffSet(count), -100
+ local start_pos = self:GetOutCardEndFirstPokerPos(count, parent_com, poker_obj, max_count, scale)
+ local poker_width, poker_height = poker_obj.width * scale, poker_obj.height * scale
+ local parent_width, parent_height = parent_com.width, parent_com.height
+ local pos_x, pos_y = start_pos.x + (index - 1) * offset_x, start_pos.y
+ if index > max_count then
+ pos_x = (index - max_count - 1) * offset_x
+ pos_y = pos_y + poker_height + offset_y
+ end
+
+ return Vector2.New(pos_x, pos_y)
+end
+
+-- function M:PlayCardTypeEff(type1)
+-- if type1 < 7 and type1 ~= 4 then return end
+-- local eff_code = 0
+-- if type1 == 10 then
+-- eff_code = 2
+-- elseif type1 == 11 then
+-- eff_code = 3
+-- elseif type1 == 4 then
+-- eff_code = 4
+-- else
+-- eff_code = 1
+-- end
+-- if self.cro_type_eff ~= nil then
+-- coroutine.stop(self.cro_type_eff)
+-- end
+-- self.cro_type_eff = nil
+-- self.cro_type_eff = coroutine.start(function()
+-- self.type_eff_view = UIPackage.CreateObjectFromURL("ui://Extend_Poker_RunFast/eff_"..eff_code)
+-- if self.type_eff_view == nil then return end
+-- self._view:AddChild(self.type_eff_view)
+-- self.type_eff_view:SetXY((self._view.width - self.type_eff_view.width) / 2,self.outpoker_list.y)
+-- self.type_eff_view:GetTransition("t0"):Play()
+-- coroutine.wait(1.5)
+-- if self.type_eff_view ~= nil then
+-- self.type_eff_view:Dispose()
+-- self.type_eff_view = nil
+-- end
+-- end)
+-- end
+
+function M:PlayScore(score, isBomb, isWin)
+ if score == nil then
+ self.text_bomb_score.alpha = 0
+ return
+ end
+ if isBomb then
+ self.text_bomb_score.text = score >= 0 and "+" .. score or tostring(score)
+ self.text_bomb_score.grayed = score < 0
+ self.ani_bomb_score:Play()
+ else
+ if score < 0 then
+ self.text_bomb_score.text = tostring(score)
+ self.text_bomb_score.grayed = true
+ elseif score > 0 then
+ self.text_bomb_score.text = "+" .. score
+ self.text_bomb_score.grayed = false
+ else
+ local str = isWin and "+" or "-"
+ self.text_bomb_score.text = str .. score
+ self.text_bomb_score.grayed = not isWin
+ end
+ self.ani_result_score:Play()
+ end
+end
+
+function M:UpdateHandPoker(cardList, isPlayAni, isMing)
+ if self.cor_init_poker ~= nil then
+ coroutine.stop(self.cor_init_poker)
+ end
+ self.cor_init_poker = nil
+ self.card_list = {}
+ self.hand_card_list:RemoveChildren(0, -1, true)
+ local card_length
+ local new_card_list
+ if isMing == true then
+ new_card_list = self._gameCtr:ChangeCodeByFrom(cardList, true)
+ card_length = #cardList
+ else
+ card_length = cardList
+ end
+ if isPlayAni == true then
+ self.cor_init_poker = coroutine.start(function()
+ for i = card_length, 1, -1 do
+ local code = isMing == true and new_card_list[i] or 0
+ coroutine.wait(0.01)
+ local poker = self:CreatPoker1(code, 0.4)
+ self.hand_card_list:AddChild(poker)
+ end
+ end)
+ else
+ for i = card_length, 1, -1 do
+ local code = isMing == true and new_card_list[i] or 0
+ 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
+
+function M:SetRemainCardNumber(isPlay)
+ if isPlay then
+ self.ctr_one_card.selectedIndex = 1
+ self.eff_one_card:Play(-1, 0, nil)
+ else
+ self.ctr_one_card.selectedIndex = 0
+ end
+ --if self.card_number then
+ -- self.card_number.visible = show
+ -- self.card_number.text = string.format("剩余:%d",number)
+ --end
+end
+
+function M:PlayEffect(type, callback)
+ Timer.New(function()
+ local fristCard = self._view_Out:GetChildAt(0)
+ local lastCard = self._view_Out:GetChildAt(self._view_Out.numItems - 1)
+ local fristXy = self._view_Out:GlobalToLocal(fristCard:LocalToGlobal(Vector2.New(
+ fristCard.width * 0,
+ fristCard.height * 0.5)))
+ local lastXy = self._view_Out:GlobalToLocal(lastCard:LocalToGlobal(
+ Vector2.New(lastCard.width * 1,
+ lastCard.height * 0.5)))
+ local effect = ""
+ local y = 0
+ local x = 0
+ local width = 0
+ if type == 10 then
+ effect = "te_liandui"
+ y = self._view_Out.y + fristXy.y
+ x = self._view_Out.x + (lastXy.x + fristXy.x) / 2
+ elseif type == 4 then
+ effect = "te_sandaidui"
+ y = self._view_Out.y + fristXy.y
+ x = self._view_Out.x + (lastXy.x + fristXy.x) / 2
+ elseif type == 11 then
+ effect = "te_sandaidan"
+ y = self._view_Out.y + fristXy.y
+ x = self._view_Out.x + (lastXy.x + fristXy.x) / 2
+ elseif type == 2 then
+ effect = "te_shunzi"
+ y = self._view_Out.y + fristXy.y
+ x = self._view_Out.x + (lastXy.x + fristXy.x) / 2
+ width = (lastXy.x - fristXy.x) / 1.5
+ elseif type == 5 or type == 8 or type == 12 then
+ effect = "te_feiji"
+ y = self._view_Out.y + fristXy.y
+ x = self._view_Out.x + (lastXy.x + fristXy.x) / 2
+ width = (lastXy.x - fristXy.x) / 1.5
+ elseif type == 6 then
+ effect = "te_zhadan"
+ y = self._view_Out.y + fristXy.y
+ x = self._view_Out.x + (lastXy.x + fristXy.x) / 2
+ elseif type == 9 then
+ effect = "te_sidaisab"
+ y = self._view_Out.y + fristXy.y
+ x = self._view_Out.x + (lastXy.x + fristXy.x) / 2
+ end
+ if #effect > 0 then
+ local obj = UIPackage.CreateObjectFromURL(string.format("ui://Extend_Poker_DuoDuo/%s", effect))
+ obj.visible = false
+ self._view:AddChild(obj)
+ obj:SetScale(1.3, 1.3)
+ if y ~= 0 then
+ obj.y = y
+ end
+ if x ~= 0 then
+ obj.x = x
+ end
+ if width ~= 0 then
+ obj.width = width
+ end
+ obj.visible = true
+ if type == 2 then
+ obj:GetTransition('t0'):Play(1, 0, function()
+ obj:GetChild('n11'):TweenMoveX(width * 1.03, 0.3):OnComplete(function()
+ obj:Dispose()
+ callback()
+ end)
+ obj:GetChild('n12'):TweenMoveX(width * 1.03 - 121, 0.3)
+ obj:GetChild('n11'):TweenFade(0, 0.3)
+ obj:GetChild('n12'):TweenFade(0, 0.3)
+ end)
+ elseif type == 5 or type == 8 or type == 12 then
+ obj:GetTransition('t0'):Play(1, 0, function()
+ obj:GetChild('n13'):TweenMoveX(width * 0.7, 0.4):OnComplete(function()
+ obj:Dispose()
+ callback()
+ end)
+ obj:GetChild('n14'):TweenMoveX(width * 0.7 - 120, 0.4)
+ obj:GetChild('n13'):TweenFade(1, 0.2):OnComplete(function()
+ obj:GetChild('n13'):TweenFade(0, 0.4)
+ obj:GetChild('n14'):TweenFade(0, 0.4)
+ end)
+ end)
+ elseif type == 6 then
+ obj:GetTransition('t0'):Play(1, 0, function()
+ obj:Dispose()
+ end)
+ callback()
+ else
+ obj:GetTransition('t0'):Play(1, 0, function()
+ obj:Dispose()
+ callback()
+ end)
+ end
+ else
+ callback()
+ end
+ 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)
+ end
+ local suffix = code == 310 and
+ (DataManager.CurrenRoom.pai == 0 and (DataManager.CurrenRoom.room_config.Heart10 == 2 and "_1" or "") or "_2") or
+ ""
+ code = code == 1 and "00" or code
+ if not poker.icon then
+ poker:GetChild('icon').url = string.format("ui://Main_Poker/%s%s%s", prefix, code, suffix)
+ else
+ poker.icon = string.format("ui://Main_Poker/%s%s%s", prefix, code, suffix)
+ end
+end
+
+function M:FillPoker2(poker, code, suffix)
+ suffix = suffix or ""
+ code = code == 1 and "00" or code
+ if not poker.icon then
+ poker:GetChild('icon').url = string.format("ui://Extend_Poker_DuoDuo/%s%s", code, suffix)
+ else
+ poker.icon = string.format("ui://Extend_Poker_DuoDuo/%s%s", code, suffix)
+ end
+end
+
+function M:CreatPoker1(poker, scale, bank)
+ local poker_item = UIPackage.CreateObject("Extend_Poker_DuoDuo", "poker" .. scale * 10)
+ local code = self:ChangeCodeByTo(poker)
+ local card_code_obj
+
+ if DataManager.CurrenRoom.pai == 0 then
+ if code == 310 and DataManager.CurrenRoom.room_config.Heart10 == 2 then
+ -- body
+ card_code_obj = UIPackage.CreateObjectFromURL("ui://Extend_Poker_DuoDuo/" .. code .. "_1")
+ else
+ card_code_obj = UIPackage.CreateObjectFromURL("ui://Extend_Poker_DuoDuo/" .. code)
+ end
+ else
+ if code == 310 and DataManager.CurrenRoom.room_config.Heart10 == 2 then
+ -- body
+ card_code_obj = UIPackage.CreateObjectFromURL("ui://Extend_Poker_DuoDuo/" .. code .. "_2")
+ else
+ card_code_obj = UIPackage.CreateObjectFromURL("ui://Main_Poker/" .. code .. "_2")
+ end
+ end
+ if card_code_obj == nil or bank == 1 then
+ card_code_obj = UIPackage.CreateObjectFromURL("ui://Main_Poker/00")
+ end
+
+ card_code_obj:SetScale(scale, scale)
+ poker_item:AddChild(card_code_obj)
+
+ return poker_item
+end
+
+function M:CreatPoker(poker, scale, bank)
+ local poker_item = UIPackage.CreateObject("Extend_Poker_DuoDuo", "poker" .. 12.5)
+ local code = self:ChangeCodeByTo(poker)
+ local card_code_obj
+ if DataManager.CurrenRoom.pai == 0 then
+ if code == 310 and DataManager.CurrenRoom.room_config.Heart10 == 2 then
+ -- body
+ card_code_obj = UIPackage.CreateObjectFromURL("ui://Extend_Poker_DuoDuo/" .. code .. "_1")
+ else
+ card_code_obj = UIPackage.CreateObjectFromURL("ui://Extend_Poker_DuoDuo/" .. code)
+ end
+ else
+ if code == 310 and DataManager.CurrenRoom.room_config.Heart10 == 2 then
+ -- body
+ card_code_obj = UIPackage.CreateObjectFromURL("ui://Extend_Poker_DuoDuo/" .. code .. "_2")
+ else
+ card_code_obj = UIPackage.CreateObjectFromURL("ui://Main_Poker/" .. code .. "_2")
+ end
+ end
+ if card_code_obj == nil or bank == 1 then
+ card_code_obj = UIPackage.CreateObjectFromURL("ui://Main_Poker/00")
+ end
+ card_code_obj:SetScale(scale, scale)
+ poker_item:AddChild(card_code_obj)
+
+ return poker_item
+end
+
+function M:ChangeCodeByTo(card)
+ local flower = card % 10
+ local number = math.floor(card / 10)
+ if number == 15 then
+ number = 2
+ end
+ return flower * 100 + number
+end
+
+function M:Clear()
+ self:PlayScore(nil)
+ self:SetRemainCardNumber(false)
+ self:SetOutCardInfo(nil, false)
+ self.hand_card_list:RemoveChildren(0, -1, true)
+ self._mask_liangpai:RemoveChildren(0, -1, true)
+ self._view_Out:RemoveChildren(0, -1, true)
+ self._view_resultOut:RemoveChildren(0, -1, true)
+end
+
+function M:Destroy()
+end
+
+return M
diff --git a/lua_probject/extend_project/extend/poker/duoduo/EXPlayerSelfPokerInfoView.lua b/lua_probject/extend_project/extend/poker/duoduo/EXPlayerSelfPokerInfoView.lua
index b1d370e0..3f75e32a 100644
--- a/lua_probject/extend_project/extend/poker/duoduo/EXPlayerSelfPokerInfoView.lua
+++ b/lua_probject/extend_project/extend/poker/duoduo/EXPlayerSelfPokerInfoView.lua
@@ -74,7 +74,6 @@ function M:init()
self.text_bomb_score = self._view:GetChild('Score')
self.ani_bomb_score = self._view:GetTransition('score')
self.ani_result_score = self._view:GetTransition('score_1')
- self._viewList_move = self._view:GetChild('list_moveCards')
self.send_card = {}
self.tips_click_count = 0
@@ -99,13 +98,11 @@ function M:InitPoker(pokerList, isPlayAni, open)
-- -- print(vardump(self.card_list))
self.cor_init_poker = nil
self.card_list = {}
- self.newCard_list = {}
self._ctr_canSendCard.selectedIndex = 0
self._flag_ruleCard = false
self._view_handCard:RemoveChildren(0, -1, true)
- self.scaleW = (GRoot.inst.width * 0.85 - self._view_handCard.columnGap * 14) / 15
- self._viewList_move.width = self.scaleW
- self.scaleH = self.scaleW * 1.3
+ self.scaleW = (GRoot.inst.width * 0.86 - self._view_handCard.columnGap * 26) / 27
+ self.scaleH = self.scaleW * 1.4
if isPlayAni == true then
self.cor_init_poker =
coroutine.start(
@@ -175,13 +172,25 @@ function M:InitPoker(pokerList, isPlayAni, open)
)
else
for i = #pokerList, 1, -1 do
- if not self.newCard_list[pokerList[i] % 100] then
- self.newCard_list[pokerList[i] % 100] = {}
- end
- self.newCard_list[pokerList[i] % 100][math.floor(pokerList[i] / 100)] = (self.newCard_list[pokerList[i] % 100][math.floor(pokerList[i] / 100)] or 0) +
- 1
+ local card_number_code = self:ChangeOneCodeByFrom(pokerList[i])
+ local card_flower_code = pokerList[i]
+ local btn_card = self._view_handCard:AddItemFromPool()
+ self:FillPoker(btn_card, "", card_number_code)
+ local card_view = NewCardView(btn_card, card_number_code, card_flower_code)
+ self.card_list[#self.card_list + 1] = card_view
+ btn_card.data = card_view
+ btn_card.width = self.scaleW
+ btn_card.height = self.scaleH
+ end
+ table.sort(self.card_list, tableSortNumber)
+ self:AddTouchMoveEvent(self._view_handCard)
+ for i = 1, #self.card_list do
+ local card = self.card_list[i]
+ if open ~= 1 then
+ -- body
+ self:AddCardTouchEvent(card)
+ end
end
- self:UpdateHandCardsPos()
end
end
@@ -196,18 +205,23 @@ end
function M:AddTouchMoveEvent(list)
local send_card = {}
- -- list.onTouchBegin:Set(
- -- function(context)
- -- self.send_card = {}
- -- if list.touchable == false then
- -- return
- -- end
- -- local xy = self._view_handCard:GlobalToLocal(Vector2.New(context.inputEvent.x, context.inputEvent.y))
- -- self.touchBegin = xy
- -- Stage.inst.onTouchMove:Add(self.touchMoveFun)
- -- Stage.inst.onTouchEnd:Add(self.touchMoveEndFun)
- -- end
- -- )
+ list.onTouchBegin:Set(
+ function(context)
+ self.send_card = {}
+ if list.touchable == false then
+ return
+ end
+ local fristCard = self._view_handCard:GetChildAt(0)
+ local CardWidth = fristCard.width
+ local columnGap = self._view_handCard.columnGap
+ local oneCardWidth = CardWidth - columnGap
+ local xy = fristCard:GlobalToLocal(Vector2.New(context.inputEvent.x, context.inputEvent.y))
+ -- if xy.y > -21 and xy.y < 316 then
+ self.touchBegin = xy
+ Stage.inst.onTouchMove:Add(self.touchMoveFun)
+ Stage.inst.onTouchEnd:Add(self.touchMoveEndFun)
+ end
+ )
end
function M:AddCardTouchEvent(card)
@@ -216,32 +230,7 @@ function M:AddCardTouchEvent(card)
if card.btn_card.touchable == false then
return
end
- local cardList = card.fatherList
- local touchIndex = cardList:GetChildIndex(card.btn_card)
- self._SendCards = {}
- self.touchCard = card
- self.touchIndex = touchIndex
- local copy_list = self._viewList_move:GetChild('list')
- for i = 0, touchIndex do
- local oncard = cardList:GetChildAt(i)
- self:SetBtnCardColor(oncard.data, 1)
- --复制一份列表作为移动对象
- local copy_card = copy_list:AddItemFromPool()
- self:FillPoker2(copy_card, oncard.data.card_code_flower)
- copy_card.height = self.scaleH
- if oncard.data.zha then
- for j = 1, 4 do
- table.insert(self._SendCards, oncard.data.card_code_flower)
- end
- else
- table.insert(self._SendCards, oncard.data.card_code_flower)
- end
- end
- local xy = self.touchCard.fatherList:GlobalToLocal(Vector2.New(context.inputEvent.x, context.inputEvent.y))
- self._viewList_move.xy = self._view:GlobalToLocal(Vector2.New(context.inputEvent.x, context.inputEvent.y)) - Vector2.New(self.scaleW/2,self.scaleH + (self.scaleH + self.linegap)*(copy_list.numItems-1) + self.linegap)
- self.touchBegin = xy - self._viewList_move.xy
- Stage.inst.onTouchMove:Add(self.touchMoveFun)
- Stage.inst.onTouchEnd:Add(self.touchMoveEndFun)
+ self:SetBtnCardColor(card, 1)
end
)
end
@@ -282,61 +271,119 @@ function M:TouchMoving(context)
return
end
local send_card1 = {}
- local xy = self.touchCard.fatherList:GlobalToLocal(Vector2.New(context.inputEvent.x,
- context.inputEvent.y))
- self._viewList_move.xy = xy - self.touchBegin
+ local fristCard = self._view_handCard:GetChildAt(0)
+ local CardWidth = fristCard.width
+ local columnGap = self._view_handCard.columnGap
+ local oneCardWidth = CardWidth + columnGap
+ local xy = fristCard:GlobalToLocal(Vector2.New(context.inputEvent.x, context.inputEvent.y))
+ self.isTouching = true
+ local max_x
+ local min_x
+ if xy.x - self.touchBegin.x > 0 then -- 往右边滑
+ max_x = xy.x
+ min_x = self.touchBegin.x
+ -- elseif xy.x - self.touchBegin.x < 0 then -- 左边滑
+ else
+ max_x = self.touchBegin.x
+ min_x = xy.x
+ end
+
+ for i = 1, self._view_handCard.numItems do
+ local card = self._view_handCard:GetChildAt(i - 1).data
+ if card.btn_card.touchable == false or card.card_isTouchable == 1 then
+ else
+ if
+ (card.btn_card.x + oneCardWidth > min_x or (i == #self.card_list and card.btn_card.x + CardWidth > min_x))
+ and card.btn_card.x < max_x
+ then
+ self:SetBtnCardColor(card, 1)
+ if #send_card1 == 0 then
+ send_card1[1] = card
+ end
+ if send_card1[#send_card1] ~= card then
+ send_card1[#send_card1 + 1] = card
+ end
+ else
+ self:SetBtnCardColor(card, 0)
+ end
+ end
+ end
+ self.send_card = send_card1
end
function M:TouchMoveEnd(context)
- local linexy = self._view_handCard:GlobalToLocal(Vector2.New(context.inputEvent.x,
- context.inputEvent.y))
+ local send_card = {}
+ local currentCard = {}
+ local xuan_card = {}
- if self.ctr_put_card_option.selectedIndex > 0 then
- local allcards = {}
- for k, v in pairs(self.newCard_list) do
- for k1, v1 in pairs(v) do
- if v1 > 0 then
- for i = 1, v1 do
- local card_flower_code = k1 * 100 + k
- table.insert(allcards, card_flower_code)
- end
- end
- end
- end
- if linexy.y < self._view:GetChild('n82').y then
- self.gameCtr:SendCard(self._SendCards, allcards)
- else
- if self.touchCard.card_code_flower % 100 < 3 then
- for i = self._view_handCard.numItems - 1, 0, -1 do
- local oneCardList = self._view_handCard:GetChildAt(i):GetChild('list')
- local listxy = oneCardList:GlobalToLocal(Vector2.New(context.inputEvent.x,
- context.inputEvent.y))
- if listxy.x > 0 and oneCardList:GetChildAt(0).data.card_code_flower % 100 > 2 then
- for i = 0, oneCardList.numItems - 1 do
- local oncard = oneCardList:GetChildAt(i)
- if oncard.data.zha then
- for j = 1, 4 do
- table.insert(self._SendCards, oncard.data.card_code_flower)
- end
- else
- table.insert(self._SendCards, oncard.data.card_code_flower)
- end
- end
- self.gameCtr:SendCard(self._SendCards, allcards)
- break
- end
- end
- end
- end
- end
- self._viewList_move:GetChild('list'):RemoveChildrenToPool()
- for i = 0, self.touchIndex do
- local oncard = self.touchCard.fatherList:GetChildAt(i)
- self:SetBtnCardColor(oncard.data, 0)
- oncard.xy = Vector2.New(0, (self.scaleH + self.linegap) * i)
- end
+ local fristCard = self._view_handCard:GetChildAt(0)
+ local CardWidth = fristCard.width
+ local columnGap = self._view_handCard.columnGap
+ local oneCardWidth = CardWidth + columnGap
+ local xy = fristCard:GlobalToLocal(Vector2.New(context.inputEvent.x, context.inputEvent.y))
+ local downCards = #self.card_list
Stage.inst.onTouchMove:Remove(self.touchMoveFun)
Stage.inst.onTouchEnd:Remove(self.touchMoveEndFun)
+
+ local max_x
+ local min_x
+ if xy.x - self.touchBegin.x > 0 then
+ max_x = xy.x
+ min_x = self.touchBegin.x
+ else
+ max_x = self.touchBegin.x
+ min_x = xy.x
+ end
+
+ for k = 1, self._view_handCard.numItems do
+ local card = self._view_handCard:GetChildAt(k - 1).data
+ table.insert(currentCard, card.card_code_flower)
+ if not card.btn_card.selected then
+ downCards = downCards - 1
+ end
+ if card.btn_card.touchable == false or card.card_isTouchable == 1 then
+ else
+ self:SetBtnCardColor(card, 0)
+ if
+ (card.btn_card.x + oneCardWidth > min_x or (k == #self.card_list and card.btn_card.x + CardWidth > min_x))
+ and card.btn_card.x < max_x
+ then
+ self:UpdateCardMove(card.btn_card, not card.btn_card.selected, false)
+ if card.btn_card.selected then
+ send_card[#send_card + 1] = card
+ end
+ --ViewUtil.PlaySound("RunFastNew_PK", "extend/poker/paodekuai/sound/click.mp3")
+ else
+ if card.btn_card.selected then
+ send_card[#send_card + 1] = card
+ end
+ end
+ end
+ end
+
+ -- ViewUtil.PlaySound('RunFastNew_PK', 'extend/poker/runfast/sound/click.mp3')
+
+ Stage.inst:ResetInputState()
+
+ if downCards == 0 then
+ xuan_card = self:zhizhanxuanpai()
+ end
+
+ if #send_card > 0 then
+ table.sort(send_card, tableSortNumber)
+ send_card = #xuan_card > 0 and xuan_card or send_card
+ self._cardCheck:initCards(send_card,
+ {
+ flag = #xuan_card > 0,
+ flag_allCards = #send_card == self._view_handCard.numItems,
+ flag_ruleCard = self
+ ._flag_ruleCard
+ })
+
+ self._ctr_canSendCard.selectedIndex = self._cardCheck:CheckCards() and 1 or 0
+ else
+ self._ctr_canSendCard.selectedIndex = 0
+ end
end
-- function M:SetBtnCardColor(card, num)
@@ -604,83 +651,28 @@ end
function M:DeleteHandCards(cardlist)
self.ctr_put_card_option.selectedIndex = 0
for i = 1, #cardlist do
- local tmpNum = nil
- if self.newCard_list[cardlist[i] % 100] then
- tmpNum = self.newCard_list[cardlist[i] % 100][math.floor(cardlist[i] / 100)]
- end
- if tmpNum then
- if tmpNum == 1 then
- self.newCard_list[cardlist[i] % 100][math.floor(cardlist[i] / 100)] = nil
- else
- self.newCard_list[cardlist[i] % 100][math.floor(cardlist[i] / 100)] = tmpNum - 1
- end
- else
- ViewUtil:ErrorTip("牌型出错,重新加载页面")
- ViewManager.refreshGameView()
- end
- if i == #cardlist then
- if #self.newCard_list[cardlist[i] % 100] == 0 then
- self.newCard_list[cardlist[i] % 100] = nil
+ local card_code_number = cardlist[i]
+ for j = 1, #self.card_list do
+ local card = self.card_list[j]
+ if card_code_number == card.card_code_number then
+ list_remove(self.card_list, card)
+ self._view_handCard:RemoveChild(card.btn_card, true)
+ break
end
end
end
+ self._view_handCard:ResizeToFit(self._view_handCard.numItems)
self:UpdateHandCardsPos()
end
function M:UpdateHandCardsPos()
- local maxHeight = 0
- self._view_handCard:RemoveChildrenToPool()
- self._newCardSize = {}
- self._viewList_move:GetChild('list'):RemoveChildrenToPool()
- for k, v in pairs(self.newCard_list) do
- local btn_cardListFather = self._view_handCard:AddItemFromPool()
- btn_cardListFather.width = self.scaleW
- -- btn_cardListFather.height = scaleH*12
- local btn_cardList = btn_cardListFather:GetChild('list')
- btn_cardList:RemoveChildrenToPool()
- self.linegap = btn_cardList.lineGap
- local tmpHeight = 0
- local noZhaIndex = 0
- for k1, v1 in pairs(v) do
- local card_number_code = k * 10 + k1
- local card_flower_code = k1 * 100 + k
- if v1 ~= 4 then
- for i = 1, v1 do
- local btn_card = btn_cardList:GetFromPool('')
- btn_cardList:AddChildAt(btn_card, noZhaIndex)
- noZhaIndex = noZhaIndex + 1
- btn_card.height = self.scaleH
- self:FillPoker2(btn_card, card_flower_code)
- -- self.cards_view:AddChild(btn_card)
- local card_view = NewCardView(btn_card, card_number_code, card_flower_code)
- card_view.fatherList = btn_cardList
- self.card_list[#self.card_list + 1] = card_view
- btn_card.data = card_view
- tmpHeight = tmpHeight + 1
- self:AddCardTouchEvent(card_view)
- end
- else
- local btn_card = btn_cardList:AddItemFromPool()
- btn_card.height = self.scaleH
- self:FillPoker2(btn_card, card_flower_code, "_z")
- -- self.cards_view:AddChild(btn_card)
- local card_view = NewCardView(btn_card, card_number_code, card_flower_code)
- card_view.fatherList = btn_cardList
- card_view.zha = true
- self.card_list[#self.card_list + 1] = card_view
- btn_card.data = card_view
- tmpHeight = tmpHeight + 1
- self:AddCardTouchEvent(card_view)
- end
- self._newCardSize[k1] = tmpHeight
- end
-
- if tmpHeight > maxHeight then
- maxHeight = tmpHeight
- end
+ for i = 1, #self.card_list do
+ local card_view = self.card_list[i]
+ card_view.index = i
+ card_view.btn_card.touchable = true
+ self:UpdateCardMove(card_view.btn_card, false, false)
+ self:SetBtnCardColor(card_view, 0)
end
- self._view:GetChild('n82').y = self._view_handCard.height -
- (self.scaleH + (self.scaleH + self.linegap) * (maxHeight - 1) + 50)
end
function M:ResetPoker()
diff --git a/lua_probject/extend_project/extend/poker/duoduo/EXPlayerSelfPokerInfoView_tuo.lua b/lua_probject/extend_project/extend/poker/duoduo/EXPlayerSelfPokerInfoView_tuo.lua
new file mode 100644
index 00000000..b1d370e0
--- /dev/null
+++ b/lua_probject/extend_project/extend/poker/duoduo/EXPlayerSelfPokerInfoView_tuo.lua
@@ -0,0 +1,1349 @@
+---
+--- Created by 谌建军.
+--- DateTime: 2017/12/13 17:04
+---
+local EXPlayerPokerInfoView = import('.EXPlayerPokerInfoView')
+local EXCardType = import('.EXCardType')
+local EXCardCheck = import(".CardCheck")
+
+local CardView = {
+ btn_card = nil,
+ -- 牌号码 (大小)
+ card_code_number = 0,
+ -- 牌号码 (花色)
+ card_code_flower = 0,
+ -- 索引
+ index = 0
+}
+
+local function NewCardView(card, cardcodenum, cardcodeflower)
+ local self = {}
+ setmetatable(self, { __index = CardView })
+ self.btn_card = card
+ self.card_code_number = cardcodenum
+ self.card_code_flower = cardcodeflower
+ self.card_isTouchable = 0
+ return self
+end
+
+local function tableSortNumber(a, b)
+ return a.card_code_number > b.card_code_number
+end
+
+local EXPlayerSelfPokerInfoView = {
+ _view = nil,
+ _mainView = nil,
+ _mask_liangpai = nil
+}
+
+local M = EXPlayerSelfPokerInfoView
+
+function M.new(view, mainView)
+ setmetatable(M, { __index = EXPlayerPokerInfoView })
+ local self = setmetatable({}, { __index = M })
+ self._view = view
+ self._mainView = mainView
+ self.gameCtr = ControllerManager.GetController(GameController)
+ self:init()
+ return self
+end
+
+function M:init()
+ self.Reset = false
+ self.ctr_outpoker = self._view:GetController('output')
+ self.outpoker_list = self._view:GetChild('out_card_list')
+ self.item_data = json.decode(self._view:GetChild('area_mask').text)
+ self.out_card_data = self.item_data['outcard_list']
+ self.hand_card_list = self._view:GetChild('hand_card_list')
+ self.ctr_hand_card_pos = self._view:GetChild('hand_card_list')
+ self._mask_liangpai = self._view:GetChild('mask_liangpai')
+ self.card_width = 171
+ self.cards_view = self._view:GetChild('hand_poker_c')
+ self.card_list = {}
+ self.out_card_list = {}
+ self.touchMoveFun = handler(self, self.TouchMoving)
+ self.ctr_put_card_option = self._view:GetController('out_card_option')
+ self.ctr_piao = self._view:GetController('piao')
+ self.ctr_piao_value = self._view:GetController('piao_value')
+ self.ctr_put_error = self._view:GetController('put_error')
+ self.put_error_text = self._view:GetChild('put_error')
+
+ self.ctr_select_card_type = self._view:GetController('select_card_type')
+ self.select_card_type_view = self._view:GetChild('choose_type')
+
+ self.text_bomb_score = self._view:GetChild('Score')
+ self.ani_bomb_score = self._view:GetTransition('score')
+ self.ani_result_score = self._view:GetTransition('score_1')
+ self._viewList_move = self._view:GetChild('list_moveCards')
+
+ self.send_card = {}
+ self.tips_click_count = 0
+ self:BtnEvent()
+
+ ------------------------------lingmeng------------------------
+ self.touchMoveEndFun = handler(self, self.TouchMoveEnd)
+
+ self._view_handCard = self._view:GetChild('List_HandCard')
+ self._view_Out = self._view:GetChild('List_Out')
+
+ self._cardCheck = EXCardCheck:InitFlag()
+ self._ctr_time_clock = self._view:GetController('time_clock')
+ self._view_comp_clock = self._view:GetChild('Comp_Clock')
+ --------------------------------------------------------------
+end
+
+function M:InitPoker(pokerList, isPlayAni, open)
+ if self.cor_init_poker ~= nil then
+ coroutine.stop(self.cor_init_poker)
+ end
+ -- -- print(vardump(self.card_list))
+ self.cor_init_poker = nil
+ self.card_list = {}
+ self.newCard_list = {}
+ self._ctr_canSendCard.selectedIndex = 0
+ self._flag_ruleCard = false
+ self._view_handCard:RemoveChildren(0, -1, true)
+ self.scaleW = (GRoot.inst.width * 0.85 - self._view_handCard.columnGap * 14) / 15
+ self._viewList_move.width = self.scaleW
+ self.scaleH = self.scaleW * 1.3
+ if isPlayAni == true then
+ self.cor_init_poker =
+ coroutine.start(
+ function()
+ self._mainView._popEvent = false
+ if self._mainView._rightPanelView._settingView ~= nil then
+ self._mainView._rightPanelView._settingView:SetBtnDismissRoomEnable(false)
+ end
+ table.sort(pokerList)
+ table.sort(self.card_list, tableSortNumber)
+ for i = #pokerList, 1, -1 do
+ if pokerList[i] == 403 then
+ self._flag_ruleCard = true
+ end
+ local card_number_code = self:ChangeOneCodeByFrom(pokerList[i])
+ local card_flower_code = pokerList[i]
+ -- local btn_card = self:CreatPoker(card_number_code, cs, open)
+ local btn_card = self._view_handCard:AddItemFromPool()
+ self:FillPoker(btn_card, "", card_number_code)
+ btn_card.alpha = 0
+ btn_card.touchable = false
+ local card_view = NewCardView(btn_card, card_number_code, card_flower_code)
+ self.card_list[#self.card_list + 1] = card_view
+ btn_card.data = card_view
+ self:AddTouchMoveEvent(self._view_handCard)
+
+ if i == #pokerList then
+ for j = 1, #self.card_list do
+ local card = self.card_list[j]
+ card.btn_card.touchable = true
+ if open ~= 1 then
+ -- body
+ self:AddCardTouchEvent(card)
+ end
+ end
+ end
+ end
+ for j = #self.card_list, 1, -1 do
+ local card_view = self.card_list[j]
+ card_view.index = j
+
+ card_view.btn_card:TweenMove(self:GetHandCardPos(j, #self.card_list), 0.10)
+ DSTween.To(
+ 0.7,
+ 1,
+ 0.1,
+ function(value)
+ card_view.btn_card:SetScale(value, value)
+ end
+ )
+ DSTween.To(
+ 0.7,
+ 1,
+ 0.1,
+ function(value)
+ card_view.btn_card.alpha = value
+ end
+ )
+ card_view.btn_card.alpha = 1
+ end
+
+ self._mainView._popEvent = true
+ if self._mainView._rightPanelView._settingView ~= nil then
+ self._mainView._rightPanelView._settingView:SetBtnDismissRoomEnable(true)
+ end
+ end
+ )
+ else
+ for i = #pokerList, 1, -1 do
+ if not self.newCard_list[pokerList[i] % 100] then
+ self.newCard_list[pokerList[i] % 100] = {}
+ end
+ self.newCard_list[pokerList[i] % 100][math.floor(pokerList[i] / 100)] = (self.newCard_list[pokerList[i] % 100][math.floor(pokerList[i] / 100)] or 0) +
+ 1
+ end
+ self:UpdateHandCardsPos()
+ end
+end
+
+function M:updatePoker()
+ local templist = {}
+ for i = 1, #self.card_list do
+ templist[#templist + 1] = self.card_list[i].card_code_flower
+ end
+ self:InitPoker(templist, false, 0)
+end
+
+function M:AddTouchMoveEvent(list)
+ local send_card = {}
+
+ -- list.onTouchBegin:Set(
+ -- function(context)
+ -- self.send_card = {}
+ -- if list.touchable == false then
+ -- return
+ -- end
+ -- local xy = self._view_handCard:GlobalToLocal(Vector2.New(context.inputEvent.x, context.inputEvent.y))
+ -- self.touchBegin = xy
+ -- Stage.inst.onTouchMove:Add(self.touchMoveFun)
+ -- Stage.inst.onTouchEnd:Add(self.touchMoveEndFun)
+ -- end
+ -- )
+end
+
+function M:AddCardTouchEvent(card)
+ card.btn_card.onTouchBegin:Set(
+ function(context)
+ if card.btn_card.touchable == false then
+ return
+ end
+ local cardList = card.fatherList
+ local touchIndex = cardList:GetChildIndex(card.btn_card)
+ self._SendCards = {}
+ self.touchCard = card
+ self.touchIndex = touchIndex
+ local copy_list = self._viewList_move:GetChild('list')
+ for i = 0, touchIndex do
+ local oncard = cardList:GetChildAt(i)
+ self:SetBtnCardColor(oncard.data, 1)
+ --复制一份列表作为移动对象
+ local copy_card = copy_list:AddItemFromPool()
+ self:FillPoker2(copy_card, oncard.data.card_code_flower)
+ copy_card.height = self.scaleH
+ if oncard.data.zha then
+ for j = 1, 4 do
+ table.insert(self._SendCards, oncard.data.card_code_flower)
+ end
+ else
+ table.insert(self._SendCards, oncard.data.card_code_flower)
+ end
+ end
+ local xy = self.touchCard.fatherList:GlobalToLocal(Vector2.New(context.inputEvent.x, context.inputEvent.y))
+ self._viewList_move.xy = self._view:GlobalToLocal(Vector2.New(context.inputEvent.x, context.inputEvent.y)) - Vector2.New(self.scaleW/2,self.scaleH + (self.scaleH + self.linegap)*(copy_list.numItems-1) + self.linegap)
+ self.touchBegin = xy - self._viewList_move.xy
+ Stage.inst.onTouchMove:Add(self.touchMoveFun)
+ Stage.inst.onTouchEnd:Add(self.touchMoveEndFun)
+ end
+ )
+end
+
+function M:zhizhanxuanpai() --智障选牌
+ -- body
+ local temp_send_card = {}
+ for i = 1, #self.send_card do
+ if self.send_card[i] ~= self.send_card[i - 1] then
+ -- body
+ temp_send_card[#temp_send_card + 1] = self.send_card[i]
+ end
+ end
+
+ local card_map, max_key = self:GetCardMapAndMaxKey(temp_send_card)
+ local list_ones = self:CheckOnes(card_map)
+
+ if list_ones ~= nil and #list_ones > 0 then
+ for i = 1, #self.card_list do
+ self:UpdateCardMove(self.card_list[i].btn_card, false, false)
+ end
+ for i = 1, #self.send_card do
+ for j = 1, #list_ones do
+ if self.send_card[i] == list_ones[j][1] then
+ -- body
+ self:UpdateCardMove(self.send_card[i].btn_card, true, false)
+ end
+ end
+ end
+ return list_ones
+ else
+ return {}
+ end
+end
+
+function M:TouchMoving(context)
+ if self._view_handCard == nil then
+ return
+ end
+ local send_card1 = {}
+ local xy = self.touchCard.fatherList:GlobalToLocal(Vector2.New(context.inputEvent.x,
+ context.inputEvent.y))
+ self._viewList_move.xy = xy - self.touchBegin
+end
+
+function M:TouchMoveEnd(context)
+ local linexy = self._view_handCard:GlobalToLocal(Vector2.New(context.inputEvent.x,
+ context.inputEvent.y))
+
+ if self.ctr_put_card_option.selectedIndex > 0 then
+ local allcards = {}
+ for k, v in pairs(self.newCard_list) do
+ for k1, v1 in pairs(v) do
+ if v1 > 0 then
+ for i = 1, v1 do
+ local card_flower_code = k1 * 100 + k
+ table.insert(allcards, card_flower_code)
+ end
+ end
+ end
+ end
+ if linexy.y < self._view:GetChild('n82').y then
+ self.gameCtr:SendCard(self._SendCards, allcards)
+ else
+ if self.touchCard.card_code_flower % 100 < 3 then
+ for i = self._view_handCard.numItems - 1, 0, -1 do
+ local oneCardList = self._view_handCard:GetChildAt(i):GetChild('list')
+ local listxy = oneCardList:GlobalToLocal(Vector2.New(context.inputEvent.x,
+ context.inputEvent.y))
+ if listxy.x > 0 and oneCardList:GetChildAt(0).data.card_code_flower % 100 > 2 then
+ for i = 0, oneCardList.numItems - 1 do
+ local oncard = oneCardList:GetChildAt(i)
+ if oncard.data.zha then
+ for j = 1, 4 do
+ table.insert(self._SendCards, oncard.data.card_code_flower)
+ end
+ else
+ table.insert(self._SendCards, oncard.data.card_code_flower)
+ end
+ end
+ self.gameCtr:SendCard(self._SendCards, allcards)
+ break
+ end
+ end
+ end
+ end
+ end
+ self._viewList_move:GetChild('list'):RemoveChildrenToPool()
+ for i = 0, self.touchIndex do
+ local oncard = self.touchCard.fatherList:GetChildAt(i)
+ self:SetBtnCardColor(oncard.data, 0)
+ oncard.xy = Vector2.New(0, (self.scaleH + self.linegap) * i)
+ end
+ Stage.inst.onTouchMove:Remove(self.touchMoveFun)
+ Stage.inst.onTouchEnd:Remove(self.touchMoveEndFun)
+end
+
+-- function M:SetBtnCardColor(card, num)
+-- if
+-- card.btn_card:GetChildAt(0) ~= nil and card.btn_card:GetChildAt(0):GetChildAt(0) ~= nil and
+-- card.btn_card:GetChildAt(0):GetChildAt(0):GetChildAt(0) ~= nil
+-- then
+-- -- body
+-- card.btn_card:GetChildAt(0):GetChildAt(0):GetChildAt(0).color = Color(num, num, num)
+-- end
+
+-- --if card.card_code_flower < 500 then
+-- -- card.btn_card:GetChildAt(0):GetChildAt(2).color = Color(num,num,num)
+-- -- card.btn_card:GetChildAt(0):GetChildAt(3).color = Color(num,num,num)
+-- --end
+-- end
+function M:SetBtnCardColor(card, num)
+ card.btn_card:GetController('choose').selectedIndex = num
+end
+
+function M:ShowPiao(piao)
+ self.ctr_piao.selectedIndex = piao
+end
+
+function M:HidePiao()
+ self.ctr_piao.selectedIndex = 0
+end
+
+function M:ShowOutCardOption2(lastCardList, ctr_select, mustPutMaxCard)
+ -- self._cardCheck:InitLastCard(lastCardList, mustPutMaxCard)
+ -- self._cardCheck:CheckOutCard(self.card_list)
+ -- self.tips_card_list = self._cardCheck:GetTipsList()
+ -- self.touchCardSet = self._cardCheck:GetTouchSet()
+ -- self.touchCardMap = self._cardCheck:GetTouchCardMap()
+ -- self.tips_click_count = 0
+
+ -- print("lingmengShowOutCardOption2", #self.touchCardSet)
+ -- pt(self.touchCardSet)
+ -- pt(self.touchCardMap)
+ -- -- body --在这个方法里添加判断抬起牌是否符合出牌类型(少跑一次手牌循环)
+ -- self:UpdateHandCardsColor()
+
+ -- if #self.tips_card_list == 1 then
+ -- self:ShowTipsCard(1)
+ -- end
+
+ self.ctr_put_card_option.selectedIndex = ctr_select
+end
+
+function M:ShowOutCardOption(ctr_select, type, number, length, mustPutMaxCard, play, zdts)
+ --for i = 1, #self.out_card_list do
+ -- local card = self.out_card_list[i]
+ -- self.cards_view:RemoveChild(card.btn_card,true)
+ --end
+ --self.out_card_list = {}
+
+ -- self.zhizhanctr_select=ctr_select
+ -- self.zhizhantype=type
+ -- self.zhizhannumber=number
+ -- self.zhizhanlength=length
+ -- self.zhizhanmustPutMaxCard=mustPutMaxCard
+ -- self.zhizhanplay=play
+ -- self.zhizhanzdts=zdts
+ self.tips_click_count = 0
+ self.send_card = {}
+ self.tips_card_list = self:GetCardTips(type, number, length, mustPutMaxCard)
+ self._ctr_canSendCard.selectedIndex = 0
+
+ if #self.tips_card_list >= 1 then
+ -- body --在这个方法里添加判断抬起牌是否符合出牌类型(少跑一次手牌循环)
+ self:UpdateHandCardsColor()
+ end
+ --
+ -- 自动提示
+ -- if #self.tips_card_list ~= 0 and play~=0 and mustPutMaxCard==false and zdts==1 then
+ -- local index = self.tips_click_count % #self.tips_card_list + 1
+ -- self:ShowTipsCard(index)
+ -- self.tips_click_count = self.tips_click_count + 1
+ -- end
+ if #self.tips_card_list == 2 and self.tips_card_list[2][1].index == self.tips_card_list[1][1].index then
+ if #self.tips_card_list[2] == #self.tips_card_list[1] then
+ for i = 1, #self.tips_card_list[2] do
+ if self.tips_card_list[2][i].index == self.tips_card_list[1][i].index then
+ self:ShowTipsCard(1)
+ end
+ end
+ end
+ elseif #self.tips_card_list == 1 then
+ self:ShowTipsCard(1)
+ end
+ if mustPutMaxCard and play ~= 0 and zdts == 1 then
+ -- body
+ self:ShowTipsCard(#self.tips_card_list)
+ end
+ self.ctr_put_card_option.selectedIndex = ctr_select
+end
+
+function M:SetOutCardInfo(cardlist, isPass, isAnim)
+ self._view_Out:RemoveChildren(0, -1, true)
+ if cardlist == nil then
+ if isPass == true then
+ self.ctr_outpoker.selectedIndex = 2
+ else
+ self.ctr_outpoker.selectedIndex = 0
+ end
+ else
+ self.ctr_outpoker.selectedIndex = 1
+ -- if isAnim then
+ -- if self.move_cor then
+ -- coroutine.stop(self.move_cor)
+ -- self.move_cor = nil
+ -- end
+
+ -- for i = 1, #cardlist do
+ -- local poker_item = self._view_Out:AddItemFromPool()
+ -- local code = self:ChangeCodeByTo(cardlist[i])
+
+ -- self:FillPoker(poker_item, "", cardlist[i])
+ -- end
+ -- self.move_cor = coroutine.start(function()
+ -- coroutine.wait(0.1)
+ -- ViewUtil.PlaySound("DuoDuo_PK", "extend/poker/duoduo/sound/chupai.mp3")
+ -- end)
+ -- else
+ for i = 1, #cardlist do
+ local poker_item = self._view_Out:AddItemFromPool()
+
+ self:FillPoker2(poker_item, cardlist[i])
+ end
+ -- end
+ end
+end
+
+function M:SetOutCardBlack()
+ for i = 1, #self.out_card_list do
+ local card = self.out_card_list[i]
+ if card and card:GetChildAt(0) and card:GetChildAt(0):GetChildAt(0) and card:GetChildAt(0):GetChildAt(0):GetChildAt(0) then
+ card:GetChildAt(0):GetChildAt(0):GetChildAt(0).color = Color(0.7, 0.7, 0.7)
+ end
+ end
+end
+
+function M:SetOutCardList(cardlist, isAnim)
+ local pos_y = -320
+ if isAnim then
+ -- self.zhizhanctr_select=0
+ -- self.zhizhantype=0
+ -- self.zhizhannumber=0
+ -- self.zhizhanlength=0
+ -- self.zhizhanmustPutMaxCard=0
+ -- self.zhizhanplay=0
+ -- self.zhizhanzdts=0
+ if self.move_cor then
+ coroutine.stop(self.move_cor)
+ self.move_cor = nil
+ end
+ local time = 0.1
+ for i = 1, #cardlist do
+ local card_code_number = cardlist[i]
+ for j = 1, #self.card_list do
+ local card = self.card_list[j]
+ if card_code_number == card.card_code_number then
+ card.btn_card.onTouchBegin:Set(nil)
+ self.out_card_list[#self.out_card_list + 1] = card.btn_card
+ list_remove(self.card_list, card)
+ -- todo 出牌动画
+ local pos =
+ self:GetOutCardEndPokerPos(
+ i,
+ #cardlist,
+ self.cards_view,
+ card.btn_card,
+ self.out_card_data['maxcount_x'],
+ 1.5
+ )
+ card.btn_card:TweenMove(Vector2.New(pos.x, pos_y), time)
+ -- self.tween = TweenUtils.TweenFloat(1, 0.7, time, function(x)
+ -- card.btn_card:GetChildAt(0):SetScale(x, x)
+ -- end)
+ card.btn_card:GetChildAt(0):SetScale(1.5, 1.5)
+ break
+ end
+ end
+ end
+ self.move_cor =
+ coroutine.start(
+ function()
+ coroutine.wait(0.05)
+ for i = 1, #self.out_card_list do
+ local card = self.out_card_list[i]
+ self.cards_view:SetChildIndex(card, i - 1)
+ end
+ coroutine.wait(0.1)
+ ViewUtil.PlaySound('DuoDuo_PK', 'extend/poker/duoduo/sound/chupai.mp3')
+ end
+ )
+ else
+ for i = 1, #cardlist do
+ local poker_item = UIPackage.CreateObject('Extend_Poker_DuoDuo', 'poker7')
+ local code = self:ChangeCodeByTo(cardlist[i])
+ -- local card_code_obj = UIPackage.CreateObjectFromURL("ui://Extend_Poker_RunFast/" .. code)
+ local card_code_obj
+ -- if DataManager.CurrenRoom.pai==0 then
+ -- card_code_obj = UIPackage.CreateObjectFromURL("ui://Extend_Poker_RunFast/"..code)
+ -- else
+ -- card_code_obj = UIPackage.CreateObjectFromURL("ui://Main_Poker/" .. code .. "_2")
+ -- end
+ -- if code == 310 and DataManager.CurrenRoom.room_config.Heart10 == 2 then
+ -- -- body
+ -- card_code_obj = UIPackage.CreateObjectFromURL("ui://Extend_Poker_RunFast/" .. code .. "_1")
+ -- end
+ if DataManager.CurrenRoom.pai == 0 then
+ if code == 310 and DataManager.CurrenRoom.room_config.Heart10 == 2 then
+ -- body
+ card_code_obj = UIPackage.CreateObjectFromURL('ui://Extend_Poker_DuoDuo/' .. code .. '_1')
+ else
+ card_code_obj = UIPackage.CreateObjectFromURL('ui://Extend_Poker_DuoDuo/' .. code)
+ end
+ else
+ if code == 310 and DataManager.CurrenRoom.room_config.Heart10 == 2 then
+ -- body
+ card_code_obj = UIPackage.CreateObjectFromURL('ui://Extend_Poker_DuoDuo/' .. code .. '_2')
+ else
+ card_code_obj = UIPackage.CreateObjectFromURL('ui://Main_Poker/' .. code .. '_2')
+ end
+ end
+ if card_code_obj == nil then
+ card_code_obj = UIPackage.CreateObjectFromURL('ui://Main_Poker/00')
+ end
+ card_code_obj:SetScale(1.5, 1.5)
+ poker_item:AddChild(card_code_obj)
+ --local poker = self:CreatPoker(cardlist[i],0.7)
+ self.cards_view:AddChild(poker_item)
+ local pos =
+ self:GetOutCardEndPokerPos(
+ i,
+ #cardlist,
+ self.cards_view,
+ poker_item,
+ self.out_card_data['maxcount_x'],
+ 1.5
+ )
+ poker_item.xy = Vector2.New(pos.x, pos_y)
+ self.out_card_list[#self.out_card_list + 1] = poker_item
+ end
+ end
+end
+
+-- function M:DeleteHandCards(cardlist)
+-- for i = 1, #cardlist do
+-- local card_code_number = cardlist[i]
+-- for j = 1, #self.card_list do
+-- local card = self.card_list[j]
+-- if card_code_number == card.card_code_number then
+-- --self.out_card_list[#self.out_card_list + 1] = card
+-- list_remove(self.card_list, card)
+-- -- todo 出牌动画
+-- self.cards_view:RemoveChild(card.btn_card, true)
+-- break
+-- end
+-- end
+-- end
+-- self:UpdateHandCardsPos()
+-- end
+function M:DeleteHandCards(cardlist)
+ self.ctr_put_card_option.selectedIndex = 0
+ for i = 1, #cardlist do
+ local tmpNum = nil
+ if self.newCard_list[cardlist[i] % 100] then
+ tmpNum = self.newCard_list[cardlist[i] % 100][math.floor(cardlist[i] / 100)]
+ end
+ if tmpNum then
+ if tmpNum == 1 then
+ self.newCard_list[cardlist[i] % 100][math.floor(cardlist[i] / 100)] = nil
+ else
+ self.newCard_list[cardlist[i] % 100][math.floor(cardlist[i] / 100)] = tmpNum - 1
+ end
+ else
+ ViewUtil:ErrorTip("牌型出错,重新加载页面")
+ ViewManager.refreshGameView()
+ end
+ if i == #cardlist then
+ if #self.newCard_list[cardlist[i] % 100] == 0 then
+ self.newCard_list[cardlist[i] % 100] = nil
+ end
+ end
+ end
+ self:UpdateHandCardsPos()
+end
+
+function M:UpdateHandCardsPos()
+ local maxHeight = 0
+ self._view_handCard:RemoveChildrenToPool()
+ self._newCardSize = {}
+ self._viewList_move:GetChild('list'):RemoveChildrenToPool()
+ for k, v in pairs(self.newCard_list) do
+ local btn_cardListFather = self._view_handCard:AddItemFromPool()
+ btn_cardListFather.width = self.scaleW
+ -- btn_cardListFather.height = scaleH*12
+ local btn_cardList = btn_cardListFather:GetChild('list')
+ btn_cardList:RemoveChildrenToPool()
+ self.linegap = btn_cardList.lineGap
+ local tmpHeight = 0
+ local noZhaIndex = 0
+ for k1, v1 in pairs(v) do
+ local card_number_code = k * 10 + k1
+ local card_flower_code = k1 * 100 + k
+ if v1 ~= 4 then
+ for i = 1, v1 do
+ local btn_card = btn_cardList:GetFromPool('')
+ btn_cardList:AddChildAt(btn_card, noZhaIndex)
+ noZhaIndex = noZhaIndex + 1
+ btn_card.height = self.scaleH
+ self:FillPoker2(btn_card, card_flower_code)
+ -- self.cards_view:AddChild(btn_card)
+ local card_view = NewCardView(btn_card, card_number_code, card_flower_code)
+ card_view.fatherList = btn_cardList
+ self.card_list[#self.card_list + 1] = card_view
+ btn_card.data = card_view
+ tmpHeight = tmpHeight + 1
+ self:AddCardTouchEvent(card_view)
+ end
+ else
+ local btn_card = btn_cardList:AddItemFromPool()
+ btn_card.height = self.scaleH
+ self:FillPoker2(btn_card, card_flower_code, "_z")
+ -- self.cards_view:AddChild(btn_card)
+ local card_view = NewCardView(btn_card, card_number_code, card_flower_code)
+ card_view.fatherList = btn_cardList
+ card_view.zha = true
+ self.card_list[#self.card_list + 1] = card_view
+ btn_card.data = card_view
+ tmpHeight = tmpHeight + 1
+ self:AddCardTouchEvent(card_view)
+ end
+ self._newCardSize[k1] = tmpHeight
+ end
+
+ if tmpHeight > maxHeight then
+ maxHeight = tmpHeight
+ end
+ end
+ self._view:GetChild('n82').y = self._view_handCard.height -
+ (self.scaleH + (self.scaleH + self.linegap) * (maxHeight - 1) + 50)
+end
+
+function M:ResetPoker()
+ self.Reset = true
+ for i = 1, #self.card_list do
+ local card_view = self.card_list[i]
+ self:UpdateCardMove(card_view.btn_card, false, false)
+ end
+ self.send_card = {}
+ self.Reset = false
+end
+
+function M:UpdateCardMove(btn_card, isSelected, isPlay)
+ btn_card.selected = isSelected
+ -- local card_Move = btn_card
+ -- local xy = isSelected == true and Vector2.New(0, -65) or Vector2.New(0, 0)
+ -- if isPlay then
+ -- -- body
+ -- card_Move:TweenMove(xy, 0)
+ -- else
+ -- card_Move:TweenMove(xy, 0)
+ -- end
+end
+
+function M:UpdateHandCardsColor()
+ local send_card = {}
+ for i = 1, #self.card_list do
+ local card_view = self.card_list[i]
+ if self.touchCardMap[math.floor(card_view.card_code_number / 10)] or #self.touchCardSet == 0 then
+ card_view.btn_card.touchable = true
+ self:SetBtnCardColor(card_view, 0)
+ else
+ card_view.btn_card.touchable = false
+ card_view.btn_card.selected = false
+ self:SetBtnCardColor(card_view, 1)
+ end
+ if card_view.btn_card.selected and card_view.btn_card.touchable then
+ table.insert(send_card, card_view)
+ end
+ end
+ if #send_card > 0 then
+ table.sort(send_card, tableSortNumber)
+ self._cardCheck:initCards(send_card, { flag = false, flag_allCards = #send_card == self._view_handCard.numItems })
+ self._ctr_canSendCard.selectedIndex = self._cardCheck:CheckCards() and 1 or 0
+ else
+ self._ctr_canSendCard.selectedIndex = 0
+ end
+end
+
+function M:BtnEvent()
+ self.btn_not_put = self._view:GetChild('btn_not_put')
+ self.btn_tips = self._view:GetChild('Btn_Tip') -- 覆盖
+ self.btn_sendCards = self._view:GetChild('Btn_SendCard')
+ self._ctr_canSendCard = self.btn_sendCards:GetController('can')
+
+ self.btn_sendCards.onClick:Set(
+ function()
+ if self.Reset then
+ return
+ end
+ if self._ctr_canSendCard.selectedIndex == 0 then
+ return
+ end
+ local send_card = {}
+ self.send_card = {}
+ local currentCard = {}
+ for i = 1, #self.card_list do
+ local card = self.card_list[i]
+ table.insert(currentCard, card.card_code_flower)
+ if card.btn_card.selected then
+ send_card[#send_card + 1] = card.card_code_flower
+ self.send_card[#self.send_card + 1] = card
+ end
+ end
+
+ if #send_card == 0 then
+ self:ErrorTip('请选择要出的牌')
+ else
+ self.gameCtr:SendCard(send_card, currentCard)
+ end
+ end
+ )
+ self.btn_tips.onClick:Set(
+ function()
+ --printlog("wwwwwwwwwww111111111111111111111111")
+ --pt(self.tips_card_list)
+ if self.tips_card_list ~= nil and #self.tips_card_list ~= 0 then
+ local index = self.tips_click_count % #self.tips_card_list + 1
+ self:ShowTipsCard(index)
+ self.tips_click_count = self.tips_click_count + 1
+ end
+ end
+ )
+ -- 过
+ self.btn_not_put.onClick:Set(
+ function()
+ self.ctr_put_card_option.selectedIndex = 0
+ self.gameCtr:SendPass()
+ end
+ )
+
+ local function click_piao()
+ self.ctr_piao.selectedIndex = 0
+ self.gameCtr:SendPiao(tonumber(self.ctr_piao_value.selectedPage))
+ end
+
+ local btn_piao0 = self._view:GetChild('piao0')
+ btn_piao0.onClick:Set(click_piao)
+
+ local btn_piao1 = self._view:GetChild('piao1')
+ btn_piao1.onClick:Set(click_piao)
+
+ local btn_piao2 = self._view:GetChild('piao2')
+ btn_piao2.onClick:Set(click_piao)
+
+ local btn_piao3 = self._view:GetChild('piao3')
+ btn_piao3.onClick:Set(click_piao)
+
+ local btn_piao5 = self._view:GetChild('piao5')
+ btn_piao5.onClick:Set(click_piao)
+
+ local btn_piao8 = self._view:GetChild('piao8')
+ btn_piao8.onClick:Set(click_piao)
+end
+
+function M:ShowTipsCard(index)
+ print("lingmengShowTipsCard")
+ local item = self.tips_card_list[index]
+ for i = 1, #self.card_list do
+ local card = self.card_list[i]
+ local isExsit = false
+ for j = 1, #item do
+ if item[j] == self.card_list[i] then
+ self:UpdateCardMove(card.btn_card, true, false)
+ isExsit = true
+ end
+ end
+ if isExsit == false then
+ self:UpdateCardMove(card.btn_card, false, false)
+ end
+ end
+ pt(item)
+ self._cardCheck:initCards(item)
+ self._ctr_canSendCard.selectedIndex = self._cardCheck:CheckCards() and 1 or 0
+end
+
+function M:GetHandCardOffset(count)
+ local start = -90 ---54
+
+ local offset = 0
+ if count > 10 then
+ offset = start - count + 26
+ else
+ offset = -30
+ end
+ return 20
+end
+
+function M:GetHandCardPos(index, card_count)
+ local x, y = 0, -20
+ local offset = self:GetHandCardOffset(card_count)
+ local middle_x = self.cards_view.width / 2
+ local start_x = middle_x - (card_count / 2 * (self.card_width + offset)) + (offset / 2)
+ x = start_x + (self.card_width + offset) * (index - 1)
+ return Vector2.New(x, y)
+end
+
+function M:GetHandCardPos1(index, card_count)
+ local x, y = 0, -18
+ local offset = self:GetHandCardOffset(card_count)
+ local middle_x = self.cards_view.width / 2
+ local start_x = middle_x - (card_count / 2 * (self.card_width + offset)) + (offset / 2)
+ x = start_x + (self.card_width + offset) * (index - 1)
+ return x, y
+end
+
+function M:ErrorTip(error_text)
+ if self.cor_init_poker ~= nil then
+ coroutine.stop(self.cor_init_poker)
+ end
+ self.cor_init_poker = nil
+ self.cor_init_poker =
+ coroutine.start(
+ function()
+ self.put_error_text.text = error_text
+ self.ctr_put_error.selectedIndex = 1
+ coroutine.wait(2)
+ self.ctr_put_error.selectedIndex = 0
+ end
+ )
+end
+
+--EXCardType
+--None = 0,
+--OneCard = 1,
+--OnePair = 2,
+--Three = 3,
+--Pairs = 4,
+--ThreeAndTwo = 5,
+--ThreeAndOne = 6,
+--Plane = 7,
+--PlaneAndTwo = 8,
+--PlaneAndOne = 9,
+--Straight = 10,
+--Bomb = 11
+function M:GetCardTips(type, number, length, mustPutMaxCard, tip_templist)
+ local tip_list = {}
+ local sidaisan = false
+ local touch_key_list = { 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }
+ --printlog("aaaaaaaaaaaaacccccccccccccccccccc11111111111111111111111111111")
+ --pt(self.card_list)
+ local card_map, max_key = self:GetCardMapAndMaxKey(self.card_list)
+ --printlog("aaaaaaaaaaaaaaaaaa222222222222222222222222222222222222222 ",max_key)
+ --pt(card_map)
+ if type == EXCardType.None then
+ if DataManager.CurrenRoom.is_new_bout then
+ tip_list = self:NewBoutTips(card_map)
+ end
+ return tip_list, touch_key_list
+ elseif type == EXCardType.Bomb then
+ tip_list, touch_key_list = self:CheckBomb(card_map, number, length)
+ else
+ local list_type, list_bomb = {}, {}
+ local touch_type, touch_bomb
+ list_bomb, touch_bomb = self:CheckBomb(card_map, 0, 4)
+
+ local card_templist = membe_clone(self.card_list)
+
+ if list_bomb ~= nil and tip_templist == nil then
+ -- body
+ for i = 1, #list_bomb do
+ local templist_bomb = list_bomb[i]
+ for j = 1, #templist_bomb do
+ for k = 1, #card_templist do
+ if templist_bomb[j] == card_templist[k] then
+ -- body
+ list_remove(card_templist, card_templist[k])
+ end
+ end
+ end
+ end
+ card_map, max_key = self:GetCardMapAndMaxKey(card_templist)
+ end
+
+ if type == EXCardType.OneCard then
+ -- if mustPutMaxCard then
+ -- number = max_key - 1
+ -- self:ErrorTip("下家报单,请出最大的牌 ")
+ -- end
+ list_type, touch_type = self:CheckOneCard(card_map, number, length)
+ elseif type == EXCardType.OnePair then
+ list_type, touch_type = self:CheckOnePair(card_map, number, length)
+ elseif type == EXCardType.Three then
+ list_type, touch_type = self:CheckThree(card_map, number, length)
+ elseif type == EXCardType.Pairs then
+ list_type, touch_type = self:CheckPairs(card_map, number, length)
+ elseif type == EXCardType.ThreeAndTwo then
+ list_type, touch_type = self:CheckThreeAndTwo(card_map, number, length)
+ elseif type == EXCardType.ThreeAndOne then
+ list_type, touch_type = self:CheckThreeAndOne(card_map, number, length)
+ elseif type == EXCardType.Plane then
+ list_type, touch_type = self:CheckPlane(card_map, number, length, 0)
+ elseif type == EXCardType.PlaneAndTwo then
+ list_type, touch_type = self:CheckPlane(card_map, number, length, 2)
+ elseif type == EXCardType.PlaneAndOne then
+ list_type, touch_type = self:CheckPlane(card_map, number, length, 1)
+ elseif type == EXCardType.Straight then
+ list_type, touch_type = self:CheckStraight(card_map, number, length)
+ elseif type == EXCardType.FourAndtThree then
+ list_type, touch_type = self:CheckBomb(card_map, 0, 4)
+ if #list_type > 0 then
+ -- body
+ sidaisan = true
+ end
+ end
+ card_map, max_key = self:GetCardMapAndMaxKey(self.card_list)
+ tip_list = self:GetMergeAllList(list_type, list_bomb)
+ --list_bomb, touch_bomb = self:CheckBomb(card_map, 0, 4)
+ touch_key_list = self:GetMergeAllList(touch_type, touch_bomb)
+ local tip_templist2 = {}
+ if tip_templist == nil then
+ -- body
+ tip_templist2 = self:GetCardTips(type, number, length, mustPutMaxCard, tip_list)
+ end
+ if #tip_templist2 > 0 then
+ -- body
+ tip_list = self:GetMergeAllList(tip_list, tip_templist2)
+ end
+ end
+
+ if (tip_templist ~= nil and sidaisan == false and #tip_templist >= 1) then
+ -- body
+ self:SetNotTouchCard(touch_key_list, card_map)
+ end
+
+ return tip_list
+end
+
+-- 合并多个list
+function M:GetMergeAllList(...)
+ local lists = { ... }
+ local merge_list = {}
+ for i = 1, #lists do
+ local list_item = lists[i]
+ for j = 1, #list_item do
+ merge_list[#merge_list + 1] = list_item[j]
+ end
+ end
+
+ return merge_list
+end
+
+function M:NewBoutTips(pokerMap)
+ local new_bout_list = {}
+ for k, v in pairs(pokerMap) do
+ new_bout_list[#new_bout_list + 1] = v
+ end
+ return new_bout_list
+end
+
+function M:CheckOneCard(pokerMap, num, length)
+ local one_card_list = {}
+ local touch_key_list = {}
+ if #self.card_list < length then
+ return one_card_list, touch_key_list
+ end
+ for k, v in pairs(pokerMap) do
+ if k > num and #v == 1 then
+ one_card_list[#one_card_list + 1] = { v[1] }
+ touch_key_list[#touch_key_list + 1] = k
+ end
+ end
+ for k, v in pairs(pokerMap) do
+ if k > num and #v ~= 1 then
+ one_card_list[#one_card_list + 1] = { v[1] }
+ touch_key_list[#touch_key_list + 1] = k
+ end
+ end
+ return one_card_list, touch_key_list
+end
+
+function M:CheckOnePair(pokerMap, num, length)
+ local one_pair_list = {}
+ local touch_key_list = {}
+ if #self.card_list < length then
+ return one_pair_list, touch_key_list
+ end
+ for k, v in pairs(pokerMap) do -- 从三条和对子里面提取
+ if #v > 1 and k > num then
+ one_pair_list[#one_pair_list + 1] = { v[1], v[2] }
+ touch_key_list[#touch_key_list + 1] = k
+ end
+ end
+ return one_pair_list, touch_key_list
+end
+
+function M:CheckThree(pokerMap, num, length)
+ local three_list = {}
+ local touch_key_list = {}
+ if #self.card_list < length then
+ return three_list, touch_key_list
+ end
+ for k, v in pairs(pokerMap) do
+ if #v > 2 and k > num then
+ three_list[#three_list + 1] = { v[1], v[2], v[3] }
+ touch_key_list[#touch_key_list + 1] = k
+ end
+ end
+ return three_list, touch_key_list
+end
+
+function M:CheckPairs(pokerMap, num, length)
+ local pairs_list = {}
+ local touch_key_list = {}
+ if #self.card_list < length then
+ return pairs_list, touch_key_list
+ end
+ local pair_length = length / 2
+ local number_start = num - pair_length + 2
+ local number_end = 15 - pair_length
+ for i = number_start, number_end do
+ local item_all_list = {}
+ for j = i, i + pair_length - 1 do
+ local item_list = pokerMap[j]
+ if item_list == nil then
+ break
+ elseif #item_list < 2 then
+ break
+ else
+ item_all_list[#item_all_list + 1] = item_list[1]
+ item_all_list[#item_all_list + 1] = item_list[2]
+ end
+ if j == i + pair_length - 1 then
+ pairs_list[#pairs_list + 1] = item_all_list
+ for k = i, i + pair_length - 1 do
+ touch_key_list[#touch_key_list + 1] = k
+ end
+ end
+ end
+ end
+ return pairs_list, touch_key_list
+end
+
+function M:CheckThreeAndOne(pokerMap, num, length)
+ local three_and_one_list = {}
+ local touch_key_list = {}
+ if #self.card_list < length then
+ return three_and_one_list, touch_key_list
+ end
+ for k, v in pairs(pokerMap) do
+ if #v >= 3 and k > num then
+ three_and_one_list[#three_and_one_list + 1] = { v[1], v[2], v[3] }
+ touch_key_list = { 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }
+ end
+ end
+ return three_and_one_list, touch_key_list
+end
+
+function M:CheckThreeAndTwo(pokerMap, num, length)
+ local three_and_two_list = {}
+ local touch_key_list = {}
+ if #self.card_list < length then
+ return three_and_two_list, touch_key_list
+ end
+ for k, v in pairs(pokerMap) do
+ if #v >= 3 and k > num then
+ three_and_two_list[#three_and_two_list + 1] = { v[1], v[2], v[3] }
+ touch_key_list = { 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }
+ end
+ end
+ return three_and_two_list, touch_key_list
+end
+
+function M:CheckStraight(pokerMap, num, length)
+ local straight_list = {}
+ local touch_key_list = {}
+ if #self.card_list < length then
+ return straight_list, touch_key_list
+ end
+ local number_start = num - length + 2
+ local number_end = 15 - length
+ for i = number_start, number_end do
+ local item_all_list = {}
+ for j = i, i + length - 1 do
+ local item_list = pokerMap[j]
+ if item_list == nil then
+ break
+ else
+ item_all_list[#item_all_list + 1] = item_list[1]
+ end
+ if j == i + length - 1 then
+ straight_list[#straight_list + 1] = item_all_list
+ for k = i, i + length - 1 do
+ touch_key_list[#touch_key_list + 1] = k
+ end
+ end
+ end
+ end
+ return straight_list, touch_key_list
+end
+
+function M:CheckBomb(pokerMap, num, length)
+ local bomb_list = {}
+ local touch_key_list = {}
+ local threeA = DataManager.CurrenRoom.room_config.threeA
+ if threeA == 0 then
+ -- body
+ if #self.card_list < length then
+ return bomb_list, touch_key_list
+ end
+ else
+ if #self.card_list < 3 then
+ return bomb_list, touch_key_list
+ end
+ end
+
+ for k, v in pairs(pokerMap) do
+ if #v == 4 and k > num then
+ bomb_list[#bomb_list + 1] = v
+ touch_key_list[#touch_key_list + 1] = k
+ end
+ if threeA == 1 and #v == 3 and k == 14 then
+ bomb_list[#bomb_list + 1] = v
+ touch_key_list[#touch_key_list + 1] = k
+ end
+ end
+
+ return bomb_list, touch_key_list
+end
+
+function M:CheckPlane(pokerMap, num, length, and_num)
+ local plane_list = {}
+ local touch_key_list = {}
+ local l = and_num + 3
+ local pair_length = length / l
+ local number_start = num - pair_length + 2
+ local number_end = 15 - pair_length
+ for i = number_start, number_end do
+ local item_all_list = {}
+ for j = i, i + pair_length - 1 do
+ local item_list = pokerMap[j]
+ if item_list == nil then
+ break
+ elseif #item_list < 3 then
+ break
+ else
+ item_all_list[#item_all_list + 1] = item_list[1]
+ item_all_list[#item_all_list + 1] = item_list[2]
+ item_all_list[#item_all_list + 1] = item_list[3]
+ end
+ if j == i + pair_length - 1 then
+ plane_list[#plane_list + 1] = item_all_list
+ touch_key_list = { 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }
+ end
+ end
+ end
+ return plane_list, touch_key_list
+end
+
+function M:SetNotTouchCard(touch_key_list, card_map)
+ local all_key_list = { 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }
+ for i = 1, #all_key_list do
+ local key = all_key_list[i]
+ local isExsit = self:IsExistByList(touch_key_list, key)
+ if isExsit == false then
+ local key_card_item = card_map[key]
+ if key_card_item ~= nil then
+ for j = 1, #key_card_item do
+ local card = key_card_item[j]
+ card.btn_card.touchable = false
+ self:UpdateCardMove(card.btn_card, false, false)
+ end
+ end
+ end
+ end
+end
+
+function M:IsExistByList(list, item)
+ for i = 1, #list do
+ if list[i] == item then
+ return true
+ end
+ end
+ return false
+end
+
+function M:GetCardByNumber(list, number)
+ for i = 1, #list do
+ if list[i].card_code_number == number then
+ return list[i]
+ end
+ end
+ return nil
+end
+
+function M:GetCardMapAndMaxKey(pokerList)
+ local map, max_key = {}, 0
+ for i = 1, #pokerList do
+ local number = math.floor(pokerList[i].card_code_number / 10)
+ if number > max_key then
+ max_key = number
+ end
+ if map[number] == nil then
+ map[number] = { pokerList[i] }
+ else
+ map[number][#map[number] + 1] = pokerList[i]
+ end
+ end
+ return map, max_key
+end
+
+-- function M:CheckOnes(pokerMap, num, length)
+-- local one_card_list = {}
+-- local touch_key_list = {}
+-- local text = {}
+-- local text2 = {}
+-- local x = 0
+-- if #self.card_list < length then
+-- return one_card_list, touch_key_list
+-- end
+-- for k, v in pairs(pokerMap) do
+-- text = {}
+-- text2 = {}
+-- if k > num then
+-- for l, p in pairs(pokerMap) do
+-- for i = 0, length - 1 do
+-- if l == k + i and l ~= 15 and l ~= 16 then
+-- -- body
+-- text[#text + 1] = { p[1] }
+-- text2[#text2 + 1] = l
+-- if #text >= length then
+-- -- body
+-- local x = #one_card_list
+-- local y = #touch_key_list
+-- for i = 1, #text - 1 do
+-- one_card_list[x + 1] = text[1]
+-- touch_key_list[y + 1] = text2[2]
+-- -- for i, v in pairs(text2[i + 1]) do
+-- -- if v ~= nil then
+-- -- table.insert(touch_key_list[x + 1], v)
+-- -- end
+-- -- end
+-- for i, v in pairs(text[i + 1]) do
+-- if v ~= nil then
+-- table.insert(one_card_list[x + 1], v)
+-- end
+-- end
+-- end
+-- end
+-- end
+-- end
+-- end
+-- end
+-- end
+-- return one_card_list, touch_key_list, length
+-- end
+
+function M:CheckOnes(pokerMap)
+ local one_card_list = {}
+ local old_k = 0
+ for k, v in pairs(pokerMap) do
+ if #one_card_list == 0 then
+ table.insert(one_card_list, v)
+ old_k = k
+ else
+ if k == 15 then
+ break
+ end
+ if k ~= old_k + 1 and #one_card_list >= 5 then
+ break
+ end
+ if k ~= old_k + 1 then
+ one_card_list = {}
+ end
+ table.insert(one_card_list, v)
+ old_k = k
+ end
+ end
+ if #one_card_list < 5 then
+ one_card_list = {}
+ end
+ return one_card_list
+end
+
+function M:Clear()
+ self:PlayScore(nil)
+ self:SetOutCardInfo(nil, false)
+ self.card_list = {}
+ self.out_card_list = {}
+ self._view_handCard:RemoveChildren(0, -1, true)
+ self._flag_ruleCard = false
+ -- self.mask_liangpai:RemoveChildren(0,-1,true)
+end
+
+function M:ClearCheck()
+ self.card_list = {}
+ self.out_card_list = {}
+ self._view_handCard:RemoveChildren(0, -1, true)
+end
+
+function M:Destroy()
+ Stage.inst.onTouchMove:Remove(self.touchMoveFun)
+ Stage.inst.onTouchEnd:Remove(self.touchMoveEndFun)
+end
+
+return M
diff --git a/wb_new_ui/assets/Common/buttons/Btn_CheckBoxRoundWithText.xml b/wb_new_ui/assets/Common/buttons/Btn_CheckBoxRoundWithText.xml
index 5d3ba8b1..57485981 100644
--- a/wb_new_ui/assets/Common/buttons/Btn_CheckBoxRoundWithText.xml
+++ b/wb_new_ui/assets/Common/buttons/Btn_CheckBoxRoundWithText.xml
@@ -2,9 +2,14 @@
-
+
+
-
+
+
+
+
+
diff --git a/wb_new_ui/assets/Common/buttons/Btn_CheckBoxWithText.xml b/wb_new_ui/assets/Common/buttons/Btn_CheckBoxWithText.xml
index 54af608d..5d4a3bcd 100644
--- a/wb_new_ui/assets/Common/buttons/Btn_CheckBoxWithText.xml
+++ b/wb_new_ui/assets/Common/buttons/Btn_CheckBoxWithText.xml
@@ -1,13 +1,18 @@
-
+
-
+
+
-
+
+
+
+
+
-
+
\ No newline at end of file
diff --git a/wb_new_ui/assets/Common/images/btn_jia.png b/wb_new_ui/assets/Common/images/btn_jia.png
new file mode 100644
index 00000000..480a570d
Binary files /dev/null and b/wb_new_ui/assets/Common/images/btn_jia.png differ
diff --git a/wb_new_ui/assets/Common/images/btn_pass_poker.png b/wb_new_ui/assets/Common/images/btn_pass_poker.png
new file mode 100644
index 00000000..8892f924
Binary files /dev/null and b/wb_new_ui/assets/Common/images/btn_pass_poker.png differ
diff --git a/wb_new_ui/assets/Common/images/btn_send_poker.png b/wb_new_ui/assets/Common/images/btn_send_poker.png
new file mode 100644
index 00000000..9b70d22e
Binary files /dev/null and b/wb_new_ui/assets/Common/images/btn_send_poker.png differ
diff --git a/wb_new_ui/assets/Common/images/btn_tip_poker.png b/wb_new_ui/assets/Common/images/btn_tip_poker.png
new file mode 100644
index 00000000..67d121d5
Binary files /dev/null and b/wb_new_ui/assets/Common/images/btn_tip_poker.png differ
diff --git a/wb_new_ui/assets/Common/images/close_input.png b/wb_new_ui/assets/Common/images/close_input.png
new file mode 100644
index 00000000..e150c4cb
Binary files /dev/null and b/wb_new_ui/assets/Common/images/close_input.png differ
diff --git a/wb_new_ui/assets/Common/package.xml b/wb_new_ui/assets/Common/package.xml
index 385c33ed..fa8da1c2 100644
--- a/wb_new_ui/assets/Common/package.xml
+++ b/wb_new_ui/assets/Common/package.xml
@@ -1,5 +1,5 @@
-
+
@@ -2207,10 +2207,10 @@
-
+
-
+
@@ -2218,7 +2218,7 @@
-
+
@@ -2234,11 +2234,11 @@
-
+
-
+
@@ -2246,24 +2246,29 @@
-
-
+
+
-
-
-
-
+
+
+
+
-
+
+
+
+
+
+
diff --git a/wb_new_ui/assets/Extend_Poker_DuoDuo/EXMain_New_4.xml b/wb_new_ui/assets/Extend_Poker_DuoDuo/EXMain_New_4.xml
index 8eab1ae6..c34a17bb 100644
--- a/wb_new_ui/assets/Extend_Poker_DuoDuo/EXMain_New_4.xml
+++ b/wb_new_ui/assets/Extend_Poker_DuoDuo/EXMain_New_4.xml
@@ -34,41 +34,41 @@
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
-
+
-
+
-
+
diff --git a/wb_new_ui/assets/Extend_Poker_DuoDuo/Main_New/Component/Btn_SelfCard.xml b/wb_new_ui/assets/Extend_Poker_DuoDuo/Main_New/Component/Btn_SelfCard.xml
index 17fb2f54..0c7cb823 100644
--- a/wb_new_ui/assets/Extend_Poker_DuoDuo/Main_New/Component/Btn_SelfCard.xml
+++ b/wb_new_ui/assets/Extend_Poker_DuoDuo/Main_New/Component/Btn_SelfCard.xml
@@ -1,16 +1,18 @@
-
-
+
+
-
+
-
+
-
+
+
+
\ No newline at end of file
diff --git a/wb_new_ui/assets/Extend_Poker_DuoDuo/Main_New/Component/Comp_OutCard.xml b/wb_new_ui/assets/Extend_Poker_DuoDuo/Main_New/Component/Comp_OutCard.xml
index cc8d5fba..f5c223f7 100644
--- a/wb_new_ui/assets/Extend_Poker_DuoDuo/Main_New/Component/Comp_OutCard.xml
+++ b/wb_new_ui/assets/Extend_Poker_DuoDuo/Main_New/Component/Comp_OutCard.xml
@@ -1,7 +1,7 @@
-
+
-
+
diff --git a/wb_new_ui/assets/Extend_Poker_DuoDuo/Main_New/Player_card_info_1.xml b/wb_new_ui/assets/Extend_Poker_DuoDuo/Main_New/Player_card_info_1.xml
index 4315adce..da2a444e 100644
--- a/wb_new_ui/assets/Extend_Poker_DuoDuo/Main_New/Player_card_info_1.xml
+++ b/wb_new_ui/assets/Extend_Poker_DuoDuo/Main_New/Player_card_info_1.xml
@@ -1,29 +1,19 @@
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
@@ -58,7 +48,7 @@
-
+
@@ -75,18 +65,49 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
-
-
-
-
-
-
-
-
+
@@ -110,24 +131,19 @@
-
-
-
-
-
-
+
+
-
-
-
+
+
-
-
+
+
-
+
+
-
diff --git a/wb_new_ui/assets/Extend_Poker_DuoDuo/Main_New/Player_card_info_3.xml b/wb_new_ui/assets/Extend_Poker_DuoDuo/Main_New/Player_card_info_3.xml
index 153527ce..6f0ba1ef 100644
--- a/wb_new_ui/assets/Extend_Poker_DuoDuo/Main_New/Player_card_info_3.xml
+++ b/wb_new_ui/assets/Extend_Poker_DuoDuo/Main_New/Player_card_info_3.xml
@@ -1,6 +1,6 @@
-
+
@@ -18,10 +18,16 @@
-
+
+
+
+
+
+
+
@@ -72,7 +78,7 @@
-
+
diff --git a/wb_new_ui/assets/Family/FamilyManager/FamilyManagerMenber.xml b/wb_new_ui/assets/Family/FamilyManager/FamilyManagerMenber.xml
index 03872253..51765adf 100644
--- a/wb_new_ui/assets/Family/FamilyManager/FamilyManagerMenber.xml
+++ b/wb_new_ui/assets/Family/FamilyManager/FamilyManagerMenber.xml
@@ -19,5 +19,6 @@
+
\ No newline at end of file
diff --git a/wb_new_ui/assets/Family/FamilyManager/compomemt/Child_GamePlayManagerChild.xml b/wb_new_ui/assets/Family/FamilyManager/compomemt/Child_GamePlayManagerChild.xml
index 2114e87f..d93833e1 100644
--- a/wb_new_ui/assets/Family/FamilyManager/compomemt/Child_GamePlayManagerChild.xml
+++ b/wb_new_ui/assets/Family/FamilyManager/compomemt/Child_GamePlayManagerChild.xml
@@ -8,8 +8,8 @@
-
-
+
+
diff --git a/wb_new_ui/assets/Family/FamilyManager/compomemt/ManagerChild_Setting.xml b/wb_new_ui/assets/Family/FamilyManager/compomemt/ManagerChild_Setting.xml
new file mode 100644
index 00000000..e74e2a12
--- /dev/null
+++ b/wb_new_ui/assets/Family/FamilyManager/compomemt/ManagerChild_Setting.xml
@@ -0,0 +1,67 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/wb_new_ui/assets/Family/FamilyManager/compomemt/ManagerMenberChild_DisInvite.xml b/wb_new_ui/assets/Family/FamilyManager/compomemt/ManagerMenberChild_DisInvite.xml
index 4a41ec91..74314d9e 100644
--- a/wb_new_ui/assets/Family/FamilyManager/compomemt/ManagerMenberChild_DisInvite.xml
+++ b/wb_new_ui/assets/Family/FamilyManager/compomemt/ManagerMenberChild_DisInvite.xml
@@ -10,7 +10,7 @@
-
+
diff --git a/wb_new_ui/assets/Family/FamilyManager/compomemt/ManagerMenberChild_DisSameDesk.xml b/wb_new_ui/assets/Family/FamilyManager/compomemt/ManagerMenberChild_DisSameDesk.xml
index ddec7901..0699e2cc 100644
--- a/wb_new_ui/assets/Family/FamilyManager/compomemt/ManagerMenberChild_DisSameDesk.xml
+++ b/wb_new_ui/assets/Family/FamilyManager/compomemt/ManagerMenberChild_DisSameDesk.xml
@@ -7,7 +7,7 @@
-
+
diff --git a/wb_new_ui/assets/Family/FamilyManager/image/btn_dissolveRoom.png b/wb_new_ui/assets/Family/FamilyManager/image/btn_dissolveRoom.png
new file mode 100644
index 00000000..fdc3dce8
Binary files /dev/null and b/wb_new_ui/assets/Family/FamilyManager/image/btn_dissolveRoom.png differ
diff --git a/wb_new_ui/assets/Family/FamilyManager/image/btn_time_setting.png b/wb_new_ui/assets/Family/FamilyManager/image/btn_time_setting.png
new file mode 100644
index 00000000..f14cc4ae
Binary files /dev/null and b/wb_new_ui/assets/Family/FamilyManager/image/btn_time_setting.png differ
diff --git a/wb_new_ui/assets/Family/FamilyManager/image/icon_fangka_setting.png b/wb_new_ui/assets/Family/FamilyManager/image/icon_fangka_setting.png
new file mode 100644
index 00000000..b934c037
Binary files /dev/null and b/wb_new_ui/assets/Family/FamilyManager/image/icon_fangka_setting.png differ
diff --git a/wb_new_ui/assets/Family/FamilyManager/image/icon_id_setting.png b/wb_new_ui/assets/Family/FamilyManager/image/icon_id_setting.png
new file mode 100644
index 00000000..42a5769d
Binary files /dev/null and b/wb_new_ui/assets/Family/FamilyManager/image/icon_id_setting.png differ
diff --git a/wb_new_ui/assets/Family/FamilyManager/image/icon_name_setting.png b/wb_new_ui/assets/Family/FamilyManager/image/icon_name_setting.png
new file mode 100644
index 00000000..641054c0
Binary files /dev/null and b/wb_new_ui/assets/Family/FamilyManager/image/icon_name_setting.png differ
diff --git a/wb_new_ui/assets/Family/FamilyManager/image/icon_table_setting.png b/wb_new_ui/assets/Family/FamilyManager/image/icon_table_setting.png
new file mode 100644
index 00000000..dbe85f4f
Binary files /dev/null and b/wb_new_ui/assets/Family/FamilyManager/image/icon_table_setting.png differ
diff --git a/wb_new_ui/assets/Family/FamilyManager/image/icon_witness_setting.png b/wb_new_ui/assets/Family/FamilyManager/image/icon_witness_setting.png
new file mode 100644
index 00000000..cb50d0cd
Binary files /dev/null and b/wb_new_ui/assets/Family/FamilyManager/image/icon_witness_setting.png differ
diff --git a/wb_new_ui/assets/Family/FamilyManager/image/成员.png b/wb_new_ui/assets/Family/FamilyManager/image/成员.png
new file mode 100644
index 00000000..994fc837
Binary files /dev/null and b/wb_new_ui/assets/Family/FamilyManager/image/成员.png differ
diff --git a/wb_new_ui/assets/Family/FamilyMenberManagerDisDetail/FamilyMenberManagerDisDetail.xml b/wb_new_ui/assets/Family/FamilyMenberManagerDisDetail/FamilyMenberManagerDisDetail.xml
new file mode 100644
index 00000000..333448c0
--- /dev/null
+++ b/wb_new_ui/assets/Family/FamilyMenberManagerDisDetail/FamilyMenberManagerDisDetail.xml
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/wb_new_ui/assets/Family/FamilyMenberManagerDisDetail/componment/Child_Player.xml b/wb_new_ui/assets/Family/FamilyMenberManagerDisDetail/componment/Child_Player.xml
new file mode 100644
index 00000000..796baabc
--- /dev/null
+++ b/wb_new_ui/assets/Family/FamilyMenberManagerDisDetail/componment/Child_Player.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/wb_new_ui/assets/Family/FamilyMenberManagerDisInviteDetail/image/添加屏蔽邀请成员.png b/wb_new_ui/assets/Family/FamilyMenberManagerDisDetail/image/添加屏蔽邀请成员.png
similarity index 100%
rename from wb_new_ui/assets/Family/FamilyMenberManagerDisInviteDetail/image/添加屏蔽邀请成员.png
rename to wb_new_ui/assets/Family/FamilyMenberManagerDisDetail/image/添加屏蔽邀请成员.png
diff --git a/wb_new_ui/assets/Family/FamilyMenberManagerDisInviteDetail/FamilyMenberManagerDisInviteDetail.xml b/wb_new_ui/assets/Family/FamilyMenberManagerDisInviteDetail/FamilyMenberManagerDisInviteDetail.xml
deleted file mode 100644
index 8972eeac..00000000
--- a/wb_new_ui/assets/Family/FamilyMenberManagerDisInviteDetail/FamilyMenberManagerDisInviteDetail.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/wb_new_ui/assets/Family/FamilyManager/image/btn_search_managerMenber.png b/wb_new_ui/assets/Family/SameImage/btn_search_managerMenber.png
similarity index 100%
rename from wb_new_ui/assets/Family/FamilyManager/image/btn_search_managerMenber.png
rename to wb_new_ui/assets/Family/SameImage/btn_search_managerMenber.png
diff --git a/wb_new_ui/assets/Family/package.xml b/wb_new_ui/assets/Family/package.xml
index 3114f369..6948a881 100644
--- a/wb_new_ui/assets/Family/package.xml
+++ b/wb_new_ui/assets/Family/package.xml
@@ -569,7 +569,7 @@
-
+
@@ -593,8 +593,18 @@
-
-
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/wb_unity_pro/Assets/ART/base/Family/ui/Family_atlas0.png b/wb_unity_pro/Assets/ART/base/Family/ui/Family_atlas0.png
index 095902de..227715d9 100644
Binary files a/wb_unity_pro/Assets/ART/base/Family/ui/Family_atlas0.png and b/wb_unity_pro/Assets/ART/base/Family/ui/Family_atlas0.png differ
diff --git a/wb_unity_pro/Assets/ART/base/Family/ui/Family_atlas0_1.png b/wb_unity_pro/Assets/ART/base/Family/ui/Family_atlas0_1.png
index 4a474c14..e01a6e6a 100644
Binary files a/wb_unity_pro/Assets/ART/base/Family/ui/Family_atlas0_1.png and b/wb_unity_pro/Assets/ART/base/Family/ui/Family_atlas0_1.png differ
diff --git a/wb_unity_pro/Assets/ART/base/Family/ui/Family_atlas0_2.png b/wb_unity_pro/Assets/ART/base/Family/ui/Family_atlas0_2.png
index 27975771..829370b0 100644
Binary files a/wb_unity_pro/Assets/ART/base/Family/ui/Family_atlas0_2.png and b/wb_unity_pro/Assets/ART/base/Family/ui/Family_atlas0_2.png differ
diff --git a/wb_unity_pro/Assets/ART/base/Family/ui/Family_atlas0_4.png b/wb_unity_pro/Assets/ART/base/Family/ui/Family_atlas0_4.png
index 7e206658..1aa782c4 100644
Binary files a/wb_unity_pro/Assets/ART/base/Family/ui/Family_atlas0_4.png and b/wb_unity_pro/Assets/ART/base/Family/ui/Family_atlas0_4.png differ
diff --git a/wb_unity_pro/Assets/ART/base/Family/ui/Family_atlas0_5.png b/wb_unity_pro/Assets/ART/base/Family/ui/Family_atlas0_5.png
index 45d9cf3f..18e78310 100644
Binary files a/wb_unity_pro/Assets/ART/base/Family/ui/Family_atlas0_5.png and b/wb_unity_pro/Assets/ART/base/Family/ui/Family_atlas0_5.png differ
diff --git a/wb_unity_pro/Assets/ART/base/Family/ui/Family_fui.bytes b/wb_unity_pro/Assets/ART/base/Family/ui/Family_fui.bytes
index bc01bd7b..720de1aa 100644
Binary files a/wb_unity_pro/Assets/ART/base/Family/ui/Family_fui.bytes and b/wb_unity_pro/Assets/ART/base/Family/ui/Family_fui.bytes differ
diff --git a/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0.png b/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0.png
index a68c8dab..e928fb8e 100644
Binary files a/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0.png and b/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0.png differ
diff --git a/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_1.png b/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_1.png
index de73fb41..29aa5a11 100644
Binary files a/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_1.png and b/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_1.png differ
diff --git a/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_10.png b/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_10.png
index 28d0f20e..5295d5e3 100644
Binary files a/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_10.png and b/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_10.png differ
diff --git a/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_11.png b/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_11.png
index a82e8edc..bd8ac67c 100644
Binary files a/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_11.png and b/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_11.png differ
diff --git a/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_12.png b/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_12.png
index 2af71600..ade4b6a7 100644
Binary files a/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_12.png and b/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_12.png differ
diff --git a/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_13.png b/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_13.png
index e09a46a8..acf3cb3a 100644
Binary files a/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_13.png and b/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_13.png differ
diff --git a/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_14.png b/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_14.png
index 2201a799..beb28255 100644
Binary files a/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_14.png and b/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_14.png differ
diff --git a/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_15.png b/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_15.png
index 0a1058bb..dcd71cc5 100644
Binary files a/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_15.png and b/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_15.png differ
diff --git a/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_16.png b/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_16.png
index 045fecf7..35d5adc4 100644
Binary files a/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_16.png and b/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_16.png differ
diff --git a/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_17.png b/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_17.png
new file mode 100644
index 00000000..bd8a7cdf
Binary files /dev/null and b/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_17.png differ
diff --git a/wb_unity_pro/Assets/ART/extend/poker/duoduo/ui/Extend_Poker_DuoDuo_atlas_g6uwoy.png.meta b/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_17.png.meta
similarity index 94%
rename from wb_unity_pro/Assets/ART/extend/poker/duoduo/ui/Extend_Poker_DuoDuo_atlas_g6uwoy.png.meta
rename to wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_17.png.meta
index 1cb3421f..05d793c3 100644
--- a/wb_unity_pro/Assets/ART/extend/poker/duoduo/ui/Extend_Poker_DuoDuo_atlas_g6uwoy.png.meta
+++ b/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_17.png.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 455360300716f454da545e2ea68b502e
+guid: 1824517d4b1d1c84b836e9a016c91d9d
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
@@ -88,5 +88,5 @@ TextureImporter:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
- assetBundleName: extend/poker/duoduo/6c7197cb17f07408b369a65064e42752
+ assetBundleName:
assetBundleVariant:
diff --git a/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_2.png b/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_2.png
index a2e09cea..3d74ebef 100644
Binary files a/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_2.png and b/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_2.png differ
diff --git a/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_3.png b/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_3.png
index a816416f..32525ac1 100644
Binary files a/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_3.png and b/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_3.png differ
diff --git a/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_4.png b/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_4.png
index 9b01df0c..e4a0bcd7 100644
Binary files a/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_4.png and b/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_4.png differ
diff --git a/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_5.png b/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_5.png
index 71a096e0..a6d4ce66 100644
Binary files a/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_5.png and b/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_5.png differ
diff --git a/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_6.png b/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_6.png
index 0fc952a2..696d966d 100644
Binary files a/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_6.png and b/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_6.png differ
diff --git a/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_7.png b/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_7.png
index 5d51402a..cccfef4f 100644
Binary files a/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_7.png and b/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_7.png differ
diff --git a/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_8.png b/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_8.png
index d86c2984..0ec310bf 100644
Binary files a/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_8.png and b/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_8.png differ
diff --git a/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_9.png b/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_9.png
index f5e54d6b..6407f6b4 100644
Binary files a/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_9.png and b/wb_unity_pro/Assets/ART/base/common/ui/Common_atlas0_9.png differ
diff --git a/wb_unity_pro/Assets/ART/base/common/ui/Common_fui.bytes b/wb_unity_pro/Assets/ART/base/common/ui/Common_fui.bytes
index 7d06b5e6..3dd9323d 100644
Binary files a/wb_unity_pro/Assets/ART/base/common/ui/Common_fui.bytes and b/wb_unity_pro/Assets/ART/base/common/ui/Common_fui.bytes differ
diff --git a/wb_unity_pro/Assets/ART/extend/poker/duoduo/ui/Extend_Poker_DuoDuo_atlas0.png b/wb_unity_pro/Assets/ART/extend/poker/duoduo/ui/Extend_Poker_DuoDuo_atlas0.png
index bff99763..143b7731 100644
Binary files a/wb_unity_pro/Assets/ART/extend/poker/duoduo/ui/Extend_Poker_DuoDuo_atlas0.png and b/wb_unity_pro/Assets/ART/extend/poker/duoduo/ui/Extend_Poker_DuoDuo_atlas0.png differ
diff --git a/wb_unity_pro/Assets/ART/extend/poker/duoduo/ui/Extend_Poker_DuoDuo_atlas0_1.png b/wb_unity_pro/Assets/ART/extend/poker/duoduo/ui/Extend_Poker_DuoDuo_atlas0_1.png
index fb13d9c0..4eb2d76f 100644
Binary files a/wb_unity_pro/Assets/ART/extend/poker/duoduo/ui/Extend_Poker_DuoDuo_atlas0_1.png and b/wb_unity_pro/Assets/ART/extend/poker/duoduo/ui/Extend_Poker_DuoDuo_atlas0_1.png differ
diff --git a/wb_unity_pro/Assets/ART/extend/poker/duoduo/ui/Extend_Poker_DuoDuo_atlas0_2.png b/wb_unity_pro/Assets/ART/extend/poker/duoduo/ui/Extend_Poker_DuoDuo_atlas0_2.png
index 9a035427..f061e3f0 100644
Binary files a/wb_unity_pro/Assets/ART/extend/poker/duoduo/ui/Extend_Poker_DuoDuo_atlas0_2.png and b/wb_unity_pro/Assets/ART/extend/poker/duoduo/ui/Extend_Poker_DuoDuo_atlas0_2.png differ
diff --git a/wb_unity_pro/Assets/ART/extend/poker/duoduo/ui/Extend_Poker_DuoDuo_atlas_g6uwoy.png b/wb_unity_pro/Assets/ART/extend/poker/duoduo/ui/Extend_Poker_DuoDuo_atlas_g6uwoy.png
deleted file mode 100644
index 2dbd4079..00000000
Binary files a/wb_unity_pro/Assets/ART/extend/poker/duoduo/ui/Extend_Poker_DuoDuo_atlas_g6uwoy.png and /dev/null differ
diff --git a/wb_unity_pro/Assets/ART/extend/poker/duoduo/ui/Extend_Poker_DuoDuo_fui.bytes b/wb_unity_pro/Assets/ART/extend/poker/duoduo/ui/Extend_Poker_DuoDuo_fui.bytes
index 01801c92..e35566f8 100644
Binary files a/wb_unity_pro/Assets/ART/extend/poker/duoduo/ui/Extend_Poker_DuoDuo_fui.bytes and b/wb_unity_pro/Assets/ART/extend/poker/duoduo/ui/Extend_Poker_DuoDuo_fui.bytes differ