186 lines
5.2 KiB
Plaintext
186 lines
5.2 KiB
Plaintext
GuildInfoView = class("GuildInfoView", ContainerView)
|
|
|
|
GuildInfoView.ViewType = UIViewType.NormalLayer
|
|
|
|
autoImport("GuildInfoPage")
|
|
autoImport("GuildMemberListPage")
|
|
autoImport("GuildFaithPage")
|
|
autoImport("GuildFindPage");
|
|
autoImport("GuildAssetPage")
|
|
|
|
GuildInfoView.TabName = {
|
|
[1] = ZhString.GuildInfoView_TabName1,
|
|
[2] = ZhString.GuildInfoView_TabName2,
|
|
[3] = ZhString.GuildInfoView_TabName3,
|
|
[4] = ZhString.GuildInfoView_TabName4,
|
|
[5] = ZhString.GuildInfoView_TabName5,
|
|
}
|
|
|
|
function GuildInfoView:Init()
|
|
self:InitUI();
|
|
|
|
self:DisableTog();
|
|
|
|
self:MapListenEvt();
|
|
|
|
if(self.viewdata.view and self.viewdata.view.tab)then
|
|
self:TabChangeHandler(self.viewdata.view.tab)
|
|
end
|
|
end
|
|
|
|
function GuildInfoView:InitUI()
|
|
local togObj = self:FindGO("Toggles");
|
|
local toggleList = {}
|
|
for i=1,5 do
|
|
local toggleName = "Toggle" .. i
|
|
toggleList[#toggleList + 1] = self:FindGO(toggleName, togObj);
|
|
end
|
|
|
|
if toggleList[1] == nil then
|
|
toggleList[1] = self:FindGO("Infomation", togObj);
|
|
toggleList[2] = self:FindGO("Member", togObj);
|
|
toggleList[3] = self:FindGO("Faith", togObj);
|
|
toggleList[4] = self:FindGO("FindGuild", togObj);
|
|
toggleList[5] = self:FindGO("Asset", togObj);
|
|
end
|
|
|
|
self.assetTog = toggleList[5]
|
|
|
|
local infoBord = self:FindGO("InfoBord");
|
|
local memberBord = self:FindGO("MemberBord");
|
|
local faithBord = self:FindGO("GAttriBord");
|
|
local findBord = self:FindGO("FindBord");
|
|
local assetBord = self:FindGO("AssetBord");
|
|
|
|
if not GameConfig.SystemForbid.TabNameTip then
|
|
for k,v in pairs(toggleList) do
|
|
local icon = GameObjectUtil.Instance:DeepFindChild(v, "Icon")
|
|
if icon then
|
|
icon:SetActive(true)
|
|
local nameLabel = GameObjectUtil.Instance:DeepFindChild(v, "NameLabel")
|
|
nameLabel:SetActive(false)
|
|
end
|
|
end
|
|
else
|
|
for k,v in pairs(toggleList) do
|
|
if icon then
|
|
local icon = GameObjectUtil.Instance:DeepFindChild(v, "Icon")
|
|
icon:SetActive(false)
|
|
local nameLabel = GameObjectUtil.Instance:DeepFindChild(v, "NameLabel")
|
|
nameLabel:SetActive(true)
|
|
end
|
|
end
|
|
end
|
|
|
|
local ihaveGuild = GuildProxy.Instance:IHaveGuild();
|
|
if(ihaveGuild)then
|
|
self:AddSubView("GuildInfoPage" ,GuildInfoPage);
|
|
self:AddSubView("GuildMemberListPage" ,GuildMemberListPage);
|
|
self.viewdata.view.tab = 1;
|
|
else
|
|
self.disableTabs = {1,2};
|
|
self:AddSubView("GuildFindPage" ,GuildFindPage, findBord);
|
|
|
|
toggleList[4]:SetActive(true);
|
|
toggleList[1]:SetActive(false);
|
|
|
|
local hasFaith = false;
|
|
local myfaithData = Game.Myself.data.guildPray;
|
|
for i=1,#myfaithData do
|
|
local fdata = myfaithData[i];
|
|
if(fdata.level>0)then
|
|
hasFaith = true;
|
|
break;
|
|
end
|
|
end
|
|
if(not hasFaith)then
|
|
table.insert(self.disableTabs, 3);
|
|
end
|
|
|
|
self.viewdata.view.tab = 4;
|
|
end
|
|
self:AddSubView("GuildFaithPage" ,GuildFaithPage);
|
|
self:AddSubView("GuildAssetPage" ,GuildAssetPage);
|
|
|
|
self:AddTabChangeEvent(toggleList[1], infoBord, PanelConfig.GuildInfoPage)
|
|
self:AddTabChangeEvent(toggleList[2], memberBord, PanelConfig.GuildMemberListPage)
|
|
self:AddTabChangeEvent(toggleList[3], faithBord, PanelConfig.GuildFaithPage)
|
|
self:AddTabChangeEvent(toggleList[4], findBord, PanelConfig.GuildFindPage);
|
|
self:AddTabChangeEvent(toggleList[5], assetBord, PanelConfig.GuildAssetPage);
|
|
|
|
-- 註冊紅點
|
|
local applyListButton = self:FindGO("ApplyListButton");
|
|
if toggleList[2] then
|
|
self:RegisterRedTipCheck(SceneTip_pb.EREDSYS_GUILD_APPLY, UIUtil.GetAllComponentInChildren(toggleList[2], UISprite), 26)
|
|
self:RegisterRedTipCheck(SceneTip_pb.EREDSYS_GUILD_APPLY, UIUtil.GetAllComponentInChildren(applyListButton, UISprite), 26)
|
|
end
|
|
end
|
|
|
|
function GuildInfoView:TabChangeHandler(key)
|
|
GuildInfoView.super.TabChangeHandler(self, key);
|
|
if(PanelConfig.GuildInfoPage.tab == key)then
|
|
FunctionGuild.Me():QueryGuildItemList()
|
|
elseif(PanelConfig.GuildAssetPage.tab == key)then
|
|
-- FunctionGuild.Me():QueryGuildEventList()
|
|
end
|
|
|
|
|
|
end
|
|
|
|
function GuildInfoView:DisableTog()
|
|
local disableTabs = self.disableTabs;
|
|
if(disableTabs)then
|
|
for i=1,#disableTabs do
|
|
local tab = self.coreTabMap[disableTabs[i]];
|
|
if(tab and tab.go)then
|
|
self:SetTextureGrey(tab.go);
|
|
tab.go:GetComponent(BoxCollider).enabled = false;
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
function GuildInfoView:MapListenEvt()
|
|
self:AddListenEvt(ServiceEvent.GuildCmdEnterGuildGuildCmd , self.QueryGuildItemList)
|
|
self:AddListenEvt(ServiceEvent.GuildCmdExitGuildGuildCmd, self.HandleExitGuild);
|
|
end
|
|
|
|
function GuildInfoView:QueryGuildItemList()
|
|
FunctionGuild.Me():QueryGuildItemList()
|
|
end
|
|
|
|
function GuildInfoView:HandleClose()
|
|
self:CloseSelf()
|
|
end
|
|
|
|
function GuildInfoView:HandleExitGuild()
|
|
self:CloseSelf();
|
|
end
|
|
|
|
function GuildInfoView:PlayLvUpEffect()
|
|
local myGuildMemberData = GuildProxy.Instance:GetMyGuildMemberData();
|
|
if(myGuildMemberData)then
|
|
local needShowEffect = myGuildMemberData:NeedPlayLevelUpEffect();
|
|
if(needShowEffect)then
|
|
FunctionGuild.Me():PlayUpgradeEffect();
|
|
end
|
|
end
|
|
end
|
|
|
|
function GuildInfoView:OnEnter()
|
|
EventManager.Me():AddEventListener(GuildChallengeEvent.CloseUI,self.HandleClose,self)
|
|
GuildInfoView.super.OnEnter(self);
|
|
self:PlayLvUpEffect();
|
|
|
|
ServiceGuildCmdProxy.Instance:CallFrameStatusGuildCmd(true);
|
|
end
|
|
|
|
function GuildInfoView:OnExit()
|
|
EventManager.Me():RemoveEventListener(GuildChallengeEvent.CloseUI,self.HandleClose,self)
|
|
ServiceGuildCmdProxy.Instance:CallFrameStatusGuildCmd(false);
|
|
|
|
GuildInfoView.super.OnExit(self);
|
|
end
|
|
|
|
|