1665 lines
61 KiB
Lua
1665 lines
61 KiB
Lua
|
|
---
|
|||
|
|
--- Created by 谌建军.
|
|||
|
|
--- DateTime: 2017/12/18 9:41
|
|||
|
|
---
|
|||
|
|
local PKMainView = import("main.poker.PKMainView")
|
|||
|
|
local EXPlayerPokerInfoView = import(".EXPlayerPokerInfoView")
|
|||
|
|
local EXPlayerSelfPokerInfoView = import(".EXPlayerSelfPokerInfoView")
|
|||
|
|
local EXGameEvent = import(".EXGameEvent")
|
|||
|
|
local EXResultView = import(".EXResultView")
|
|||
|
|
local EXRightPanelView = import(".EXRightPanelView")
|
|||
|
|
local PlayerInfoView = import(".EXPlayerInfoView")
|
|||
|
|
local TableBG = import('Game.Data.TableBG')
|
|||
|
|
local EXCardCheck = import(".CardCheck")
|
|||
|
|
local M = {}
|
|||
|
|
function M.new()
|
|||
|
|
setmetatable(M, { __index = PKMainView })
|
|||
|
|
local self = setmetatable({}, { __index = M })
|
|||
|
|
self.class = "EXMainView"
|
|||
|
|
self:init()
|
|||
|
|
self._gamectr = ControllerManager.GetController(GameController)
|
|||
|
|
return self
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
local default_bg = 1
|
|||
|
|
local bg_config = {
|
|||
|
|
{ id = 1, url = 'extend/poker/duoduo/bg/bg1', thumb = 'ui://Extend_Poker_DuoDuo/table_bg1' },
|
|||
|
|
{ id = 2, url = 'extend/poker/duoduo/bg/bg2', thumb = 'ui://Extend_Poker_DuoDuo/table_bg2' },
|
|||
|
|
{ id = 3, url = 'extend/poker/duoduo/bg/bg3', thumb = 'ui://Extend_Poker_DuoDuo/table_bg3' }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
function M:InitView(url)
|
|||
|
|
local room = self._room
|
|||
|
|
self._full = true
|
|||
|
|
UIPackage.AddPackage("extend/poker/duoduo/ui/Extend_Poker_DuoDuo")
|
|||
|
|
PKMainView.InitView(self, "ui://Extend_Poker_DuoDuo/EXMain_New_" .. room.room_config.people_num, nil, 1,
|
|||
|
|
default_bg, bg_config, nil)
|
|||
|
|
local _room = DataManager.CurrenRoom
|
|||
|
|
local user_id = DataManager.SelfUser.account_id
|
|||
|
|
local json_data = Utils.LoadLocalFile(user_id .. _room.game_id .. "pai")
|
|||
|
|
if json_data == nil then
|
|||
|
|
local _gamectr = self._gamectr
|
|||
|
|
self._room.pai = 0
|
|||
|
|
else
|
|||
|
|
local _data = json.decode(json_data)
|
|||
|
|
local pai = _data["pai"]
|
|||
|
|
self._room.pai = pai
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
json_data = Utils.LoadLocalFile(user_id .. _room.game_id .. "cardsize")
|
|||
|
|
if json_data == nil then
|
|||
|
|
local _gamectr = self._gamectr
|
|||
|
|
self._room.cardsize = 1
|
|||
|
|
else
|
|||
|
|
local _data = json.decode(json_data)
|
|||
|
|
local cardsize = _data["cardsize"]
|
|||
|
|
self._room.cardsize = cardsize
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
|
|||
|
|
self._player_info = {}
|
|||
|
|
local _player_info = self._player_info
|
|||
|
|
for i = 1, self._room.room_config.people_num do
|
|||
|
|
local tem = self._view:GetChild("player_info" .. i)
|
|||
|
|
_player_info[i] = PlayerInfoView.new(tem, self)
|
|||
|
|
tem.visible = false
|
|||
|
|
end
|
|||
|
|
local list = self._room.player_list
|
|||
|
|
for i = 1, #list do
|
|||
|
|
local p = list[i]
|
|||
|
|
local info = _player_info[self:GetPos(p.seat)]
|
|||
|
|
info._view.visible = true
|
|||
|
|
info:FillData(p)
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
|
|||
|
|
local rightpanel = self._view:GetChild("right_panel")
|
|||
|
|
if self._rightPanelView ~= nil then
|
|||
|
|
self._rightPanelView:Destroy()
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
self._rightPanelView = EXRightPanelView.new(self, rightpanel)
|
|||
|
|
for i = 1, #self._room.player_list do
|
|||
|
|
if self._room.self_player.seat == self._room.player_list[i].seat and self._room.self_player.self_user.account_id ~= self._room.player_list[i].self_user.account_id then
|
|||
|
|
-- body
|
|||
|
|
local ErrorMsgTip = UIPackage.CreateObject("Common", "Win_ConnectTip")
|
|||
|
|
local _action = self._view:AddChild(ErrorMsgTip)
|
|||
|
|
_action.xy = Vector2((self._view.width - _action.width) / 4, self._view.height / 4)
|
|||
|
|
local text = _action:GetChild("tex_message")
|
|||
|
|
local btn1 = _action:GetChild("btn_connect")
|
|||
|
|
local btn2 = _action:GetChild("btn_back")
|
|||
|
|
text.text = "您来晚了,座位有人,请重新进牌桌"
|
|||
|
|
btn1.visible = false
|
|||
|
|
btn2:Center()
|
|||
|
|
btn2.y = btn2.y + 50
|
|||
|
|
btn2.onClick:Set(function()
|
|||
|
|
-- body
|
|||
|
|
ErrorMsgTip:Destroy()
|
|||
|
|
ErrorMsgTip = nil
|
|||
|
|
self._gamectr:LevelRoom(function(res)
|
|||
|
|
ViewUtil.CloseModalWait2()
|
|||
|
|
NetResetConnectWindow.CloseNetReset()
|
|||
|
|
ControllerManager.ChangeController(LoddyController)
|
|||
|
|
ViewManager.ChangeView(ViewManager.View_Lobby)
|
|||
|
|
end)
|
|||
|
|
end)
|
|||
|
|
end
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
-- if self._room.hpOnOff == 1 and self._room.score_times ~= 1 then
|
|||
|
|
-- -- body
|
|||
|
|
-- self._view:GetChild("roominfo_panel1"):GetChild("tex_beishu").text = self._room.score_times .. "倍"
|
|||
|
|
-- else
|
|||
|
|
-- self._view:GetChild("roominfo_panel1"):GetChild("tex_beishu").text = ""
|
|||
|
|
-- end
|
|||
|
|
|
|||
|
|
self._view_click = self._view:GetChild('click')
|
|||
|
|
if self._view_click then
|
|||
|
|
self._view_click.onClick:Set(function()
|
|||
|
|
self._gamectr:SendCheckCard()
|
|||
|
|
end)
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
self.ctr_state = self._view:GetController("state")
|
|||
|
|
self._ctr_action = self._view:GetController("action")
|
|||
|
|
-- self._tex_leftTime = self._view:GetChild("time"):GetChild("title")
|
|||
|
|
self.ctr_time = self._view:GetController("time")
|
|||
|
|
self._text_round = self._view:GetChild("round")
|
|||
|
|
self.ctr_card_eff = self._view:GetController("card_eff")
|
|||
|
|
self._player_card_info = {}
|
|||
|
|
|
|||
|
|
local _player_card_info = self._player_card_info
|
|||
|
|
for i = 1, room.room_config.people_num do
|
|||
|
|
local tem = self._view:GetChild("player_card_info_" .. i)
|
|||
|
|
_player_card_info[i] = self:NewPlayerCardInfoView(tem, i)
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
local list = room.player_list
|
|||
|
|
if not room.self_player.ready then
|
|||
|
|
local round = DataManager.CurrenRoom.room_config.config.times or 1
|
|||
|
|
local xpconfig = DataManager.CurrenRoom.room_config.config.xi_pai
|
|||
|
|
if xpconfig then
|
|||
|
|
if round > 1 then
|
|||
|
|
self._ctr_action.selectedIndex = 1
|
|||
|
|
else
|
|||
|
|
self._ctr_action.selectedIndex = 2
|
|||
|
|
end
|
|||
|
|
else
|
|||
|
|
self._ctr_action.selectedIndex = 1
|
|||
|
|
end
|
|||
|
|
else
|
|||
|
|
self._ctr_action.selectedIndex = 0
|
|||
|
|
end
|
|||
|
|
self._left_time = 0
|
|||
|
|
self.bgm_index = 1
|
|||
|
|
local state = self._room.CurnrenState
|
|||
|
|
|
|||
|
|
if room.CurnrenState ~= StateType.PalyingWait then
|
|||
|
|
self._state.selectedIndex = state
|
|||
|
|
if room.CurnrenState == StateType.Palying then
|
|||
|
|
self:ReConnectForStart()
|
|||
|
|
end
|
|||
|
|
else
|
|||
|
|
self._state.selectedIndex = StateType.Palying
|
|||
|
|
self:ReconnectForClearing()
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
self._view:GetChild("btn_back_jiesan").onClick:Set(function()
|
|||
|
|
if self.dismiss_room_cd_time > 0 then
|
|||
|
|
ViewUtil.ErrorTip(nil, "您还处于解散冷却时间当中,请稍后重试!")
|
|||
|
|
else
|
|||
|
|
local _gamectr = ControllerManager.GetController(GameController)
|
|||
|
|
_gamectr:AskDismissRoom()
|
|||
|
|
end
|
|||
|
|
end)
|
|||
|
|
--local tempdsaf=self._view:GetChild("btn_back_jiesan")
|
|||
|
|
--tempdsaf:GetChild("n3").displayObject.gameObject:SetActive(false)
|
|||
|
|
--self._view:GetChild("btn_back_jiesan").displayObject.gameObject:SetActive(false)
|
|||
|
|
|
|||
|
|
self:ChangeBgmMusic()
|
|||
|
|
self:EventInit()
|
|||
|
|
|
|||
|
|
self._view:GetChild("bg_mask").onClick:Set(function()
|
|||
|
|
-- self:ResetPoker()
|
|||
|
|
end)
|
|||
|
|
|
|||
|
|
--剩余弄在头像上,三人就会有两个剩余
|
|||
|
|
-- if self._view:GetChild("shengyu") ~= nil then
|
|||
|
|
-- -- body
|
|||
|
|
|
|||
|
|
-- if room.room_config.Leaf == 1 then
|
|||
|
|
-- -- body
|
|||
|
|
-- self._view:GetChild("shengyu"):GetChild("shengyu").text = "剩余15张"
|
|||
|
|
-- else
|
|||
|
|
-- self._view:GetChild("shengyu"):GetChild("shengyu").text = "剩余16张"
|
|||
|
|
-- end
|
|||
|
|
-- end
|
|||
|
|
------------------lingmeng--------------------------
|
|||
|
|
|
|||
|
|
-- self._tex_leftTime = self._view:GetChild('Comp_Clock'):GetChild('time') -- 重写
|
|||
|
|
self._text_currenRound = self._view:GetChild('Text_CurrenRound')
|
|||
|
|
self._text_maxRound = self._view:GetChild('Text_MaxMaxRound')
|
|||
|
|
|
|||
|
|
self._cardCheck = EXCardCheck:InitFlag()
|
|||
|
|
self._gamectr._cardCheck = self._cardCheck
|
|||
|
|
self:UpdateRound(self._room.curren_round or 0)
|
|||
|
|
|
|||
|
|
self._view:GetChild('text_roomId').text = self._room.room_id
|
|||
|
|
self._ctr_inClear = self._view:GetController('Inclear')
|
|||
|
|
self._view:GetChild('btn_ready_inClear').onClick:Set(function()
|
|||
|
|
if self.result_view and self.result_view._view then
|
|||
|
|
self._ctr_inClear.selectedIndex = 0
|
|||
|
|
self.result_view:ClearReady()
|
|||
|
|
else
|
|||
|
|
self.result_view = nil
|
|||
|
|
local _gamectr = ControllerManager.GetController(GameController)
|
|||
|
|
_gamectr:ConformToNextGame()
|
|||
|
|
self:ClearOk()
|
|||
|
|
end
|
|||
|
|
end)
|
|||
|
|
----------------------------------------------------
|
|||
|
|
--闹钟倒计时报时
|
|||
|
|
self._leftTime_xiangling = 5
|
|||
|
|
self._leftTime_bianhong = true
|
|||
|
|
|
|||
|
|
local btn_witness = self._view:GetChild('btn_pangGuang')
|
|||
|
|
if btn_witness then
|
|||
|
|
btn_witness.onClick:Set(function()
|
|||
|
|
self._view:GetController('witness').selectedIndex = 1
|
|||
|
|
end)
|
|||
|
|
end
|
|||
|
|
----------屏幕大小发生变化
|
|||
|
|
GRoot.inst.onSizeChanged:Set(function()
|
|||
|
|
for _, player in ipairs(self._room.player_list) do
|
|||
|
|
local player_card_info = self._player_card_info[self:GetPos(player.seat)]
|
|||
|
|
|
|||
|
|
if player.seat == self._room.self_player.seat then
|
|||
|
|
player_card_info:InitPoker(player.hand_list, false)
|
|||
|
|
else
|
|||
|
|
end
|
|||
|
|
end
|
|||
|
|
end)
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
function M:UpdateCard(index)
|
|||
|
|
self._room.pai = index
|
|||
|
|
local card_info = self._player_card_info[1]
|
|||
|
|
-- for i=1,#self._room.player_list do
|
|||
|
|
-- -- print(i)
|
|||
|
|
-- end
|
|||
|
|
card_info:updatePoker()
|
|||
|
|
for _, player in ipairs(self._room.player_list) do
|
|||
|
|
local player_card_info = self._player_card_info[self:GetPos(player.seat)]
|
|||
|
|
|
|||
|
|
if self._room.curren_turn_seat ~= player.seat then
|
|||
|
|
if player.out_card_list[1] == 0 then
|
|||
|
|
player_card_info:SetOutCardInfo(nil, true)
|
|||
|
|
else
|
|||
|
|
player_card_info:SetOutCardInfo(player.out_card_list, false)
|
|||
|
|
end
|
|||
|
|
end
|
|||
|
|
end
|
|||
|
|
if self.caozuo == 1 then
|
|||
|
|
local ctr_number = self.pass == nil and 2 or 1
|
|||
|
|
local lastCardList = self._gamectr:GetLastCardList(self._room.self_player.seat)
|
|||
|
|
local cardType, cardNum, cardLength = self._gamectr:GetCardListInfo(lastCardList)
|
|||
|
|
local m = false
|
|||
|
|
local next_seat = self._room.self_player.seat + 1
|
|||
|
|
if next_seat > self._room.room_config.people_num then
|
|||
|
|
next_seat = next_seat - self._room.room_config.people_num
|
|||
|
|
end
|
|||
|
|
if self._room:GetPlayerBySeat(next_seat).hand_count == 1 and self._room.room_config.WillBeOut == 1 then
|
|||
|
|
m = true
|
|||
|
|
end
|
|||
|
|
local zdts = self._view:GetController("zidongtishi").selectedIndex
|
|||
|
|
self._player_card_info[1]:ShowOutCardOption(ctr_number, cardType, cardNum, cardLength, m)
|
|||
|
|
end
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
function M:UpdateCardSize(index)
|
|||
|
|
self._room.cardsize = index
|
|||
|
|
local card_info = self._player_card_info[1]
|
|||
|
|
card_info:updatePoker()
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
function M:NewPlayerCardInfoView(tem, index)
|
|||
|
|
if index == 1 then
|
|||
|
|
return EXPlayerSelfPokerInfoView.new(tem, self)
|
|||
|
|
end
|
|||
|
|
return EXPlayerPokerInfoView.new(tem, self)
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
function M:OnPlayerEnter(...)
|
|||
|
|
ViewUtil.PlaySound("DuoDuo_PK", "base/main_majiang/sound/user_enter.mp3")
|
|||
|
|
MainView.OnPlayerEnter(self, ...)
|
|||
|
|
local arg = { ... }
|
|||
|
|
local p = arg[1]
|
|||
|
|
local index = self:GetPos(p.seat)
|
|||
|
|
local info = self._player_info[index]
|
|||
|
|
local selecet_seat = self._view:GetChild("seat_" .. index)
|
|||
|
|
if selecet_seat ~= nil then
|
|||
|
|
selecet_seat.visible = true
|
|||
|
|
end
|
|||
|
|
info:FillData(p)
|
|||
|
|
if self._room.banker_seat == self._room.self_player.seat and self._room.self_player.ready then
|
|||
|
|
self._ctr_action.selectedIndex = 0
|
|||
|
|
end
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
function M:OnPlayerReady(...)
|
|||
|
|
ViewUtil.PlaySound("DuoDuo_PK", "base/main_majiang/sound/user_ready.mp3")
|
|||
|
|
local arg = { ... }
|
|||
|
|
local p = arg[1]
|
|||
|
|
local _room = self._room
|
|||
|
|
local _player_info = self._player_info
|
|||
|
|
if p.seat == _room.self_player.seat then
|
|||
|
|
self._ctr_action.selectedIndex = 0
|
|||
|
|
end
|
|||
|
|
local info = _player_info[self:GetPos(p.seat)]
|
|||
|
|
info:Ready(true)
|
|||
|
|
--local readyNum = 0
|
|||
|
|
--for i = 1, #_room.player_list do
|
|||
|
|
-- local player = _room.player_list[i]
|
|||
|
|
-- if player.ready then readyNum = readyNum + 1 end
|
|||
|
|
--end
|
|||
|
|
--if _room.banker_seat == _room.self_player.seat and readyNum > 1 and readyNum == _room.room_config.people_num then
|
|||
|
|
-- if self._state.selectedIndex == 2 then
|
|||
|
|
-- local _gamectr = ControllerManager.GetController(GameController)
|
|||
|
|
-- _gamectr:StartGame()
|
|||
|
|
-- end
|
|||
|
|
-- --self._ctr_action.selectedIndex = 2
|
|||
|
|
--end
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
function M:OnPlayerLeave(...)
|
|||
|
|
ViewUtil.PlaySound("DuoDuo_PK", "base/main_majiang/sound/user_leave.mp3")
|
|||
|
|
MainView.OnPlayerLeave(self, ...)
|
|||
|
|
local _room = self._room
|
|||
|
|
if not _room.self_player.ready then
|
|||
|
|
--self._ctr_action.selectedIndex = 1
|
|||
|
|
local round = DataManager.CurrenRoom.room_config.config.times or 1
|
|||
|
|
local xpconfig = DataManager.CurrenRoom.room_config.config.xi_pai
|
|||
|
|
if xpconfig then
|
|||
|
|
if round > 1 then
|
|||
|
|
self._ctr_action.selectedIndex = 1
|
|||
|
|
else
|
|||
|
|
self._ctr_action.selectedIndex = 2
|
|||
|
|
end
|
|||
|
|
else
|
|||
|
|
self._ctr_action.selectedIndex = 1
|
|||
|
|
end
|
|||
|
|
else
|
|||
|
|
self._ctr_action.selectedIndex = 0
|
|||
|
|
end
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
function M:EventInit()
|
|||
|
|
local _gamectr = ControllerManager.GetController(GameController)
|
|||
|
|
MainView.EventInit(self)
|
|||
|
|
local _player_info = self._player_info
|
|||
|
|
local _player_card_info = self._player_card_info
|
|||
|
|
local _room = self._room
|
|||
|
|
|
|||
|
|
|
|||
|
|
_gamectr:AddEventListener(EXGameEvent.EventXiPai, function(...)
|
|||
|
|
if self.result_view ~= nil then
|
|||
|
|
self.result_view:Destroy()
|
|||
|
|
self.result_view = nil
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
self._player_card_info[1]:HidePiao()
|
|||
|
|
|
|||
|
|
if self._room.room_config.people_num == 3 and self._room.room_config.fangzuobi == 1 then
|
|||
|
|
-- body
|
|||
|
|
self.MypokerList = cardlist
|
|||
|
|
end
|
|||
|
|
local otherpoker_list = self._view:GetChild("otherpoker_list")
|
|||
|
|
|
|||
|
|
if otherpoker_list ~= nil then
|
|||
|
|
-- body
|
|||
|
|
otherpoker_list.visible = false
|
|||
|
|
otherpoker_list:RemoveChildrenToPool()
|
|||
|
|
end
|
|||
|
|
self.ctr_state.selectedIndex = 1
|
|||
|
|
self.ctr_card_eff.selectedIndex = 0
|
|||
|
|
if self.rank_view ~= nil then
|
|||
|
|
self.rank_view:Dispose()
|
|||
|
|
self.rank_view = nil
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
local list = _room.player_list
|
|||
|
|
for i = 1, #list do
|
|||
|
|
local p = list[i]
|
|||
|
|
local head_info = self._player_info[self:GetPos(p.seat)]
|
|||
|
|
if head_info._view:GetChild("shengyu") ~= nil and head_info._view:GetController("shengyu") ~= nil then
|
|||
|
|
-- body
|
|||
|
|
|
|||
|
|
if self._room.room_config.showlength == 1 then
|
|||
|
|
-- body
|
|||
|
|
head_info._view:GetController("shengyu").selectedIndex = 1
|
|||
|
|
else
|
|||
|
|
head_info._view:GetController("shengyu").selectedIndex = 0
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
-- body
|
|||
|
|
head_info._view:GetChild("shengyu").text = p.hand_count
|
|||
|
|
end
|
|||
|
|
p:Clear()
|
|||
|
|
head_info:FillData(p)
|
|||
|
|
local card_info = self._player_card_info[self:GetPos(p.seat)]
|
|||
|
|
card_info:Clear()
|
|||
|
|
head_info:Ready(false)
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
|
|||
|
|
--[[if ( currentPlayer ) then
|
|||
|
|
self._popEvent = false
|
|||
|
|
local xipaiCB=function ()
|
|||
|
|
self._popEvent = true
|
|||
|
|
end
|
|||
|
|
self:PlayXiPai(xipaiCB)
|
|||
|
|
else
|
|||
|
|
ViewUtil.ShowModalWait(self._root_view,"等待其它玩家洗牌...")
|
|||
|
|
coroutine.start(function()
|
|||
|
|
coroutine.wait(3)
|
|||
|
|
ViewUtil.CloseModalWait2()
|
|||
|
|
end)
|
|||
|
|
|
|||
|
|
|
|||
|
|
end--]]
|
|||
|
|
|
|||
|
|
|
|||
|
|
local arg = { ... }
|
|||
|
|
local currentPlayer1 = arg[1]
|
|||
|
|
local currentPlayer2 = arg[2]
|
|||
|
|
self._popEvent = false
|
|||
|
|
if (currentPlayer1) then
|
|||
|
|
local xipaiCB = function()
|
|||
|
|
self._popEvent = true
|
|||
|
|
end
|
|||
|
|
self:PlayXiPai(xipaiCB)
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
|
|||
|
|
if (currentPlayer2) then
|
|||
|
|
--self._popEvent = false
|
|||
|
|
local xipaiCB2 = function()
|
|||
|
|
self._popEvent = true
|
|||
|
|
end
|
|||
|
|
self:PlayXiPai1(xipaiCB2)
|
|||
|
|
end
|
|||
|
|
end)
|
|||
|
|
|
|||
|
|
_gamectr:AddEventListener(EXGameEvent.OnMingCard, function(...)
|
|||
|
|
local arg = { ... }
|
|||
|
|
local card = arg[1]
|
|||
|
|
self.ctr_state.selectedIndex = 1
|
|||
|
|
-- self.ctr_card_eff.selectedIndex = 1
|
|||
|
|
-- if self._room.room_config.people_num == 3 then
|
|||
|
|
-- self:PlayCardEff(403)
|
|||
|
|
-- end
|
|||
|
|
end)
|
|||
|
|
|
|||
|
|
_gamectr:AddEventListener(EXGameEvent.OnInitCard, function(...)
|
|||
|
|
local arg = { ... }
|
|||
|
|
local round = arg[1]
|
|||
|
|
local cardlist = arg[2]
|
|||
|
|
self._popEvent = false
|
|||
|
|
|
|||
|
|
if self.destory_win ~= nil then
|
|||
|
|
coroutine.stop(self.destory_win)
|
|||
|
|
end
|
|||
|
|
if self.result_view ~= nil then
|
|||
|
|
self.result_view:Destroy()
|
|||
|
|
self.result_view = nil
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
self._player_card_info[1]:HidePiao()
|
|||
|
|
|
|||
|
|
if self._room.room_config.people_num == 3 and self._room.room_config.fangzuobi == 1 then
|
|||
|
|
-- body
|
|||
|
|
self.MypokerList = cardlist
|
|||
|
|
end
|
|||
|
|
local otherpoker_list = self._view:GetChild("otherpoker_list")
|
|||
|
|
|
|||
|
|
if otherpoker_list ~= nil then
|
|||
|
|
-- body
|
|||
|
|
otherpoker_list.visible = false
|
|||
|
|
otherpoker_list:RemoveChildrenToPool()
|
|||
|
|
end
|
|||
|
|
self.ctr_state.selectedIndex = 1
|
|||
|
|
self.ctr_card_eff.selectedIndex = 0
|
|||
|
|
if self.rank_view ~= nil then
|
|||
|
|
self.rank_view:Dispose()
|
|||
|
|
self.rank_view = nil
|
|||
|
|
end
|
|||
|
|
self._ctr_inClear.selectedIndex = 0
|
|||
|
|
self:UpdateRound(round)
|
|||
|
|
-- ViewUtil.PlaySound("DuoDuo_PK", "extend/poker/duoduo/sound/fapai.mp3")
|
|||
|
|
local list = _room.player_list
|
|||
|
|
for i = 1, #list do
|
|||
|
|
local p = list[i]
|
|||
|
|
local head_info = self._player_info[self:GetPos(p.seat)]
|
|||
|
|
if head_info._view:GetChild("shengyu") ~= nil and head_info._view:GetController("shengyu") ~= nil then
|
|||
|
|
-- body
|
|||
|
|
|
|||
|
|
if self._room.room_config.showlength == 1 then
|
|||
|
|
-- body
|
|||
|
|
head_info._view:GetController("shengyu").selectedIndex = 1
|
|||
|
|
else
|
|||
|
|
head_info._view:GetController("shengyu").selectedIndex = 0
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
-- body
|
|||
|
|
head_info._view:GetChild("shengyu").text = p.hand_count
|
|||
|
|
end
|
|||
|
|
-- p:Clear()
|
|||
|
|
head_info:MarkBank(p.seat == _room.banker_seat)
|
|||
|
|
head_info:FillData(p)
|
|||
|
|
local card_info = self._player_card_info[self:GetPos(p.seat)]
|
|||
|
|
card_info:Clear()
|
|||
|
|
head_info:Ready(false)
|
|||
|
|
|
|||
|
|
|
|||
|
|
if p.seat == self._room.self_player.seat then
|
|||
|
|
if self._room.room_config.people_num == 3 and self._room.room_config.fangzuobi == 1 then
|
|||
|
|
-- body
|
|||
|
|
card_info:InitPoker(cardlist, false, 1)
|
|||
|
|
else
|
|||
|
|
card_info:InitPoker(cardlist, false)
|
|||
|
|
end
|
|||
|
|
else
|
|||
|
|
--card_info:UpdateHandPoker(#cardlist,true,false) --todo
|
|||
|
|
--card_info:UpdateRemainCard(#cardlist,true)
|
|||
|
|
end
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
if self._room.room_config.people_num == 3 and round == 1 then
|
|||
|
|
local effect = self._view:GetTransition(string.format('to_%s', self:GetPos(self._room.banker_seat)))
|
|||
|
|
effect:Play(1, 0, function()
|
|||
|
|
self._popEvent = true
|
|||
|
|
end)
|
|||
|
|
else
|
|||
|
|
self._popEvent = true
|
|||
|
|
end
|
|||
|
|
end)
|
|||
|
|
|
|||
|
|
|
|||
|
|
-- _gamectr:AddEventListener(EXGameEvent.Oener,function ( ... )
|
|||
|
|
-- local arg = {...}
|
|||
|
|
-- local seat = arg[1]
|
|||
|
|
-- local head_info = self._player_info[self:GetPos(seat)]
|
|||
|
|
-- head_info._view:GetController("Oener").selectedIndex=1
|
|||
|
|
-- end)
|
|||
|
|
_gamectr:AddEventListener(EXGameEvent.OnIndexMove, function(...)
|
|||
|
|
local arg = { ... }
|
|||
|
|
local seat = arg[1]
|
|||
|
|
local isNewBout = arg[2]
|
|||
|
|
local index = self:GetPos(seat)
|
|||
|
|
|
|||
|
|
|
|||
|
|
self.ctr_time.selectedIndex = index
|
|||
|
|
-- for i = 1, #self._player_info do
|
|||
|
|
-- if index == i then
|
|||
|
|
-- -- body
|
|||
|
|
-- local head_info = self._player_info[index]
|
|||
|
|
-- head_info:MarkBank(true)
|
|||
|
|
-- else
|
|||
|
|
-- local head_info = self._player_info[i]
|
|||
|
|
-- head_info:MarkBank(false)
|
|||
|
|
-- end
|
|||
|
|
-- end
|
|||
|
|
|
|||
|
|
-- if index == 1 then
|
|||
|
|
local card_info = self._player_card_info[index]
|
|||
|
|
-- if self.MypokerList ~= nil then
|
|||
|
|
-- -- body
|
|||
|
|
-- card_info:Clear()
|
|||
|
|
-- card_info:InitPoker(self.MypokerList, false)
|
|||
|
|
-- self.MypokerList = nil
|
|||
|
|
-- end
|
|||
|
|
-- end
|
|||
|
|
self._leftClock_continue = coroutine.start(function()
|
|||
|
|
coroutine.wait(0.02)
|
|||
|
|
card_info:SetOutCardInfo(nil, false)
|
|||
|
|
for i = 1, #self._player_card_info do
|
|||
|
|
local card_info = self._player_card_info[i]
|
|||
|
|
if i == index then
|
|||
|
|
card_info._ctr_time_clock.selectedIndex = 1
|
|||
|
|
self._tex_leftTime = card_info._view_comp_clock
|
|||
|
|
else
|
|||
|
|
card_info._ctr_time_clock.selectedIndex = 0
|
|||
|
|
end
|
|||
|
|
-- if self._room.is_new_bout then
|
|||
|
|
-- card_info.ctr_outpoker.selectedIndex = 0
|
|||
|
|
-- end
|
|||
|
|
end
|
|||
|
|
if self._left_time and self._left_time < 15 then
|
|||
|
|
self._left_time = 15
|
|||
|
|
end
|
|||
|
|
end)
|
|||
|
|
|
|||
|
|
|
|||
|
|
if self._room.ming_card ~= nil then
|
|||
|
|
self._view:GetTransition("t" .. index):Play()
|
|||
|
|
self._room.ming_card = nil
|
|||
|
|
if self.tween ~= nil then
|
|||
|
|
TweenUtils.Kill(self.tween)
|
|||
|
|
self.tween = nil
|
|||
|
|
end
|
|||
|
|
end
|
|||
|
|
end)
|
|||
|
|
|
|||
|
|
_gamectr:AddEventListener(EXGameEvent.OnBombScore, function(...)
|
|||
|
|
local arg = { ... }
|
|||
|
|
local scoreList = arg[1]
|
|||
|
|
-- for i = 1, #scoreList do
|
|||
|
|
-- local player = self._room:GetPlayerBySeat(i)
|
|||
|
|
-- local card_info = self._player_card_info[self:GetPos(i)]
|
|||
|
|
-- local head_info = self._player_info[self:GetPos(i)]
|
|||
|
|
-- card_info:PlayScore(scoreList[i], true)
|
|||
|
|
-- head_info:UpdateScore(player.total_score)
|
|||
|
|
-- end
|
|||
|
|
end)
|
|||
|
|
|
|||
|
|
_gamectr:AddEventListener(EXGameEvent.OnPlaySucc, function(...)
|
|||
|
|
ViewUtil.PlaySound("DuoDuo_PK", "extend/poker/duoduo/sound/playcard_chup.mp3")
|
|||
|
|
-- self._popEvent = false
|
|||
|
|
local arg = { ... }
|
|||
|
|
local p = arg[1]
|
|||
|
|
local card_number = arg[2]
|
|||
|
|
local cardstype = arg[3]
|
|||
|
|
local num = arg[4]
|
|||
|
|
local otherList = arg[5]
|
|||
|
|
local length = arg[6]
|
|||
|
|
local lastCardList = arg[7]
|
|||
|
|
self.ctr_time.selectedIndex = 0
|
|||
|
|
local index = self:GetPos(p.seat)
|
|||
|
|
if index == 1 then
|
|||
|
|
self.caozuo = 0
|
|||
|
|
end
|
|||
|
|
coroutine.stop(self._leftClock_continue)
|
|||
|
|
|
|||
|
|
local head_info = self._player_info[index]
|
|||
|
|
if head_info._view:GetChild("shengyu") ~= nil then
|
|||
|
|
-- body
|
|||
|
|
-- body
|
|||
|
|
if card_number ~= nil then
|
|||
|
|
-- body
|
|||
|
|
head_info._view:GetChild("shengyu").text = card_number
|
|||
|
|
end
|
|||
|
|
end
|
|||
|
|
head_info:SetBaoDan(card_number == 1)
|
|||
|
|
local card_info = self._player_card_info[index]
|
|||
|
|
card_info:SetOutCardInfo(p.out_card_list, false, true)
|
|||
|
|
card_info._ctr_time_clock.selectedIndex = 0
|
|||
|
|
|
|||
|
|
for i = 1, #otherList do
|
|||
|
|
local other_seat = otherList[i]
|
|||
|
|
local other_card_info = self._player_card_info[self:GetPos(other_seat)]
|
|||
|
|
other_card_info:SetOutCardBlack()
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
if index == 1 then
|
|||
|
|
card_info:DeleteHandCards(p.out_card_list)
|
|||
|
|
else
|
|||
|
|
-- card_info:SetRemainCardNumber(card_number == 1)
|
|||
|
|
--card_info:UpdateHandPoker(card_number,false,false) -- todo
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
-- if self._room.is_new_bout == true then
|
|||
|
|
-- for i = 1, #self._room.player_list do
|
|||
|
|
-- local player = self._room.player_list[i]
|
|||
|
|
-- local card_info_i = self._player_card_info[self:GetPos(player.seat)]
|
|||
|
|
-- if p.seat ~= player.seat then
|
|||
|
|
-- card_info_i:SetOutCardInfo(nil, false)
|
|||
|
|
-- end
|
|||
|
|
-- end
|
|||
|
|
-- self:_Effect(cardstype, p)
|
|||
|
|
-- else
|
|||
|
|
-- if cardstype == 11 and cardstype ~= 12 then
|
|||
|
|
-- self:_Effect(cardstype, p)
|
|||
|
|
-- end
|
|||
|
|
-- end
|
|||
|
|
self:_Effect(self._cardCheck.type, p)
|
|||
|
|
print("lingmeng end _Effect", self._cardCheck.type)
|
|||
|
|
self:PlaySound(p.self_user.sex,
|
|||
|
|
self:GetSoundFileName(self._cardCheck.type, num, self._room.is_new_bout))
|
|||
|
|
-- self:PlaySound(p.self_user.sex, self:GetSoundFileName(cardstype, num, self._room.is_new_bout))
|
|||
|
|
|
|||
|
|
if card_number == 1 then
|
|||
|
|
--self:ChangeBgmMusic(2)
|
|||
|
|
self:ChangeBgmMusic(1)
|
|||
|
|
if self._cor_sound ~= nil then
|
|||
|
|
coroutine.stop(self._cor_sound)
|
|||
|
|
end
|
|||
|
|
self._cor_sound = nil
|
|||
|
|
self._cor_sound = coroutine.start(function()
|
|||
|
|
self:PlaySound(p.self_user.sex, "card_1")
|
|||
|
|
end)
|
|||
|
|
end
|
|||
|
|
end)
|
|||
|
|
_gamectr:AddEventListener(EXGameEvent.OnCheckCard, function(...)
|
|||
|
|
local arg = { ... }
|
|||
|
|
local evt_data = arg[1]
|
|||
|
|
local list = self._view:GetChild('comp_checkCard'):GetChild('list')
|
|||
|
|
list:RemoveChildrenToPool()
|
|||
|
|
for k, v in pairs(evt_data) do
|
|||
|
|
local obj = list:AddItemFromPool()
|
|||
|
|
table.sort(v, function(a, b)
|
|||
|
|
if a % 100 == b % 100 then
|
|||
|
|
return math.floor(a / 100) > math.floor(b / 100)
|
|||
|
|
else
|
|||
|
|
return a % 100 > b % 100
|
|||
|
|
end
|
|||
|
|
end)
|
|||
|
|
local titleText = ""
|
|||
|
|
if k == "first" then
|
|||
|
|
titleText = "手牌1:"
|
|||
|
|
elseif k == "second" then
|
|||
|
|
titleText = "手牌2:"
|
|||
|
|
elseif k == "three" then
|
|||
|
|
titleText = "手牌3:"
|
|||
|
|
end
|
|||
|
|
obj.text = titleText
|
|||
|
|
obj:GetChild('click').onClick:Set(function()
|
|||
|
|
evt_data.choic = k
|
|||
|
|
self._gamectr:SendCheckCardSend(evt_data)
|
|||
|
|
self._view:GetController('check').selectedIndex = 0
|
|||
|
|
end)
|
|||
|
|
obj:GetChild('List_Out').itemRenderer = function(index, obj)
|
|||
|
|
local code = v[index + 1]
|
|||
|
|
if code % 100 == 15 then
|
|||
|
|
code = math.floor(code / 100) * 100 + 2
|
|||
|
|
end
|
|||
|
|
obj:GetChild('icon').url = string.format("ui://Main_Poker/%s", code)
|
|||
|
|
end
|
|||
|
|
obj:GetChild('List_Out').numItems = #v
|
|||
|
|
end
|
|||
|
|
self._view:GetController('check').selectedIndex = 1
|
|||
|
|
end)
|
|||
|
|
|
|||
|
|
_gamectr:AddEventListener(EXGameEvent.OnPassSuccCheckCard, function(...)
|
|||
|
|
self._popEvent = false
|
|||
|
|
local arg = { ... }
|
|||
|
|
local seat = arg[1]
|
|||
|
|
local cards = arg[2]
|
|||
|
|
--self.MypokerList=cards
|
|||
|
|
self.ctr_time.selectedIndex = 0
|
|||
|
|
local card_info = self._player_card_info[self:GetPos(seat)]
|
|||
|
|
if seat == self._room.self_player.seat then
|
|||
|
|
card_info:ClearCheck()
|
|||
|
|
card_info:InitPoker(cards, false)
|
|||
|
|
|
|||
|
|
--local player=self._room:GetPlayerBySeat(seat)
|
|||
|
|
--if player.out_card_list[1] == 0 then
|
|||
|
|
-- player_card_info:SetOutCardInfo(nil, true)
|
|||
|
|
--else
|
|||
|
|
--player:SetOutCardInfo({207}, false)
|
|||
|
|
-- end
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
self._popEvent = true
|
|||
|
|
end)
|
|||
|
|
|
|||
|
|
_gamectr:AddEventListener(EXGameEvent.OnPassSucc, function(...)
|
|||
|
|
self._popEvent = false
|
|||
|
|
local arg = { ... }
|
|||
|
|
local p = arg[1]
|
|||
|
|
|
|||
|
|
self.ctr_time.selectedIndex = 0
|
|||
|
|
local card_info = self._player_card_info[self:GetPos(p.seat)]
|
|||
|
|
|
|||
|
|
--card_info:SetOutCardInfo(nil, false)
|
|||
|
|
if p.seat == self._room.self_player.seat and self.MypokerList ~= nil then
|
|||
|
|
-- body
|
|||
|
|
card_info:Clear()
|
|||
|
|
card_info:InitPoker(self.MypokerList, false)
|
|||
|
|
self.MypokerList = nil
|
|||
|
|
end
|
|||
|
|
coroutine.stop(self._leftClock_continue)
|
|||
|
|
card_info._ctr_time_clock.selectedIndex = 0
|
|||
|
|
card_info:SetOutCardInfo(nil, true)
|
|||
|
|
self:PlaySound(p.self_user.sex, "pass_" .. math.random(1, 4))
|
|||
|
|
coroutine.start(function()
|
|||
|
|
coroutine.wait(1)
|
|||
|
|
self._popEvent = true
|
|||
|
|
end)
|
|||
|
|
end)
|
|||
|
|
|
|||
|
|
_gamectr:AddEventListener(EXGameEvent.OnErrorTip, function(...)
|
|||
|
|
local arg = { ... }
|
|||
|
|
local error_str = arg[1]
|
|||
|
|
self._player_card_info[1]:ErrorTip(error_str)
|
|||
|
|
-- self._player_card_info[1]:ResetPoker()
|
|||
|
|
end)
|
|||
|
|
|
|||
|
|
_gamectr:AddEventListener(EXGameEvent.OnPiaoTips, function(...)
|
|||
|
|
local arg = { ... }
|
|||
|
|
local piao = arg[1]
|
|||
|
|
local reload = arg[2]
|
|||
|
|
if reload == 0 then
|
|||
|
|
if self._room.room_config.people_num == 3 and self._room.room_config.fangzuobi == 1 then
|
|||
|
|
-- body
|
|||
|
|
self.MypokerList = cardlist
|
|||
|
|
end
|
|||
|
|
local otherpoker_list = self._view:GetChild("otherpoker_list")
|
|||
|
|
|
|||
|
|
if otherpoker_list ~= nil then
|
|||
|
|
-- body
|
|||
|
|
otherpoker_list.visible = false
|
|||
|
|
otherpoker_list:RemoveChildrenToPool()
|
|||
|
|
end
|
|||
|
|
self.ctr_state.selectedIndex = 1
|
|||
|
|
self.ctr_card_eff.selectedIndex = 0
|
|||
|
|
if self.rank_view ~= nil then
|
|||
|
|
self.rank_view:Dispose()
|
|||
|
|
self.rank_view = nil
|
|||
|
|
end
|
|||
|
|
self:UpdateRound(self._room.curren_round)
|
|||
|
|
|
|||
|
|
local list = _room.player_list
|
|||
|
|
for i = 1, #list do
|
|||
|
|
local p = list[i]
|
|||
|
|
local head_info = self._player_info[self:GetPos(p.seat)]
|
|||
|
|
|
|||
|
|
p:Clear()
|
|||
|
|
head_info:FillData(p)
|
|||
|
|
local card_info = self._player_card_info[self:GetPos(p.seat)]
|
|||
|
|
card_info:Clear()
|
|||
|
|
head_info:Ready(false)
|
|||
|
|
head_info:UpdatePiao(-1)
|
|||
|
|
end
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
self._player_card_info[1]:ShowPiao(piao)
|
|||
|
|
end)
|
|||
|
|
|
|||
|
|
_gamectr:AddEventListener(EXGameEvent.OnPiaoAction, function(...)
|
|||
|
|
local arg = { ... }
|
|||
|
|
local seat = arg[1]
|
|||
|
|
local piao = arg[2]
|
|||
|
|
local head_info = self._player_info[self:GetPos(seat)]
|
|||
|
|
head_info:UpdatePiao(piao)
|
|||
|
|
end)
|
|||
|
|
|
|||
|
|
_gamectr:AddEventListener(EXGameEvent.OnOptions, function(...)
|
|||
|
|
local arg = { ... }
|
|||
|
|
local play = arg[1]
|
|||
|
|
local pass = arg[5]
|
|||
|
|
local card_type = arg[2]
|
|||
|
|
local card_number = arg[3]
|
|||
|
|
local card_length = arg[4]
|
|||
|
|
local lastCardList = arg[6]
|
|||
|
|
local ctr_number = pass == nil and 2 or 1
|
|||
|
|
self.caozuo = 1 --记录是否是自己出牌的阶段
|
|||
|
|
self.pass = pass
|
|||
|
|
local m = false
|
|||
|
|
local next_seat = self._room.self_player.seat + 1
|
|||
|
|
local card_info = self._player_card_info[1]
|
|||
|
|
card_info:SetOutCardInfo(nil, false)
|
|||
|
|
if self.MypokerList ~= nil then
|
|||
|
|
-- body
|
|||
|
|
card_info:Clear()
|
|||
|
|
card_info:InitPoker(self.MypokerList, false)
|
|||
|
|
self.MypokerList = nil
|
|||
|
|
end
|
|||
|
|
if next_seat > self._room.room_config.people_num then
|
|||
|
|
next_seat = next_seat - self._room.room_config.people_num
|
|||
|
|
end
|
|||
|
|
if self._room:GetPlayerBySeat(next_seat).hand_count == 1 and self._room.room_config.WillBeOut == 1 then
|
|||
|
|
m = true
|
|||
|
|
end
|
|||
|
|
local zdts = self._view:GetController("zidongtishi").selectedIndex
|
|||
|
|
-- self._player_card_info[1]._cardCheck:InitLastCard(lastCardList)
|
|||
|
|
-- self._player_card_info[1]:ShowOutCardOption(ctr_number, card_type, card_number, card_length, m, play, zdts)
|
|||
|
|
card_info:ShowOutCardOption2(lastCardList, ctr_number, m)
|
|||
|
|
end)
|
|||
|
|
-- 托管
|
|||
|
|
_gamectr:AddEventListener(EXGameEvent.Game_TuoGuan, function(...)
|
|||
|
|
local arg = { ... }
|
|||
|
|
local tuoguan = arg[1]
|
|||
|
|
local seat = arg[2]
|
|||
|
|
|
|||
|
|
local tuoguanzhong = self._view:GetChild("tuoguanzhong")
|
|||
|
|
local zhezhao = self._view:GetChild("n109")
|
|||
|
|
local head_info = self._player_info[self:GetPos(seat)]
|
|||
|
|
if (tuoguan == 1) then
|
|||
|
|
if (seat == self._room.self_player.seat) then
|
|||
|
|
tuoguanzhong.visible = true
|
|||
|
|
-- tuoguanzhong.sortingOrder = 2
|
|||
|
|
zhezhao.visible = true
|
|||
|
|
zhezhao.onClick:Set(function()
|
|||
|
|
_gamectr:TuoGuan(0)
|
|||
|
|
end)
|
|||
|
|
else
|
|||
|
|
head_info._view:GetController("tuoguan").selectedIndex = 1
|
|||
|
|
end
|
|||
|
|
-- if self.ispanguangzhe == true then
|
|||
|
|
-- -- body
|
|||
|
|
-- zhezhao.visible = false
|
|||
|
|
-- end
|
|||
|
|
else
|
|||
|
|
if (seat == self._room.self_player.seat) then
|
|||
|
|
tuoguanzhong.visible = false
|
|||
|
|
zhezhao.visible = false
|
|||
|
|
-- local btn_tuoguan = self._view:GetChild("n107")
|
|||
|
|
-- btn_tuoguan.onClick:Set(function()
|
|||
|
|
-- _gamectr:TuoGuan(1)
|
|||
|
|
-- -- self:ZhiNengtuoguan()
|
|||
|
|
-- end)
|
|||
|
|
else
|
|||
|
|
head_info._view:GetController("tuoguan").selectedIndex = 0
|
|||
|
|
end
|
|||
|
|
end
|
|||
|
|
end)
|
|||
|
|
_gamectr:AddEventListener(EXGameEvent.OnResult, function(...)
|
|||
|
|
local arg = { ... }
|
|||
|
|
local over = arg[1]
|
|||
|
|
local info = arg[2]
|
|||
|
|
local win_seat = arg[3]
|
|||
|
|
local remaincards = arg[4]
|
|||
|
|
-- local energyTab = arg[5]
|
|||
|
|
local otherpoker_list = self._view:GetChild("otherpoker_list")
|
|||
|
|
local card_info = self._player_card_info[self:GetPos(self._room.self_player.seat)]
|
|||
|
|
if self.dismissWin ~= nil then
|
|||
|
|
self.dismissWin:Destroy()
|
|||
|
|
end
|
|||
|
|
self.dismissWin = nil
|
|||
|
|
if self.MypokerList ~= nil then
|
|||
|
|
-- body
|
|||
|
|
card_info:Clear()
|
|||
|
|
card_info:InitPoker(self.MypokerList, false)
|
|||
|
|
self.MypokerList = nil
|
|||
|
|
end
|
|||
|
|
if otherpoker_list ~= nil then
|
|||
|
|
-- body
|
|||
|
|
otherpoker_list:RemoveChildrenToPool()
|
|||
|
|
otherpoker_list.visible = true
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
if self._cor_sound ~= nil then
|
|||
|
|
coroutine.stop(self._cor_sound)
|
|||
|
|
self._cor_sound = nil
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
if self.destory_win ~= nil then
|
|||
|
|
coroutine.stop(self.destory_win)
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
self.destory_win = nil
|
|||
|
|
self.destory_win = coroutine.start(function()
|
|||
|
|
if win_seat == self._room.self_player.seat then
|
|||
|
|
ViewUtil.PlaySound("DuoDuo_PK", "extend/poker/duoduo/sound/end_music.mp3")
|
|||
|
|
else
|
|||
|
|
ViewUtil.PlaySound("DuoDuo_PK", "extend/poker/duoduo/sound/lose_music.mp3")
|
|||
|
|
end
|
|||
|
|
coroutine.stop(self._leftClock_continue)
|
|||
|
|
for i = 1, #self._player_card_info do
|
|||
|
|
local card_info = self._player_card_info[i]
|
|||
|
|
card_info._ctr_time_clock.selectedIndex = 0
|
|||
|
|
self._left_time = 0
|
|||
|
|
end
|
|||
|
|
-- -- print("11111111111111")
|
|||
|
|
-- coroutine.wait(1)
|
|||
|
|
-- if self._room.self_player.seat == win_seat then
|
|||
|
|
-- local sprint_seat_list = self:GetSpringSeats(info)
|
|||
|
|
-- if #sprint_seat_list > 0 then
|
|||
|
|
-- local url = "ui://Extend_Poker_DuoDuo/Spring"
|
|||
|
|
-- self.WinItem_view = UIPackage.CreateObjectFromURL(url)
|
|||
|
|
-- self._view:AddChild(self.WinItem_view)
|
|||
|
|
-- self.WinItem_view:Center()
|
|||
|
|
-- self.WinItem_view:GetTransition("t0"):Play()
|
|||
|
|
-- ViewUtil.PlaySound("DuoDuo_PK", "base/common/sound/win new.mp3")
|
|||
|
|
-- end
|
|||
|
|
-- -- local url = #sprint_seat_list > 0 and "ui://Extend_Poker_DuoDuo/Spring" or "ui://Extend_Poker_DuoDuo/Win_Mine"
|
|||
|
|
-- else
|
|||
|
|
-- local beigang = false
|
|||
|
|
-- if #self:GetSpringSeats(info) > 0 then
|
|||
|
|
-- for i = 1, #self:GetSpringSeats(info) do
|
|||
|
|
-- if self:GetSpringSeats(info)[i] == self._room.self_player.seat then
|
|||
|
|
-- local url = "ui://Extend_Poker_DuoDuo/spring2"
|
|||
|
|
-- self.WinItem_view = UIPackage.CreateObjectFromURL(url)
|
|||
|
|
-- self._view:AddChild(self.WinItem_view)
|
|||
|
|
-- self.WinItem_view:Center()
|
|||
|
|
-- self.WinItem_view:GetTransition("t0"):Play()
|
|||
|
|
-- beigang = true
|
|||
|
|
-- end
|
|||
|
|
-- end
|
|||
|
|
-- end
|
|||
|
|
-- -- if beigang == false then
|
|||
|
|
-- -- self:CreateRankEff()
|
|||
|
|
-- -- end
|
|||
|
|
-- end
|
|||
|
|
|
|||
|
|
for i = 1, #info do
|
|||
|
|
local player = info[i]
|
|||
|
|
local p = self._room:GetPlayerBySeat(player.seat)
|
|||
|
|
local head_info = self._player_info[self:GetPos(player.seat)]
|
|||
|
|
head_info:SetBaoDan(false)
|
|||
|
|
|
|||
|
|
head_info._view:GetChild('text_jifen').text = player.score
|
|||
|
|
-- head_info:PlayScore(player.winscore, win_seat == player.seat)
|
|||
|
|
head_info:PlayScore(player.card_score, win_seat == player.seat)
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
for i = 1, #info do
|
|||
|
|
local player = info[i]
|
|||
|
|
local p = self._room:GetPlayerBySeat(player.seat)
|
|||
|
|
local head_info = self._player_info[self:GetPos(player.seat)]
|
|||
|
|
local card_info = self._player_card_info[self:GetPos(player.seat)]
|
|||
|
|
|
|||
|
|
if player.seat ~= win_seat then
|
|||
|
|
card_info.ctr_outpoker.selectedIndex = 0
|
|||
|
|
end
|
|||
|
|
if player.seat ~= self._room.self_player.seat then
|
|||
|
|
local oneTime = 7 / 60
|
|||
|
|
|
|||
|
|
-- card_info:UpdateHandPoker(player.cards, false, true)
|
|||
|
|
|
|||
|
|
card_info._view_resultOut:RemoveChildrenToPool()
|
|||
|
|
card_info._ctr_resultOut.selectedIndex = 1
|
|||
|
|
for i = 1, #player.handCards do
|
|||
|
|
local child_card = card_info._view_resultOut:AddItemFromPool()
|
|||
|
|
card_info:FillPoker(child_card, "", nil, player.handCards[i])
|
|||
|
|
ViewUtil.PlaySound("DuoDuo_PK", "extend/poker/duoduo/sound/fanCard.mp3")
|
|||
|
|
printlog("lingmeng oneTime", oneTime)
|
|||
|
|
coroutine.wait(oneTime)
|
|||
|
|
end
|
|||
|
|
end
|
|||
|
|
end
|
|||
|
|
self:ChangeBgmMusic(1)
|
|||
|
|
-- if over == 0 then
|
|||
|
|
-- if #self:GetSpringSeats(info) > 0 then
|
|||
|
|
-- -- -- print("222222222222222222")
|
|||
|
|
-- coroutine.wait(1)
|
|||
|
|
-- else
|
|||
|
|
-- -- -- print("333333333333333333")
|
|||
|
|
-- -- coroutine.wait(2)
|
|||
|
|
-- end
|
|||
|
|
coroutine.wait(2)
|
|||
|
|
|
|||
|
|
self.result_view = EXResultView.new(self, info, self._room.room_id, over, win_seat, 0,
|
|||
|
|
remaincards)
|
|||
|
|
self.result_view:SetDestroryCallback(function()
|
|||
|
|
for i = 1, #self._player_card_info do
|
|||
|
|
local card_info = self._player_card_info[i]
|
|||
|
|
card_info.ctr_outpoker.selectedIndex = 0
|
|||
|
|
if card_info._ctr_resultOut then
|
|||
|
|
card_info._ctr_resultOut.selectedIndex = 0
|
|||
|
|
end
|
|||
|
|
end
|
|||
|
|
end)
|
|||
|
|
self.result_view:Show()
|
|||
|
|
if self.WinItem_view ~= nil then
|
|||
|
|
self.WinItem_view:Dispose()
|
|||
|
|
self.WinItem_view = nil
|
|||
|
|
end
|
|||
|
|
if self.rank_view ~= nil then
|
|||
|
|
self.rank_view:Dispose()
|
|||
|
|
self.rank_view = nil
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
if self._room.self_player.entrust == true then
|
|||
|
|
local btn_confirm = self.result_view._view:GetChild("btn_confirm")
|
|||
|
|
btn_confirm.onClick:Call()
|
|||
|
|
end
|
|||
|
|
ViewUtil.PlaySound("DuoDuo_PK", "extend/poker/duoduo/sound/end_music.mp3")
|
|||
|
|
end)
|
|||
|
|
if over == 1 then
|
|||
|
|
-- body
|
|||
|
|
self:UnmarkSelfTuoguan()
|
|||
|
|
ControllerManager.ChangeController(LoddyController)
|
|||
|
|
end
|
|||
|
|
end)
|
|||
|
|
|
|||
|
|
_gamectr:AddEventListener(EXGameEvent.OnResultByDissolve, function(...)
|
|||
|
|
local arg = { ... }
|
|||
|
|
local over = arg[1]
|
|||
|
|
local info = arg[2]
|
|||
|
|
local winseat = arg[3]
|
|||
|
|
local dissolve = arg[4]
|
|||
|
|
if self.dismissWin ~= nil then
|
|||
|
|
self.dismissWin:Destroy()
|
|||
|
|
end
|
|||
|
|
self.dismissWin = nil
|
|||
|
|
if _room.curren_round > 0 then
|
|||
|
|
ViewUtil.PlaySound("DuoDuo_PK", "extend/poker/duoduo/sound/end_music.mp3")
|
|||
|
|
end
|
|||
|
|
for i = 1, #self._player_card_info do
|
|||
|
|
local card_info = self._player_card_info[i]
|
|||
|
|
card_info._ctr_time_clock.selectedIndex = 0
|
|||
|
|
end
|
|||
|
|
self.result_view = EXResultView.new(self, info, self._room.room_id, over, winseat, dissolve, nil)
|
|||
|
|
self.result_view:Show()
|
|||
|
|
ControllerManager.ChangeController(LoddyController)
|
|||
|
|
self:UnmarkSelfTuoguan()
|
|||
|
|
end)
|
|||
|
|
|
|||
|
|
-- 确定开始下一局 成功
|
|||
|
|
_gamectr:AddEventListener(EXGameEvent.OnConfrimToNextGameSucc, function(...)
|
|||
|
|
local arg = { ... }
|
|||
|
|
local aid = arg[1]
|
|||
|
|
local p = self._room:GetPlayerById(aid)
|
|||
|
|
if p.seat == self._room.self_player.seat then
|
|||
|
|
if self.rank_view ~= nil then
|
|||
|
|
self.rank_view:Dispose()
|
|||
|
|
self.rank_view = nil
|
|||
|
|
end
|
|||
|
|
if self.destory_win ~= nil then
|
|||
|
|
coroutine.stop(self.destory_win)
|
|||
|
|
self.destory_win = nil
|
|||
|
|
end
|
|||
|
|
for _, player in ipairs(self._room.player_list) do
|
|||
|
|
local player_card_info = self._player_card_info[self:GetPos(player.seat)]
|
|||
|
|
local player_head = self._player_info[self:GetPos(player.seat)]
|
|||
|
|
player_card_info:Clear()
|
|||
|
|
local otherpoker_list = self._view:GetChild("otherpoker_list")
|
|||
|
|
if otherpoker_list ~= nil then
|
|||
|
|
-- body
|
|||
|
|
otherpoker_list.visible = false
|
|||
|
|
otherpoker_list:RemoveChildrenToPool()
|
|||
|
|
end
|
|||
|
|
--player_head._view:GetController("Oener").selectedIndex=0
|
|||
|
|
end
|
|||
|
|
end
|
|||
|
|
local player_info = self._player_info[self:GetPos(p.seat)]
|
|||
|
|
player_info:Ready(true)
|
|||
|
|
end)
|
|||
|
|
|
|||
|
|
_gamectr:AddEventListener(EXGameEvent.OnBompScoreNew, function(...)
|
|||
|
|
local arg = { ... }
|
|||
|
|
self._popEvent = false
|
|||
|
|
local scoreList = arg[1]
|
|||
|
|
for i = 1, #scoreList do
|
|||
|
|
local score = scoreList[i].pomSore
|
|||
|
|
local player = self._room:GetPlayerBySeat(scoreList[i].seat)
|
|||
|
|
local head_info = self._player_info[self:GetPos(scoreList[i].seat)]
|
|||
|
|
head_info:PlayScore(score, true)
|
|||
|
|
head_info:UpdateScore(player.total_score)
|
|||
|
|
end
|
|||
|
|
coroutine.start(function()
|
|||
|
|
coroutine.wait(1)
|
|||
|
|
self._popEvent = true
|
|||
|
|
end)
|
|||
|
|
end)
|
|||
|
|
|
|||
|
|
_gamectr:AddEventListener(
|
|||
|
|
GameEvent.PlayerState,
|
|||
|
|
function(...)
|
|||
|
|
printlog("lingmeng OnEventOnlineState")
|
|||
|
|
local arg = { ... }
|
|||
|
|
local p = arg[1]
|
|||
|
|
local info = self._player_info[self:GetPos(p.seat)]
|
|||
|
|
info._ctr_offline.selectedIndex = p.line_state == 0 and 1 or 0
|
|||
|
|
end
|
|||
|
|
)
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
function M:ReConnectForStart()
|
|||
|
|
local _gamectr = ControllerManager.GetController(GameController)
|
|||
|
|
self._room.is_new_bout = _gamectr:GetIsNewBout(self._room.curren_turn_seat)
|
|||
|
|
self._state.selectedIndex = 1
|
|||
|
|
self._view:GetController("time").selectedIndex = self:GetPos(self._room.curren_turn_seat)
|
|||
|
|
|
|||
|
|
for _, player in ipairs(self._room.player_list) do
|
|||
|
|
local player_card_info = self._player_card_info[self:GetPos(player.seat)]
|
|||
|
|
local head_info = self._player_info[self:GetPos(player.seat)]
|
|||
|
|
head_info:Ready(false)
|
|||
|
|
|
|||
|
|
head_info:UpdateScore(player.total_score)
|
|||
|
|
head_info:UpdateLineState(player.line_state)
|
|||
|
|
head_info:UpdatePiao(player.piao)
|
|||
|
|
head_info:SetBaoDan(player.hand_count == 1)
|
|||
|
|
head_info:MarkBank(player.seat == self._room.banker_seat)
|
|||
|
|
|
|||
|
|
if head_info._view:GetChild("shengyu") ~= nil and head_info._view:GetController("shengyu") ~= nil then
|
|||
|
|
-- body
|
|||
|
|
|
|||
|
|
|
|||
|
|
if self._room.room_config.showlength == 1 then
|
|||
|
|
-- body
|
|||
|
|
head_info._view:GetController("shengyu").selectedIndex = 1
|
|||
|
|
else
|
|||
|
|
head_info._view:GetController("shengyu").selectedIndex = 0
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
-- body
|
|||
|
|
head_info._view:GetChild("shengyu").text = player.hand_count
|
|||
|
|
end
|
|||
|
|
if player.seat == self._room.self_player.seat then
|
|||
|
|
if player.open ~= nil and player.open == 0 and self._room.room_config.people_num == 3 and self._room.room_config.fangzuobi == 1 then
|
|||
|
|
-- body
|
|||
|
|
self.MypokerList = player.hand_list
|
|||
|
|
player_card_info:InitPoker(player.hand_list, false, 1)
|
|||
|
|
else
|
|||
|
|
player_card_info:InitPoker(player.hand_list, false)
|
|||
|
|
end
|
|||
|
|
else
|
|||
|
|
-- player_card_info:SetRemainCardNumber(player.hand_count == 1)
|
|||
|
|
if player.hand_count == 1 then
|
|||
|
|
-- self.bgm_index = 2
|
|||
|
|
end
|
|||
|
|
end
|
|||
|
|
if self._room.curren_turn_seat == player.seat then
|
|||
|
|
-- head_info:MarkBank(false)
|
|||
|
|
player_card_info._ctr_time_clock.selectedIndex = 1
|
|||
|
|
self._tex_leftTime = player_card_info._view_comp_clock
|
|||
|
|
self._left_time = 15
|
|||
|
|
-- if player.out_card_list[1] == 0 then
|
|||
|
|
player_card_info:SetOutCardInfo(nil, false)
|
|||
|
|
-- else
|
|||
|
|
-- player_card_info:SetOutCardInfo(player.out_card_list, false)
|
|||
|
|
-- end
|
|||
|
|
else
|
|||
|
|
-- head_info:MarkBank(true)
|
|||
|
|
end
|
|||
|
|
end
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
function M:ReconnectForClearing()
|
|||
|
|
self:UpdateRound(self._room.curren_round)
|
|||
|
|
local win_seat = 0
|
|||
|
|
--self.rank_view = self:CreateRankEff(self._room.winseat)
|
|||
|
|
for _, player in ipairs(self._room.player_list) do
|
|||
|
|
local head_info = self._player_info[self:GetPos(player.seat)]
|
|||
|
|
local player_card_info = self._player_card_info[self:GetPos(player.seat)]
|
|||
|
|
|
|||
|
|
--如果是体力值不可负分模式 则显示当前的hp值
|
|||
|
|
if player.hp_info ~= nil and player.hp_info.cur_hp ~= nil then
|
|||
|
|
head_info:UpdateScore(d2ad(player.hp_info.cur_hp))
|
|||
|
|
head_info._view:GetChild('zhanji').visible = true
|
|||
|
|
local num = player.hp_info.total_hp
|
|||
|
|
if num > 0 then
|
|||
|
|
head_info._view:GetController('text_color').selectedIndex = 0
|
|||
|
|
head_info._view:GetChild('text_jifen').text = '+' .. d2ad(player.hp_info.total_hp)
|
|||
|
|
else
|
|||
|
|
head_info._view:GetController('text_color').selectedIndex = 1
|
|||
|
|
head_info._view:GetChild('text_jifen').text = d2ad(player.hp_info.total_hp)
|
|||
|
|
end
|
|||
|
|
-- player_card_info:PlayScore(d2ad(player.hp_info.round_actual_hp))
|
|||
|
|
else
|
|||
|
|
local rt = 1
|
|||
|
|
if self._room.hpOnOff == 1 then
|
|||
|
|
rt = self._room.score_times
|
|||
|
|
end
|
|||
|
|
head_info:UpdateScore(player.total_score * rt)
|
|||
|
|
-- player_card_info:PlayScore(player.winscore * rt, false, self._room.winseat)
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
head_info:UpdateLineState(player.line_state)
|
|||
|
|
--head_info._view:GetController("Oener").selectedIndex=0
|
|||
|
|
head_info:UpdatePiao(player.piao)
|
|||
|
|
head_info:MarkBank(player.seat == self._room.banker_seat)
|
|||
|
|
if head_info._view:GetChild("shengyu") ~= nil and head_info._view:GetController("shengyu") ~= nil then
|
|||
|
|
-- body
|
|||
|
|
|
|||
|
|
if self._room.room_config.showlength == 1 then
|
|||
|
|
-- body
|
|||
|
|
head_info._view:GetController("shengyu").selectedIndex = 1
|
|||
|
|
else
|
|||
|
|
head_info._view:GetController("shengyu").selectedIndex = 0
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
-- body
|
|||
|
|
head_info._view:GetChild("shengyu").text = player.hand_count
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
|
|||
|
|
if player.seat == self._room.self_player.seat then
|
|||
|
|
player_card_info:InitPoker(player.hand_list, false)
|
|||
|
|
else
|
|||
|
|
-- player_card_info:UpdateHandPoker(player.hand_list, false, true)
|
|||
|
|
end
|
|||
|
|
if player.out_card_list[1] == 0 then
|
|||
|
|
player_card_info:SetOutCardInfo(nil, false)
|
|||
|
|
else
|
|||
|
|
player_card_info:SetOutCardInfo(player.out_card_list, false)
|
|||
|
|
end
|
|||
|
|
end
|
|||
|
|
win_seat = self._room.winseat
|
|||
|
|
self._room.winseat = nil
|
|||
|
|
|
|||
|
|
local remaincards = self._room.remaincards
|
|||
|
|
if self._room.game_status == 1 then
|
|||
|
|
-- body
|
|||
|
|
coroutine.start(function()
|
|||
|
|
coroutine.wait(0.3)
|
|||
|
|
|
|||
|
|
self.result_view = EXResultView.new(self, self._room.player_list, self._room.room_id, 0,
|
|||
|
|
win_seat, 0, remaincards)
|
|||
|
|
self.result_view:SetDestroryCallback(function()
|
|||
|
|
for i = 1, #self._player_card_info do
|
|||
|
|
local card_info = self._player_card_info[i]
|
|||
|
|
card_info.ctr_outpoker.selectedIndex = 0
|
|||
|
|
if card_info._ctr_resultOut then
|
|||
|
|
card_info._ctr_resultOut.selectedIndex = 0
|
|||
|
|
end
|
|||
|
|
end
|
|||
|
|
end)
|
|||
|
|
self.result_view:Show()
|
|||
|
|
local card_info = self._player_card_info[1]
|
|||
|
|
card_info._view:GetChild("out_card_list").visible = true
|
|||
|
|
end)
|
|||
|
|
if remaincards then
|
|||
|
|
local newremaincards = self._gamectr:ChangeCodeByFrom(remaincards, true)
|
|||
|
|
|
|||
|
|
-- body
|
|||
|
|
local otherpoker_list = self._view:GetChild("otherpoker_list")
|
|||
|
|
|
|||
|
|
if otherpoker_list ~= nil then
|
|||
|
|
-- body
|
|||
|
|
otherpoker_list:RemoveChildrenToPool()
|
|||
|
|
otherpoker_list.visible = true
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
for i = #newremaincards, 1, -1 do
|
|||
|
|
coroutine.start(function()
|
|||
|
|
coroutine.wait(0.1 * (15 - i))
|
|||
|
|
|
|||
|
|
|
|||
|
|
local flow = newremaincards[i] % 10
|
|||
|
|
local num = (newremaincards[i] - (newremaincards[i] % 10)) / 10
|
|||
|
|
local card_n = flow * 100 + num
|
|||
|
|
local poker_item = UIPackage.CreateObject("Extend_Poker_DuoDuo", "poker6")
|
|||
|
|
|
|||
|
|
--local code = self:ChangeCodeByTo(card_n)
|
|||
|
|
-- local card_code_obj = UIPackage.CreateObjectFromURL("ui://Extend_Poker_RunFast/" .. card_n)
|
|||
|
|
-- local card_code_obj = UIPackage.CreateObjectFromURL("ui://Main_Poker/" .. card_n .. "_2")
|
|||
|
|
local card_code_obj
|
|||
|
|
if DataManager.CurrenRoom.pai == 0 then
|
|||
|
|
card_code_obj = UIPackage.CreateObjectFromURL("ui://Extend_Poker_DuoDuo/" .. card_n)
|
|||
|
|
else
|
|||
|
|
card_code_obj = UIPackage.CreateObjectFromURL("ui://Main_Poker/" .. card_n .. "_2")
|
|||
|
|
end
|
|||
|
|
if card_n == 310 and DataManager.CurrenRoom.room_config.Heart10 == 2 then
|
|||
|
|
-- body
|
|||
|
|
card_code_obj = UIPackage.CreateObjectFromURL("ui://Extend_Poker_DuoDuo/" .. card_n .. "_1")
|
|||
|
|
end
|
|||
|
|
card_code_obj:SetScale(0.6, 0.6)
|
|||
|
|
poker_item:AddChild(card_code_obj)
|
|||
|
|
otherpoker_list:AddChild(poker_item)
|
|||
|
|
end)
|
|||
|
|
end
|
|||
|
|
end
|
|||
|
|
end
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
function M:CreateRankEff()
|
|||
|
|
self.rank_view = UIPackage.CreateObjectFromURL("ui://Extend_Poker_DuoDuo/rank_eff")
|
|||
|
|
self._view:AddChild(self.rank_view)
|
|||
|
|
self.rank_view:Center()
|
|||
|
|
self.rank_view:GetTransition("t0"):Play()
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
function M:_Effect(type1, player)
|
|||
|
|
if type1 == 1 or type1 == 3 or type1 == 7 then
|
|||
|
|
self._popEvent = true
|
|||
|
|
return
|
|||
|
|
end
|
|||
|
|
local info = self._player_card_info[self:GetPos(player.seat)]
|
|||
|
|
info:PlayEffect(type1, function()
|
|||
|
|
self._popEvent = true
|
|||
|
|
end)
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
-- function M:_Effect(type1, player)
|
|||
|
|
-- -- body
|
|||
|
|
|
|||
|
|
-- if type1 < 7 and type1 ~= 4 and type1 ~= 5 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
|
|||
|
|
-- elseif type1 == 12 then
|
|||
|
|
-- return
|
|||
|
|
-- elseif type1 == 5 then
|
|||
|
|
-- eff_code = 5
|
|||
|
|
-- else
|
|||
|
|
-- eff_code = 1
|
|||
|
|
-- end
|
|||
|
|
-- local info = self._player_card_info[self:GetPos(player.seat)]
|
|||
|
|
-- local pNode = info._mask_liangpai
|
|||
|
|
-- local effect = UIPackage.CreateObjectFromURL("ui://Extend_Poker_DuoDuo/eff_" .. eff_code)
|
|||
|
|
-- -- local effect = UIPackage.CreateObjectFromURL("ui://Extend_Poker_DuoDuo/eff2_1")
|
|||
|
|
-- effect.touchable = false
|
|||
|
|
-- effect:GetTransition("t0"):Play()
|
|||
|
|
-- -- effect:SetXY((self._view.width - effect.width) / 2,(self._view.hight - effect.hight) / 2)
|
|||
|
|
-- if eff_code == 3 then
|
|||
|
|
-- self._view:AddChild(effect)
|
|||
|
|
-- else
|
|||
|
|
-- pNode:AddChild(effect)
|
|||
|
|
-- end
|
|||
|
|
|
|||
|
|
|
|||
|
|
-- if eff_code == 1 then
|
|||
|
|
-- self.eff_feiji = UIPackage.CreateObjectFromURL("ui://Extend_Poker_DuoDuo/eff_feiji")
|
|||
|
|
-- self._view:AddChild(self.eff_feiji)
|
|||
|
|
-- self.eff_feiji:Center()
|
|||
|
|
-- self.eff_feiji:GetTransition("t0"):Play()
|
|||
|
|
-- end
|
|||
|
|
-- if eff_code == 3 then
|
|||
|
|
-- effect:Center()
|
|||
|
|
-- else
|
|||
|
|
-- if self:GetPos(player.seat) == 1 then
|
|||
|
|
-- effect.x, effect.y = 0, 24
|
|||
|
|
-- else
|
|||
|
|
-- effect.x, effect.y = 24, 67
|
|||
|
|
-- end
|
|||
|
|
-- end
|
|||
|
|
|
|||
|
|
|
|||
|
|
-- -- effect:Center()
|
|||
|
|
-- -- if eff_code ==3 then
|
|||
|
|
-- -- coroutine.start(function()
|
|||
|
|
-- -- coroutine.wait(1)
|
|||
|
|
-- -- effect:Dispose()
|
|||
|
|
-- -- end)
|
|||
|
|
-- -- else
|
|||
|
|
-- coroutine.start(function()
|
|||
|
|
-- coroutine.wait(1)
|
|||
|
|
-- if self.eff_feiji ~= nil then
|
|||
|
|
-- self.eff_feiji:Dispose()
|
|||
|
|
-- end
|
|||
|
|
-- effect:Dispose()
|
|||
|
|
-- end)
|
|||
|
|
-- -- end
|
|||
|
|
-- end
|
|||
|
|
|
|||
|
|
function M:OnTupGuanOpen(...)
|
|||
|
|
---- print("刷新托管数据=====")
|
|||
|
|
local arg = { ... }
|
|||
|
|
local p = arg[1]
|
|||
|
|
local player_card_info = self._player_card_info[self:GetPos(p.seat)]
|
|||
|
|
self._tex_leftTime = player_card_info._view_comp_clock
|
|||
|
|
self._left_time = tonumber(arg[3]) or 0
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
function M:UpdateRound(round)
|
|||
|
|
local total_round = self._room.room_config.Times
|
|||
|
|
-- self._text_round.text = string.format("%d / %d 局", round, total_round)
|
|||
|
|
if not self._text_currenRound then
|
|||
|
|
self._text_currenRound = self._view:GetChild('Text_CurrenRound')
|
|||
|
|
end
|
|||
|
|
if not self._text_maxRound then
|
|||
|
|
self._text_maxRound = self._view:GetChild('Text_MaxMaxRound')
|
|||
|
|
end
|
|||
|
|
self._text_currenRound.text = round
|
|||
|
|
self._text_maxRound.text = string.format("/%s局", total_round)
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
-- function M:InitPlayerInfoView()
|
|||
|
|
-- self._player_info = {}
|
|||
|
|
-- local _player_info = self._player_info
|
|||
|
|
-- for i = 1, self._room.room_config.people_num do
|
|||
|
|
-- local tem = self._view:GetChild(string.format("player_info%d_%d", i, (self._state.selectedIndex % 2) + 1))
|
|||
|
|
-- _player_info[i] = PlayerInfoView.new(tem, self)
|
|||
|
|
-- tem.visible = false
|
|||
|
|
-- end
|
|||
|
|
-- end
|
|||
|
|
|
|||
|
|
-- function M:GetSoundFileName(type, num, isNewBout)
|
|||
|
|
-- local fileName
|
|||
|
|
-- if isNewBout then
|
|||
|
|
-- if type > 6 or type == 4 then
|
|||
|
|
-- if type == 8 or type == 9 then
|
|||
|
|
-- type = 7
|
|||
|
|
-- end
|
|||
|
|
-- fileName = tostring(type)
|
|||
|
|
-- elseif type > 2 then
|
|||
|
|
-- fileName = string.format("3_%d", num)
|
|||
|
|
-- else
|
|||
|
|
-- fileName = string.format("%d_%d", type, num)
|
|||
|
|
-- end
|
|||
|
|
-- else
|
|||
|
|
-- math.randomseed(os.time())
|
|||
|
|
-- if type > 2 and type ~= 11 then
|
|||
|
|
-- local r = math.random(1, 3)
|
|||
|
|
-- fileName = "dani_" .. r
|
|||
|
|
-- elseif type == 11 then
|
|||
|
|
-- fileName = tostring(type)
|
|||
|
|
-- else
|
|||
|
|
-- fileName = string.format("%d_%d", type, num)
|
|||
|
|
-- end
|
|||
|
|
-- end
|
|||
|
|
-- return fileName
|
|||
|
|
-- end
|
|||
|
|
|
|||
|
|
function M:GetSoundFileName(type, num, isNewBout)
|
|||
|
|
local fileName
|
|||
|
|
if type == 1 or type == 3 or type == 7 then
|
|||
|
|
local num = self._cardCheck.lastMinCard
|
|||
|
|
if type == 1 then
|
|||
|
|
fileName = string.format("1_%d", num)
|
|||
|
|
elseif type == 3 then
|
|||
|
|
fileName = string.format("2_%d", num)
|
|||
|
|
elseif type == 7 then
|
|||
|
|
fileName = string.format("3_%d", num)
|
|||
|
|
end
|
|||
|
|
else
|
|||
|
|
if not isNewBout and type ~= 6 then
|
|||
|
|
local r = math.random(1, 3)
|
|||
|
|
fileName = "dani_" .. r
|
|||
|
|
else
|
|||
|
|
if type == 8 or type == 12 then
|
|||
|
|
fileName = 5
|
|||
|
|
else
|
|||
|
|
fileName = type
|
|||
|
|
end
|
|||
|
|
end
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
return fileName
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
function M:GetSpringSeats(player_info)
|
|||
|
|
local seat_list = {}
|
|||
|
|
local card_max_length = self._room.room_config.Leaf + 14
|
|||
|
|
for i = 1, #player_info do
|
|||
|
|
local player = player_info[i]
|
|||
|
|
if #player.cards == card_max_length then
|
|||
|
|
seat_list[#seat_list + 1] = player.seat
|
|||
|
|
end
|
|||
|
|
end
|
|||
|
|
return seat_list
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
function M:PlayCardEff(card)
|
|||
|
|
if self.cor_card_eff ~= nil then
|
|||
|
|
coroutine.stop(self.cor_card_eff)
|
|||
|
|
end
|
|||
|
|
self.cor_card_eff = nil
|
|||
|
|
local cor_time = 0.1
|
|||
|
|
self.cor_card_eff = coroutine.start(function()
|
|||
|
|
self._popEvent = false
|
|||
|
|
local eff = self._view:GetChild("poker_eff")
|
|||
|
|
local poker_obj = eff:GetChild("poker")
|
|||
|
|
local poker_back = eff:GetChild("di")
|
|||
|
|
poker_back.visible = false
|
|||
|
|
-- local card_code_obj = UIPackage.CreateObjectFromURL("ui://Extend_Poker_RunFast/" .. card)
|
|||
|
|
-- local card_code_obj = UIPackage.CreateObjectFromURL("ui://Main_Poker/" .. card .. "_2")
|
|||
|
|
local card_code_obj
|
|||
|
|
if DataManager.CurrenRoom.pai == 0 then
|
|||
|
|
card_code_obj = UIPackage.CreateObjectFromURL("ui://Extend_Poker_DuoDuo/" .. card)
|
|||
|
|
else
|
|||
|
|
card_code_obj = UIPackage.CreateObjectFromURL("ui://Main_Poker/" .. card .. "_2")
|
|||
|
|
end
|
|||
|
|
if card_code_obj then
|
|||
|
|
card_code_obj:SetScale(1, 1)
|
|||
|
|
poker_obj:AddChild(card_code_obj)
|
|||
|
|
card_code_obj.visible = true
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
self.tween = TweenUtils.TweenFloat(0, 2340, cor_time, function(x)
|
|||
|
|
poker_back.rotationY = x
|
|||
|
|
poker_obj.rotationY = -180 + x
|
|||
|
|
local x_1 = x % 360
|
|||
|
|
if (x_1 > 90 and x_1 < 270) then
|
|||
|
|
poker_obj.visible = true
|
|||
|
|
poker_back.visible = false
|
|||
|
|
else
|
|||
|
|
poker_obj.visible = false
|
|||
|
|
poker_back.visible = true
|
|||
|
|
end
|
|||
|
|
end)
|
|||
|
|
coroutine.wait(1)
|
|||
|
|
self._popEvent = true
|
|||
|
|
end)
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
function M:ResetPoker()
|
|||
|
|
-- if self._room.curren_turn_seat == self._room.self_player.seat then
|
|||
|
|
-- self._player_card_info[1]:ResetPoker()
|
|||
|
|
-- end
|
|||
|
|
self._player_card_info[1]:ResetPoker()
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
----结算准备时清理桌面
|
|||
|
|
function M:ClearOk()
|
|||
|
|
for i = 1, #self._player_card_info do
|
|||
|
|
self._player_card_info[i]:Clear()
|
|||
|
|
end
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
function M:PlaySound(sex, path)
|
|||
|
|
local sex_path = ViewUtil.Sex_Chat[sex] -- 1 男 2 女
|
|||
|
|
local sound_path = string.format("extend/poker/duoduo/sound/%s/%s.mp3", sex_path, path)
|
|||
|
|
ViewUtil.PlaySound("DuoDuo_PK", sound_path)
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
function M:ChangeBgmMusic(bgm_index)
|
|||
|
|
if bgm_index == nil then
|
|||
|
|
bgm_index = self.bgm_index
|
|||
|
|
else
|
|||
|
|
self.bgm_index = bgm_index
|
|||
|
|
end
|
|||
|
|
ViewUtil.PlayMuisc("DuoDuo_PK", string.format("extend/poker/duoduo/sound/bgm%d.mp3", 1))
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
function M:OnPlayerEnter(...)
|
|||
|
|
ViewUtil.PlaySound("DuoDuo_PK", "base/main_majiang/sound/user_enter.mp3")
|
|||
|
|
local arg = { ... }
|
|||
|
|
local p = arg[1]
|
|||
|
|
for i = 1, #self._room.player_list do
|
|||
|
|
if self._room.self_player.seat == self._room.player_list[i].seat and self._room.self_player.self_user.account_id ~= self._room.player_list[i].self_user.account_id then
|
|||
|
|
-- body
|
|||
|
|
local ErrorMsgTip = UIPackage.CreateObject("Common", "Win_ConnectTip")
|
|||
|
|
local _action = self._view:AddChild(ErrorMsgTip)
|
|||
|
|
_action.xy = Vector2((self._view.width - _action.width) / 4, self._view.height / 4)
|
|||
|
|
local text = _action:GetChild("tex_message")
|
|||
|
|
local btn1 = _action:GetChild("btn_connect")
|
|||
|
|
local btn2 = _action:GetChild("btn_back")
|
|||
|
|
text.text = "您来晚了,座位有人,请重新进牌桌"
|
|||
|
|
btn1.visible = false
|
|||
|
|
btn2:Center()
|
|||
|
|
btn2.y = btn2.y + 50
|
|||
|
|
btn2.onClick:Set(function()
|
|||
|
|
-- body
|
|||
|
|
ErrorMsgTip:Destroy()
|
|||
|
|
ErrorMsgTip = nil
|
|||
|
|
self._gamectr:LevelRoom(function(res)
|
|||
|
|
ViewUtil.CloseModalWait2()
|
|||
|
|
NetResetConnectWindow.CloseNetReset()
|
|||
|
|
ControllerManager.ChangeController(LoddyController)
|
|||
|
|
ViewManager.ChangeView(ViewManager.View_Lobby)
|
|||
|
|
end)
|
|||
|
|
end)
|
|||
|
|
end
|
|||
|
|
end
|
|||
|
|
-- if p ~= self._room.self_player and self._room.room_config.people_num <= 4 and self._room.room_config.people_num >= 3 and self._gamectr:CheckGPS() then
|
|||
|
|
-- if self.distance_view then
|
|||
|
|
-- self.distance_view:Destroy()
|
|||
|
|
-- end
|
|||
|
|
-- self.distance_view = PlayerDistanceView.new(true)
|
|||
|
|
-- self.distance_view:Show()
|
|||
|
|
-- end
|
|||
|
|
-- local info = self._player_info[self:GetPos(p.seat)]
|
|||
|
|
-- info:FillData(p)
|
|||
|
|
-- info._view.visible = true
|
|||
|
|
MainView.OnPlayerEnter(self, ...)
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
function M:Destroy()
|
|||
|
|
for i = 1, #self._room.player_list do
|
|||
|
|
local player = self._room.player_list[i]
|
|||
|
|
local card_info_i = self._player_card_info[self:GetPos(player.seat)]
|
|||
|
|
|
|||
|
|
card_info_i:Destroy()
|
|||
|
|
if card_info_i ~= nil and card_info_i.cor_init_poker ~= nil then
|
|||
|
|
coroutine.stop(card_info_i.cor_init_poker)
|
|||
|
|
end
|
|||
|
|
end
|
|||
|
|
GRoot.inst.onSizeChanged:Set(function()
|
|||
|
|
|
|||
|
|
end)
|
|||
|
|
PKMainView.Destroy(self)
|
|||
|
|
UIPackage.RemovePackage("extend/poker/duoduo/ui/Extend_Poker_DuoDuo")
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
return M
|