PGRData/Script/matrix/xui/xuiguilddorm/XUiGuildSwitchBtn.lua
2024-09-01 22:49:41 +02:00

84 lines
No EOL
2.5 KiB
Lua

--=============
--新旧公会切换按钮控件
--=============
local XUiGuildSwitchBtn = XClass(nil, "XUiGuildSwitchBtn")
local ARROW_TYPE = {
UP = 1, --按钮列表收起时箭头表示
DOWN = 2, --按钮列表打开时箭头表示
}
local LIST_STATUS = {
SHOW = 1, --按钮列表显示
HIDE = 2, --按钮列表隐藏
}
function XUiGuildSwitchBtn:Ctor(rootUi, btn, isNew)
self.IsNew = isNew
self.RootUi = rootUi
XTool.InitUiObjectByUi(self, btn)
self:InitButton()
end
function XUiGuildSwitchBtn:InitButton()
self:SetListStatus(LIST_STATUS.HIDE)
self.BtnClick.CallBack = function() self:OnClickBtnClick() end
self.BtnNewGuild.CallBack = function() self:OnClickBtnNewGuild() end
self.BtnOldGuild.CallBack = function() self:OnClickBtnOldGuild() end
end
function XUiGuildSwitchBtn:SetListStatus(status)
self.CurrentListStatus = status
if status == LIST_STATUS.SHOW then
self:SetArrow(ARROW_TYPE.DOWN)
self.BtnList.gameObject:SetActiveEx(true)
else
self:SetArrow(ARROW_TYPE.UP)
self.BtnList.gameObject:SetActiveEx(false)
end
end
function XUiGuildSwitchBtn:SetArrow(arrowType)
self.ImgArrowDown.gameObject:SetActiveEx(arrowType == ARROW_TYPE.DOWN)
self.ImgArrowUp.gameObject:SetActiveEx(arrowType == ARROW_TYPE.UP)
end
function XUiGuildSwitchBtn:OnClickBtnClick()
local dict = {}
dict["button"] = XGlobalVar.BtnGuildDormMain.BtnSwitchGuildDorm
dict["role_level"] = XPlayer.GetLevel()
CS.XRecord.Record(dict, "200006", "GuildDorm")
if self.CurrentListStatus == LIST_STATUS.SHOW then
self:SetListStatus(LIST_STATUS.HIDE)
else
self:SetListStatus(LIST_STATUS.SHOW)
end
end
function XUiGuildSwitchBtn:OnClickBtnNewGuild()
self:SetListStatus(LIST_STATUS.HIDE)
if self.IsNew then
XUiManager.TipText("AlreadyInNewGuild")
return
end
XDataCenter.GuildDormManager.EnterGuildDorm(nil, nil, nil, function()
XLuaUiManager.Remove("UiGuildMain")
end)
end
function XUiGuildSwitchBtn:OnClickBtnOldGuild()
self:SetListStatus(LIST_STATUS.HIDE)
if not self.IsNew then
XUiManager.TipText("AlreadyInOldGuild")
return
end
XDataCenter.GuildDormManager.RequestExitRoom(function()
XDataCenter.GuildManager.EnterGuild(function()
XLuaUiManager.Remove("UiGuildDormMain")
-- XDataCenter.GuildDormManager.Dispose()
end)
end)
end
return XUiGuildSwitchBtn