132 lines
3.8 KiB
Plaintext
132 lines
3.8 KiB
Plaintext
autoImport("GuildBuildingCell")
|
|
GuildBuildingView = class("GuildBuildingView",ContainerView)
|
|
GuildBuildingView.ViewType = UIViewType.NormalLayer
|
|
|
|
function GuildBuildingView:Init()
|
|
self:FindObjs()
|
|
self:MapListenEvt()
|
|
self:InitUIView()
|
|
end
|
|
|
|
function GuildBuildingView:FindObjs()
|
|
self.titleLab = self:FindComponent("Title",UILabel)
|
|
self.ScrollView = self:FindGO("ScrollView")
|
|
self.container = self:FindGO("Container")
|
|
end
|
|
|
|
function GuildBuildingView:MapListenEvt()
|
|
self:AddListenEvt(ServiceEvent.GuildCmdBuildingNtfGuildCmd, self.HandleBuildingNtf)
|
|
end
|
|
|
|
local params = {}
|
|
local format = string.format
|
|
function GuildBuildingView:HandleBuildingNtf(note)
|
|
local buildings = note.body.buildings
|
|
if(buildings and #buildings==1)then
|
|
local cellData=buildings[1]
|
|
local buildingData = GuildBuildingData.new();
|
|
buildingData:SetData(cellData)
|
|
if(buildingData.isbuilding and buildingData.staticData)then
|
|
TableUtility.ArrayClear(params)
|
|
params[1] = buildingData.staticData.Name
|
|
params[2] = buildingData.staticData.Level>0 and format(ZhString.GuildBuilding_StartBuild,ZhString.GuildBuilding_Levelup) or format(ZhString.GuildBuilding_StartBuild,ZhString.GuildBuilding_Build)
|
|
MsgManager.ShowMsgByIDTable(3714, params)
|
|
self:CloseSelf()
|
|
end
|
|
end
|
|
self:UpdataBuilding();
|
|
end
|
|
|
|
function GuildBuildingView:CallBuildingSubmitCountGuildCmd(type)
|
|
ServiceGuildCmdProxy.Instance:CallBuildingSubmitCountGuildCmd(type)
|
|
end
|
|
|
|
|
|
function GuildBuildingView:InitUIView()
|
|
self.titleLab.text=ZhString.GuildBuilding_TitleName
|
|
if(self.wrapHelper == nil)then
|
|
local wrapConfig = {
|
|
wrapObj = self.container,
|
|
pfbNum = 5,
|
|
cellName = "GuildBuildingCell",
|
|
control = GuildBuildingCell,
|
|
dir = 2,
|
|
}
|
|
self.wrapHelper = WrapCellHelper.new(wrapConfig)
|
|
self.wrapHelper:AddEventListener(MouseEvent.MouseClick, self.OpenTips, self)
|
|
self.wrapHelper:AddEventListener(GuildBuildingEvent.OnClickBuildBtn, self.StartBuild, self);
|
|
end
|
|
self:UpdataBuilding()
|
|
end
|
|
|
|
function GuildBuildingView:OpenTips(cellCtl)
|
|
if(cellCtl and cellCtl.data)then
|
|
if(self.chooseTip~=cellCtl.data.type)then
|
|
self.chooseTip=cellCtl.data.type
|
|
if(UIUtil.isClickLeftScreenArea())then
|
|
self:ShowBuildingTip(cellCtl.data,cellCtl.icon,NGUIUtil.AnchorSide.Right,{190,-62})
|
|
else
|
|
self:ShowBuildingTip(cellCtl.data,cellCtl.icon,NGUIUtil.AnchorSide.Left,{-190,-62})
|
|
end
|
|
else
|
|
TipManager.Instance:CloseTip()
|
|
self.chooseTip=nil
|
|
end
|
|
end
|
|
end
|
|
|
|
function GuildBuildingView:StartBuild(cellCtl)
|
|
if(cellCtl and cellCtl.data)then
|
|
local result = GuildBuildingProxy.Instance:GetBuildAuth()
|
|
if(result==GuildBuildingProxy.BuildAuth.EBuildAuth_OnBuild)then
|
|
MsgManager.ShowMsgByID(3700)
|
|
return
|
|
end
|
|
if(result==GuildBuildingProxy.BuildAuth.EBuildAuth_OnCD)then
|
|
MsgManager.ShowMsgByID(3705)
|
|
return
|
|
end
|
|
local data = cellCtl.data
|
|
if(data:GetCondMenu())then
|
|
MsgManager.ShowMsgByID(3705) -- ID待配置
|
|
return
|
|
end
|
|
if(data:LvlLimited())then
|
|
MsgManager.ShowMsgByID(2868)
|
|
return
|
|
end
|
|
local myGuildLv = GuildProxy.Instance.myGuildData.level
|
|
if data.level <GameConfig.Guild.building_check_lv and data.level>=myGuildLv then
|
|
MsgManager.ShowMsgByID(3701)
|
|
return
|
|
end
|
|
ServiceGuildCmdProxy.Instance:CallBuildGuildCmd(data.type)
|
|
end
|
|
end
|
|
|
|
function GuildBuildingView:ShowBuildingTip(data,stick,side,offset)
|
|
local sdata = {
|
|
itemdata = data,
|
|
ignoreBounds = ignoreBounds,
|
|
};
|
|
|
|
local tip = TipManager.Instance:ShowGuildBuildingTip(sdata,stick,side,offset)
|
|
tip:AddIgnoreBounds(self.ScrollView)
|
|
end
|
|
|
|
function GuildBuildingView:UpdataBuilding()
|
|
local data = GuildBuildingProxy.Instance.BuildingData
|
|
if(data)then
|
|
self.wrapHelper:UpdateInfo(data)
|
|
end
|
|
end
|
|
|
|
function GuildBuildingView:OnEnter()
|
|
GuildBuildingView.super.OnEnter(self);
|
|
end
|
|
|
|
function GuildBuildingView:OnExit()
|
|
PictureManager.Instance:UnLoadUI()
|
|
GuildBuildingView.super.OnExit(self);
|
|
end
|