dezhou_client/lua_probject/base_project/Game/View/CreateCardGameView.lua

279 lines
12 KiB
Lua
Raw Permalink Normal View History

2025-12-17 21:08:27 +08:00
CreateCardGameView = {}
local M = CreateCardGameView
function CreateCardGameView.new()
setmetatable(M, { __index = BaseView })
local self = setmetatable({}, { __index = M })
self.class = "CreateCardGameView"
self._full = true
-- self:init()
return self
end
function M:init()
-- self:InitView("base/prefab/ViewCreateCardGame.prefab", "base/prefab/ViewCreateCardGame")
local view = self._view
self.pageSlider = view.transform:Find("pageSlider")
self.pageSlider = self.pageSlider:GetComponent("PageSliderManager")
-- self.pageSlider:SetMoveAction(function(val)
-- self:SetPageSlider(val)
-- end)
local bg = view.transform:Find("imageBG")
bg = bg:GetComponent(typeof(UnityEngine.UI.Image))
bg.sprite = CommonUISprite:GetSprite("bg1")
self.imagePoint = view.transform:Find("imagePoint")
self.create_table = view.transform:Find("createtable")
self.create_table.position = self.imagePoint.position
self.select = view.transform:Find("select") --选择玩法界面
self.imageTop = self.create_table:Find("imageTop")
self.imageTop.gameObject:SetActive(false)
self.topCopy = self.create_table:Find("imageTop/scroll/Viewport/Content/btnItem")
self.topCopy.gameObject:SetActive(false)
local select_btnDezhou = self.select:Find("btnDezhou")
select_btnDezhou = select_btnDezhou:GetComponent(typeof(UnityEngine.UI.Button))
LuaUIHelper:AddButtonClick(select_btnDezhou, function()
self.select.gameObject:SetActive(false)
self.imageTop.gameObject:SetActive(true)
self:ShowPage(self.subView.room)
end)
local select_btnShort = self.select:Find("btnShort")
select_btnShort = select_btnShort:GetComponent(typeof(UnityEngine.UI.Button))
LuaUIHelper:AddButtonClick(select_btnShort, function()
self.select.gameObject:SetActive(false)
self.imageTop.gameObject:SetActive(true)
self:ShowPage(self.subView.room)
end)
local select_btnAomaha = self.select:Find("btnAomaha")
select_btnAomaha = select_btnAomaha:GetComponent(typeof(UnityEngine.UI.Button))
LuaUIHelper:AddButtonClick(select_btnAomaha, function()
self.select.gameObject:SetActive(false)
self.imageTop.gameObject:SetActive(true)
self:ShowPage(self.subView.room)
end)
self.subView = {
none = 0,
room = 1,
rank = 2,
dairu = 3,
daichu = 4,
gamePlay = 5,
otherPlay = 6,
safety = 7,
money = 8,
total = 9
}
self.arr_subView = {}
self.arr_subView[self.subView.room] = { name = "房间", with = 136, v = self.subView.room }
self.arr_subView[self.subView.rank] = { name = "级别", with = 136, v = self.subView.rank }
self.arr_subView[self.subView.dairu] = { name = "带入", with = 136, v = self.subView.dairu }
self.arr_subView[self.subView.daichu] = { name = "带出", with = 136, v = self.subView.daichu }
self.arr_subView[self.subView.gamePlay] = { name = "特色玩法", with = 220, v = self.subView.gamePlay }
self.arr_subView[self.subView.otherPlay] = { name = "其他玩法", with = 220, v = self.subView.otherPlay }
self.arr_subView[self.subView.safety] = { name = "安全性", with = 188, v = self.subView.safety }
self.arr_subView[self.subView.money] = { name = "费用", with = 136, v = self.subView.money }
self.arr_subView[self.subView.total] = { name = "总览", with = 136, v = self.subView.total }
self.arr_subView[self.subView.room].goView = view.transform:Find("room")
self.arr_subView[self.subView.rank].goView = view.transform:Find("rank")
self.arr_subView[self.subView.dairu].goView = view.transform:Find("dairu")
self.arr_subView[self.subView.daichu].goView = view.transform:Find("daichu")
self.arr_subView[self.subView.gamePlay].goView = view.transform:Find("gamePlay")
self.arr_subView[self.subView.otherPlay].goView = view.transform:Find("otherPlay")
self.arr_subView[self.subView.safety].goView = view.transform:Find("safety")
self.arr_subView[self.subView.money].goView = view.transform:Find("money")
self.arr_subView[self.subView.total].goView = view.transform:Find("total")
for index, value in ipairs(self.arr_subView) do
local goTopTemp = UnityEngine.GameObject.Instantiate(self.topCopy.gameObject, self.topCopy.parent, false)
goTopTemp:SetActive(true)
local textTop = goTopTemp.transform:Find("Text")
self.arr_subView[index].Animator = textTop:GetComponent(typeof(UnityEngine.Animator))
self.arr_subView[index].Animator:Play("stop", -1, 0)
textTop = textTop:GetComponent(typeof(UnityEngine.UI.Text))
textTop.text = value.name
local rectUITemp = goTopTemp:GetComponent(typeof(UnityEngine.RectTransform))
rectUITemp.sizeDelta = Vector2.New(rectUITemp.sizeDelta.x, value.with)
self.arr_subView[index].goTitle = goTopTemp.transform
local btnSubTitleTemp = goTopTemp.transform:GetComponent(typeof(UnityEngine.UI.Button))
LuaUIHelper:AddButtonClick(btnSubTitleTemp, function(vTemp)
self:ShowPage(vTemp)
end, index)
-- self.arr_subView[index].goView.position = self.imagePoint.position
local backTemp = self.arr_subView[index].goView:Find("imageDown/btnBack")
backTemp = backTemp:GetComponent(typeof(UnityEngine.UI.Button))
LuaUIHelper:AddButtonClick(backTemp, function(btnVar)
local tempBackNum = btnVar - 1
if tempBackNum == 0 then
self.select.gameObject:SetActive(true)
self.imageTop.gameObject:SetActive(false)
self:ShowPage(self.subView.none)
else
self:ShowPage(tempBackNum)
end
end, index)
local nextTemp = self.arr_subView[index].goView:Find("imageDown/btnNext")
nextTemp = nextTemp:GetComponent(typeof(UnityEngine.UI.Button))
LuaUIHelper:AddButtonClick(nextTemp, function(btnVar)
local tempNextNum = btnVar + 1
if tempNextNum == self.subView.total + 1 then
UIManager.ShowUI(UIManager.ViewGame)
else
self:ShowPage(tempNextNum)
end
end, index)
end
local count = #self.arr_subView
local transformArray = {}
local indexTransform = 0
for int, value in ipairs(self.arr_subView) do
transformArray[indexTransform] = value.goTitle -- Lua索引1开始C#索引0开始
indexTransform = indexTransform + 1
end
self.pageSlider:SetTitleSpacing(transformArray)
local create_table_btnBack = self.create_table:Find("btnBack")
local create_table_btnBackBg = create_table_btnBack:GetComponent(typeof(UnityEngine.UI.Image))
create_table_btnBackBg.sprite = CommonUISprite:GetSprite("arrow1")
create_table_btnBack = create_table_btnBack:GetComponent(typeof(UnityEngine.UI.Button))
LuaUIHelper:AddButtonClick(create_table_btnBack, function()
local viewMainNew = UIManager.ShowUI(UIManager.LobbyView)
viewMainNew:ShowPage(1)
end)
self.selectPage = self.subView.none
self.select.gameObject:SetActive(true)
self.select.position = self.imagePoint.position
self:ShowPage(self.selectPage)
end
function M:ShowPage(val)
-- if val == self.subView.none then
-- self.pageSlider.enableSwipe = false
-- else
-- self.pageSlider.enableSwipe = true
-- end
self.pageSlider:JumpToPage(val - 1)
for index, value in ipairs(self.arr_subView) do
if val == self.subView.none then
value.goView.gameObject:SetActive(false)
else
value.goView.gameObject:SetActive(true)
end
if value.v == val then
-- value.goView.gameObject:SetActive(true)
local scaleTemp1 = LuaUIHelper:GetAnimatorAormalizedTime(value.Animator, true)
local scaleTemp2 = 0
if self.selectPage ~= self.subView.none then
scaleTemp2 = LuaUIHelper:GetAnimatorAormalizedTime(self.arr_subView[self.selectPage].Animator, false)
end
if not LuaUIHelper:GetAnimatorIsName(self.arr_subView[val].Animator, "open") then
if scaleTemp1 > 1 then
scaleTemp1 = 1
scaleTemp2 = 1
end
self.arr_subView[val].Animator:Play("open", -1, 1 - scaleTemp1)
if self.arr_subView[self.selectPage] then
if not LuaUIHelper:GetAnimatorIsName(self.arr_subView[self.selectPage].Animator, "open") then
self.arr_subView[self.selectPage].Animator:Play("close", -1, 1 - scaleTemp2)
end
end
else
self.arr_subView[val].Animator:Play("open", -1, 0.5)
end
else
-- value.goView.gameObject:SetActive(false)
if LuaUIHelper:GetAnimatorIsName(value.Animator, "open") then
local scaleTemp3 = LuaUIHelper:GetAnimatorAormalizedTime(value.Animator, true)
if scaleTemp3 > 1 then
scaleTemp3 = 1
end
value.Animator:Play("close", -1, 1 - scaleTemp3)
end
end
end
self.selectPage = val
self:SetPageSlider(0)
end
function M:SetPageSlider(val)
local last = nil
local lastV = nil
local next = nil
local nextV = nil
local now = nil
local nowV = nil
if self.selectPage == self.subView.room and self.selectPage ~= self.subView.none then
last = nil
lastV = nil
next = self.arr_subView[self.selectPage + 1].goView:GetComponent(typeof(UnityEngine.RectTransform))
nextV = nil
now = self.arr_subView[self.selectPage].goView:GetComponent(typeof(UnityEngine.RectTransform))
nowV = nil
elseif self.selectPage == self.subView.total and self.selectPage ~= self.subView.none then
last = self.arr_subView[self.selectPage - 1].goView:GetComponent(typeof(UnityEngine.RectTransform))
lastV = nil
next = nil
nextV = nil
now = self.arr_subView[self.selectPage].goView:GetComponent(typeof(UnityEngine.RectTransform))
nowV = nil
elseif self.selectPage == self.subView.none then
last = self.arr_subView[self.subView.room].goView:GetComponent(typeof(UnityEngine.RectTransform))
lastV = nil
next = self.arr_subView[self.subView.room + 1].goView:GetComponent(typeof(UnityEngine.RectTransform))
nextV = nil
now = self.arr_subView[self.subView.room + 2].goView:GetComponent(typeof(UnityEngine.RectTransform))
nowV = nil
else
last = self.arr_subView[self.selectPage - 1].goView:GetComponent(typeof(UnityEngine.RectTransform))
lastV = nil
next = self.arr_subView[self.selectPage + 1].goView:GetComponent(typeof(UnityEngine.RectTransform))
nextV = nil
now = self.arr_subView[self.selectPage].goView:GetComponent(typeof(UnityEngine.RectTransform))
nowV = nil
end
if val == -1 then
self.selectPage = self.selectPage - 1
elseif val == 1 then
self.selectPage = self.selectPage + 1
else
end
-- self.pageSlider:SetPageLast(last)
-- self.pageSlider:SetPageNext(next)
-- self.pageSlider:SetPageNow(now)
end
function M:SetTuoGuanState()
-- printlog("初始化设置托管状态")
if ControllerManager.enterPlayerData and #ControllerManager.enterPlayerData > 0 then
-- pt(ControllerManager.enterPlayerData)
for i = 1, #ControllerManager.enterPlayerData do
local p = self._player_info[self:GetPos(
ControllerManager.enterPlayerData[i].seat)]
-- p.seat=ControllerManager.enterPlayerData[i].seat
local t = ControllerManager.enterPlayerData[i].entrust_time
-- local isShow=ControllerManager.enterPlayerData[i].entrust
-- if isShow==nil then return end
if t and t > 0 then
p:IsShowTGTips(true, t)
else
end
end
ControllerManager.enterPlayerData = nil
end
end