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

279 lines
12 KiB
Lua
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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