218 lines
6.3 KiB
Plaintext
218 lines
6.3 KiB
Plaintext
GvgLandInfoPopUp = class("GvgLandInfoPopUp", ContainerView)
|
|
|
|
GvgLandInfoPopUp.ViewType = UIViewType.PopUpLayer
|
|
|
|
autoImport("GuildHeadCell");
|
|
|
|
function GvgLandInfoPopUp:Init()
|
|
self:InitPopUp();
|
|
self:MapEvent();
|
|
end
|
|
|
|
function GvgLandInfoPopUp:InitPopUp()
|
|
self.title = self:FindComponent("TitleLabel", UILabel);
|
|
self.guildName = self:FindComponent("GuildName", UILabel);
|
|
self.guildLevel = self:FindComponent("GuildLevel", UILabel);
|
|
self.guildMemberNum = self:FindComponent("GuildMemberNum", UILabel);
|
|
|
|
self.level = self:FindComponent("Level", UILabel);
|
|
self.desc = self:FindComponent("Desc", UILabel);
|
|
self.errorTip = self:FindComponent("ErrorTip", UILabel);
|
|
|
|
self.fightButton = self:FindGO("FightButton");
|
|
self.fightButton_sp = self.fightButton:GetComponent(UISprite);
|
|
self.fightButton_collider = self.fightButton:GetComponent(BoxCollider);
|
|
self.fightButton_label = self:FindComponent("Label", UILabel, self.fightButton);
|
|
self:AddClickEvent(self.fightButton, function (go)
|
|
self:DoFight();
|
|
end);
|
|
|
|
local headCellGO = self:FindGO("GuildHeadCell");
|
|
self.guildHeadCell = GuildHeadCell.new(headCellGO);
|
|
|
|
self.guildIcon = self:FindComponent("GuildIcon", UISprite);
|
|
|
|
self.noneTip = self:FindGO("NoneTip");
|
|
|
|
self.noOpenTip = self:FindGO("NoOpenTip");
|
|
self.buttons = self:FindGO("Buttons");
|
|
|
|
self.downInfo = self:FindGO("DownInfo");
|
|
self.bg = self:FindComponent("Bg", UISprite);
|
|
end
|
|
|
|
function GvgLandInfoPopUp:ActiveFightButton(b)
|
|
if(b)then
|
|
self.fightButton_sp.color = ColorUtil.NGUIWhite;
|
|
self.fightButton_collider.enabled = true;
|
|
self.fightButton_label.effectColor = ColorUtil.ButtonLabelOrange;
|
|
else
|
|
self.fightButton_sp.color = ColorUtil.NGUIShaderGray;
|
|
self.fightButton_collider.enabled = false;
|
|
self.fightButton_label.effectColor = ColorUtil.NGUIGray;
|
|
end
|
|
end
|
|
|
|
function GvgLandInfoPopUp:DoFight()
|
|
-- if GvgProxy.Instance:IsInFightingTime() then
|
|
-- helplog("Call-->GoCityGateMapCmd:", self.flagid);
|
|
-- ServiceMapProxy.Instance:CallGoCityGateMapCmd(self.flagid)
|
|
-- end
|
|
|
|
local nowZoneid = MyselfProxy.Instance:GetZoneId();
|
|
local myGuildData = GuildProxy.Instance.myGuildData;
|
|
if(myGuildData == nil or myGuildData.zoneid ~= nowZoneid)then
|
|
MsgManager.ConfirmMsgByID(2215, function ()
|
|
ServiceMapProxy.Instance:CallGoCityGateMapCmd(self.flagid)
|
|
self:CloseSelf();
|
|
end)
|
|
return;
|
|
end
|
|
|
|
ServiceMapProxy.Instance:CallGoCityGateMapCmd(self.flagid)
|
|
|
|
self:CloseSelf();
|
|
end
|
|
|
|
function GvgLandInfoPopUp:UpdatePopUp()
|
|
self.ruleGuild, self.ruleGuild_type = GvgProxy.Instance:GetRuleGuildInfo(self.flagid);
|
|
|
|
if(self.ruleGuild ~= nil and self.ruleGuild_type == 2)then
|
|
if(self.ruleGuild.guildid == nil or self.ruleGuild.guildid == 0)then
|
|
self.ruleGuild = nil;
|
|
end
|
|
end
|
|
|
|
if(self.ruleGuild)then
|
|
self.noneTip:SetActive(false);
|
|
|
|
local ruleGuild_lv = self.ruleGuild.lv or 0;
|
|
self.level.text = "Lv." .. ruleGuild_lv;
|
|
|
|
self.guildName.text = self.ruleGuild.name;
|
|
self.guildMemberNum.text = self.ruleGuild.membercount or 0;
|
|
self.guildLevel.text = ruleGuild_lv;
|
|
|
|
local headData = GuildHeadData.new();
|
|
headData:SetBy_InfoId(self.ruleGuild.portrait);
|
|
|
|
local ruleid = self.ruleGuild_type == 1 and self.ruleGuild.id or self.ruleGuild.guildid;
|
|
headData:SetGuildId(ruleid);
|
|
self.guildHeadCell:SetData(headData);
|
|
|
|
local guildIconData = Table_Guild_Icon[self.ruleGuild.portrait]
|
|
local guildIcon = guildIconData and guildIconData.Icon or nil;
|
|
if(guildIcon ~= nil)then
|
|
IconManager:SetGuildIcon(guildIcon, self.guildIcon);
|
|
end
|
|
else
|
|
self.level.text = "";
|
|
|
|
self.noneTip:SetActive(true);
|
|
|
|
self.guildName.text = ZhString.GvgLandInfoPopUp_NoRuleTip;
|
|
self.guildMemberNum.text = ZhString.GvgLandInfoPopUp_None;
|
|
self.guildLevel.text = ZhString.GvgLandInfoPopUp_None;
|
|
|
|
self.guildHeadCell:SetData();
|
|
end
|
|
|
|
if(GvgProxy.Instance:IsInFightingTime())then
|
|
self.fightButton_label.text = ZhString.GvgLandInfoPopUp_JoinFight;
|
|
else
|
|
self.fightButton_label.text = ZhString.GvgLandInfoPopUp_EnterArea;
|
|
end
|
|
|
|
local config = Table_Guild_StrongHold and Table_Guild_StrongHold[self.flagid];
|
|
if(config)then
|
|
self.title.text = config.Name;
|
|
self.desc.text = config.Text;
|
|
else
|
|
self.title.text = "Not Find Config";
|
|
self.desc.text = string.format("Not Find FlagConfig:%s In Table_Guild_StrongHold", self.flagid);
|
|
end
|
|
|
|
self:UpdateFightState();
|
|
end
|
|
|
|
function GvgLandInfoPopUp:UpdateFightState(note)
|
|
local open = true;
|
|
if(note)then
|
|
open = note.body.cityopen == true;
|
|
end
|
|
self.buttons:SetActive(open);
|
|
self.noOpenTip:SetActive(not open);
|
|
|
|
if(GvgProxy.Instance:IsInFightingTime())then
|
|
self:ActiveFightButton(true);
|
|
else
|
|
self:ActiveFightButton(false);
|
|
end
|
|
|
|
local config = Table_Guild_StrongHold and Table_Guild_StrongHold[self.flagid];
|
|
if(config)then
|
|
self.desc.text = config.Text;
|
|
else
|
|
self.desc.text = string.format("Not Find FlagConfig:%s In Table_Guild_StrongHold", self.flagid);
|
|
end
|
|
|
|
local myGuildData = GuildProxy.Instance.myGuildData;
|
|
local myGuildId = myGuildData and myGuildData.id or 0;
|
|
if(self.ruleGuild == nil)then
|
|
self.errorTip.text = "";
|
|
return;
|
|
end
|
|
local ruleid = self.ruleGuild_type == 1 and self.ruleGuild.id or self.ruleGuild.guildid;
|
|
if(ruleid == myGuildId)then
|
|
-- 自己的公會
|
|
self.errorTip.text = ZhString.GvgLandInfoPopUp_MyLandTip;
|
|
return;
|
|
end
|
|
|
|
if(not GvgProxy.Instance:IsInFightingTime())then
|
|
-- 不在公會戰時間
|
|
local openTime = GvgProxy.Instance:GetGvgOpenTime();
|
|
local timeDateInfo = os.date("*t", openTime);
|
|
|
|
self.errorTip.text = string.format(ZhString.GvgLandInfoPopUp_OpenTip, timeDateInfo.month, timeDateInfo.day, timeDateInfo.hour);
|
|
return;
|
|
end
|
|
|
|
self.errorTip.text = "";
|
|
end
|
|
|
|
function GvgLandInfoPopUp:ActiveDownInfo(b)
|
|
self.downInfo:SetActive(b);
|
|
if(b)then
|
|
self.bg.height = 524;
|
|
else
|
|
self.bg.height = 434;
|
|
end
|
|
end
|
|
|
|
function GvgLandInfoPopUp:MapEvent()
|
|
self:AddListenEvt(ServiceEvent.FuBenCmdGuildFireStatusFubenCmd, self.UpdateFightState);
|
|
self:AddListenEvt(ServiceEvent.PlayerMapChange, self.HandlePlayerMapChange);
|
|
end
|
|
|
|
function GvgLandInfoPopUp:HandlePlayerMapChange(note)
|
|
self:CloseSelf();
|
|
end
|
|
|
|
function GvgLandInfoPopUp:OnEnter()
|
|
GvgLandInfoPopUp.super.OnEnter(self);
|
|
|
|
self.flagid = self.viewdata.viewdata.flagid;
|
|
|
|
self:UpdatePopUp();
|
|
|
|
self.hideDownInfo = self.viewdata.viewdata.hide_downinfo;
|
|
self:ActiveDownInfo(self.hideDownInfo ~= true);
|
|
|
|
ServiceFuBenCmdProxy.Instance:CallGuildFireStatusFubenCmd(nil, nil, self.flagid);
|
|
end
|
|
|
|
function GvgLandInfoPopUp:OnExit()
|
|
GvgLandInfoPopUp.super.OnExit(self);
|
|
|
|
end |