ro-table/Asstes/Resources/Script/FrameWork/GUI/view/SetViewSwitchRolePage.txt
2025-06-04 05:02:57 +08:00

89 lines
2.7 KiB
Plaintext

SetViewSwitchRolePage = class("SetViewSwitchRolePage",SubView)
autoImport("SetViewHeadCell")
autoImport("SwitchRolePanel")
function SetViewSwitchRolePage:Init ()
self:initView()
self:AddViewEvents()
self:initData()
end
function SetViewSwitchRolePage:initView ()
self.grid = self:FindComponent("roleGrid",UIGrid)
self.roleGrid = UIGridListCtrl.new(self.grid,SetViewHeadCell,"SetViewHeadCell")
self.roleGrid:AddEventListener(MouseEvent.MouseClick,self.cellClick,self)
self.content = self:FindGO("content")
self.contentGrid = self:FindGO("contentGrid")
self.contentBg = self:FindComponent("contentBg",UISprite)
local switchRoleBtn = self:FindComponent("switchRoleLabel",UILabel)
switchRoleBtn.text = ZhString.SetViewSecurityPage_SwitchRoleLabel
end
function SetViewSwitchRolePage:initData ()
local allRoles = ServiceUserProxy.Instance:GetAllRoleInfos()
local arrays = {}
if allRoles and #allRoles >1 then
for i=1,#allRoles do
local single = allRoles[i]
local deletetime = single.deletetime
local leftTime = deletetime ~= 0 and ServerTime.ServerDeltaSecondTime(deletetime * 1000) or 1
if(single.id ~=0 and single.id ~= Game.Myself.data.id and leftTime > 0)then
arrays[#arrays+1] = single
end
end
end
if(#arrays == 0)then
self.roleGrid:SetEmptyDatas(1)
else
self.roleGrid:ResetDatas(arrays)
end
end
function SetViewSwitchRolePage:AddViewEvents()
self:AddButtonEvent("switchRoleBtn",function ( )
self:Show(self.content)
self.roleGrid:Layout()
self:resizeContentBg()
end)
end
function SetViewSwitchRolePage:resizeContentBg()
local size = #self.roleGrid:GetCells()
self.contentBg.width = size*126
-- local bd = NGUIMath.CalculateRelativeWidgetBounds(self.contentGrid.transform)
-- local width = bd.size.x
-- self.contentBg.width = width
end
function SetViewSwitchRolePage:cellClick(cellCtr)
if(cellCtr.data == nil)then
MsgManager.ShowMsgByID(13012)
elseif(cellCtr.data.deletetime ~= 0)then
MsgManager.ShowMsgByID(13011)
else
MsgManager.ConfirmMsgByID(13010, function ()
PlayerPrefs.SetString(ServiceLoginUserCmdProxy.toswitchroleid,tostring(cellCtr.data.id))
PlayerPrefs.Save()
Game.Me():BackToSwitchRole()
end)
end
end
function SetViewSwitchRolePage:Exit ()
end
function SetViewSwitchRolePage:Save ()
end
function SetViewSwitchRolePage:OnExit ()
TimeTickManager.Me():ClearTick(self)
end
function SetViewSwitchRolePage:SwitchOn ()
end
function SetViewSwitchRolePage:SwitchOff ()
end