2020-08-25 15:46:38 +08:00
|
|
|
|
local this = {}
|
2020-05-15 16:52:35 +08:00
|
|
|
|
local guildHelpConfig = ConfigManager.GetConfig(ConfigName.GuildHelpConfig)
|
|
|
|
|
local itemConfig = ConfigManager.GetConfig(ConfigName.ItemConfig)
|
|
|
|
|
local allMyAidData = {}
|
|
|
|
|
--初始化组件(用于子类重写)
|
|
|
|
|
function this:InitComponent(gameObject)
|
|
|
|
|
this.aidNumText = Util.GetGameObject(gameObject, "GuildAid_MyAid/aidNumText"):GetComponent("Text")
|
|
|
|
|
this.refreshText = Util.GetGameObject(gameObject, "GuildAid_MyAid/refreshText"):GetComponent("Text")
|
|
|
|
|
this.aidBtn = Util.GetGameObject(gameObject, "GuildAid_MyAid/aidBtn")
|
|
|
|
|
this.boxBtn = Util.GetGameObject(gameObject, "GuildAid_MyAid/box")
|
|
|
|
|
this.boxRedPoint = Util.GetGameObject(gameObject, "GuildAid_MyAid/box/redPoint")
|
|
|
|
|
|
|
|
|
|
this.ItemPre = Util.GetGameObject(gameObject, "GuildAid_MyAid/ItemPre")
|
|
|
|
|
local v2 = Util.GetGameObject(gameObject, "GuildAid_MyAid/rect"):GetComponent("RectTransform").rect
|
|
|
|
|
this.ScrollView = SubUIManager.Open(SubUIConfig.ScrollCycleView, Util.GetGameObject(gameObject, "GuildAid_MyAid/rect").transform,
|
|
|
|
|
this.ItemPre, nil, Vector2.New(-v2.x*2, -v2.y*2), 1, 1, Vector2.New(50,-3))
|
|
|
|
|
this.ScrollView.moveTween.MomentumAmount = 1
|
|
|
|
|
this.ScrollView.moveTween.Strength = 1
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
--绑定事件(用于子类重写)
|
|
|
|
|
function this:BindEvent()
|
|
|
|
|
BindRedPointObject(RedPointType.Guild_AidBox, this.boxRedPoint)
|
|
|
|
|
Util.AddClick(this.aidBtn, function()
|
|
|
|
|
--您还未进行求援
|
|
|
|
|
local isSend = 0
|
|
|
|
|
for i = 1, #allMyAidData do
|
|
|
|
|
if not allMyAidData[i].type then
|
|
|
|
|
isSend = isSend + 1
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
if isSend == #allMyAidData then
|
2021-04-09 12:26:35 +08:00
|
|
|
|
PopupTipPanel.ShowTip(Language[10983])
|
2020-05-15 16:52:35 +08:00
|
|
|
|
return
|
|
|
|
|
end
|
2020-07-01 10:54:39 +08:00
|
|
|
|
local isFinish = 0
|
|
|
|
|
for i = 1, #allMyAidData do
|
|
|
|
|
if allMyAidData[i].num == allMyAidData[i].hadtakenum and allMyAidData[i].hadtakenum == guildHelpConfig[1].RecourseTime[2] then
|
|
|
|
|
isFinish = isFinish + 1
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
if isFinish >= 2 then
|
2021-04-09 12:26:35 +08:00
|
|
|
|
PopupTipPanel.ShowTip(Language[10984])
|
2020-07-01 10:54:39 +08:00
|
|
|
|
return
|
|
|
|
|
end
|
2020-05-15 16:52:35 +08:00
|
|
|
|
local itemId1 = nil
|
|
|
|
|
local itemId2 = nil
|
|
|
|
|
if MyGuildManager.MyFeteInfo.guildHelpInfo and #MyGuildManager.MyFeteInfo.guildHelpInfo > 0 then
|
|
|
|
|
for i = 1, #MyGuildManager.MyFeteInfo.guildHelpInfo do
|
|
|
|
|
if not itemId1 then
|
|
|
|
|
itemId1 = MyGuildManager.MyFeteInfo.guildHelpInfo[i].type
|
|
|
|
|
else
|
|
|
|
|
itemId2 = MyGuildManager.MyFeteInfo.guildHelpInfo[i].type
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
2020-05-25 19:16:23 +08:00
|
|
|
|
if not MyGuildManager.ShowGuildAidCdTime(false) then
|
|
|
|
|
MyGuildManager.ShowGuildAidCdTime()
|
|
|
|
|
return
|
|
|
|
|
end
|
2020-05-15 16:52:35 +08:00
|
|
|
|
NetManager.GuildSendHelpMessageRequest(function (msg)
|
|
|
|
|
if msg.sendMessage then
|
|
|
|
|
ChatManager.RequestSendGuildAid(itemId1,itemId2,function()
|
2021-04-09 12:26:35 +08:00
|
|
|
|
PopupTipPanel.ShowTip(Language[10985])
|
2020-05-25 19:16:23 +08:00
|
|
|
|
MyGuildManager.SetGuildHelpCDTimeData()
|
2020-05-15 16:52:35 +08:00
|
|
|
|
end)
|
|
|
|
|
else
|
2020-05-15 17:03:13 +08:00
|
|
|
|
MyGuildManager.ShowGuildAidCdTime()
|
2020-05-15 16:52:35 +08:00
|
|
|
|
end
|
|
|
|
|
end)
|
|
|
|
|
end)
|
|
|
|
|
Util.AddClick(this.boxBtn, function()
|
|
|
|
|
local isSengGetBoxReward = true
|
|
|
|
|
for i = 1, #allMyAidData do
|
|
|
|
|
if allMyAidData[i].maxNum ~= allMyAidData[i].hadtakenum then
|
|
|
|
|
isSengGetBoxReward = false
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
if not MyGuildManager.MyFeteInfo.isTakeGuildHelpReward and isSengGetBoxReward then
|
|
|
|
|
NetManager.GuildTakeHelpBoxRequest(function (msg)
|
|
|
|
|
MyGuildManager.SetMyAidBoxStateInfo(true)
|
|
|
|
|
UIManager.OpenPanel(UIName.RewardItemPopup,msg.drop,1,function ()
|
|
|
|
|
end)
|
|
|
|
|
end)
|
|
|
|
|
else
|
|
|
|
|
UIManager.OpenPanel(UIName.GeneralPopup,GENERAL_POPUP_TYPE.GuildAidFindBoxReward,function ()
|
|
|
|
|
end)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
end)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
--添加事件监听(用于子类重写)
|
|
|
|
|
function this:AddListener()
|
2020-06-13 11:47:13 +08:00
|
|
|
|
Game.GlobalEvent:AddEvent(GameEvent.Guild.RefreshGuildAid, this.ShowPanelData)
|
2020-05-15 16:52:35 +08:00
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
--移除事件监听(用于子类重写)
|
|
|
|
|
function this:RemoveListener()
|
2020-06-13 11:47:13 +08:00
|
|
|
|
Game.GlobalEvent:RemoveEvent(GameEvent.Guild.RefreshGuildAid, this.ShowPanelData)
|
2020-05-15 16:52:35 +08:00
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
--界面打开或者重新打开后,界面刷新时调用(用于子类重写)
|
|
|
|
|
function this:OnShow()
|
|
|
|
|
--this
|
2021-04-09 12:26:35 +08:00
|
|
|
|
this.refreshText.text = Language[12155]
|
2020-05-15 16:52:35 +08:00
|
|
|
|
this.ShowPanelData()
|
|
|
|
|
end
|
|
|
|
|
function this.ShowPanelData()
|
|
|
|
|
allMyAidData = {}
|
|
|
|
|
for i = 1, guildHelpConfig[1].RecourseTime[1] do
|
|
|
|
|
local GuildHelpInfo = {}
|
|
|
|
|
GuildHelpInfo.type = nil
|
|
|
|
|
GuildHelpInfo.num = nil
|
|
|
|
|
GuildHelpInfo.hadtakenum = nil
|
|
|
|
|
GuildHelpInfo.maxNum = guildHelpConfig[1].RecourseTime[2]
|
|
|
|
|
table.insert(allMyAidData,GuildHelpInfo)
|
|
|
|
|
end
|
|
|
|
|
local curAidNum = 0
|
|
|
|
|
if MyGuildManager.MyFeteInfo.guildHelpInfo and #MyGuildManager.MyFeteInfo.guildHelpInfo > 0 then
|
|
|
|
|
for i = 1, #MyGuildManager.MyFeteInfo.guildHelpInfo do
|
|
|
|
|
local curguildHelpInfo = MyGuildManager.MyFeteInfo.guildHelpInfo[i]
|
|
|
|
|
--LogError("MyGuildManager.MyFeteInfo.guildHelpInfo "..i.." "..curguildHelpInfo.type.." "..curguildHelpInfo.num)
|
|
|
|
|
if allMyAidData[i] then
|
|
|
|
|
allMyAidData[i].type = curguildHelpInfo.type
|
|
|
|
|
allMyAidData[i].num = curguildHelpInfo.num
|
|
|
|
|
allMyAidData[i].hadtakenum = curguildHelpInfo.hadtakenum
|
2020-06-13 11:47:13 +08:00
|
|
|
|
--LogGreen("allMyAidData[i].num "..allMyAidData[i].num.." "..allMyAidData[i].hadtakenum.." "..guildHelpConfig[1].RecourseTime[2])
|
|
|
|
|
if allMyAidData[i].num == allMyAidData[i].hadtakenum and allMyAidData[i].hadtakenum == guildHelpConfig[1].RecourseTime[2] then
|
2020-06-12 18:04:22 +08:00
|
|
|
|
curAidNum = curAidNum + 1
|
|
|
|
|
end
|
2020-05-15 16:52:35 +08:00
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
2021-04-09 12:26:35 +08:00
|
|
|
|
this.aidNumText.text = Language[10987]..curAidNum.."/"..guildHelpConfig[1].RecourseTime[1]..")"
|
2020-05-15 16:52:35 +08:00
|
|
|
|
this.ScrollView:SetData(allMyAidData, function (index, go)
|
|
|
|
|
this.SingleHelpDataShow(go, allMyAidData[index])
|
2021-02-26 17:26:45 +08:00
|
|
|
|
end,true,true)
|
2020-05-15 16:52:35 +08:00
|
|
|
|
end
|
|
|
|
|
function this.SingleHelpDataShow(go,data)
|
|
|
|
|
local isHave = data.type ~= nil
|
|
|
|
|
Util.GetGameObject(go, "heroPro/frame"):SetActive(isHave)
|
|
|
|
|
Util.GetGameObject(go, "noAid"):SetActive(not isHave)
|
|
|
|
|
Util.GetGameObject(go, "okAid"):SetActive(isHave)
|
2021-04-09 12:26:35 +08:00
|
|
|
|
Util.GetGameObject(go, "noAid/tipText"):GetComponent("Text").text = Language[10988]
|
2020-05-15 16:52:35 +08:00
|
|
|
|
if isHave then
|
|
|
|
|
--LogError("data.type "..data.type.." " ..data.num .." ".. data.hadtakenum.." "..guildHelpConfig[1].RecourseTime[2])
|
|
|
|
|
Util.GetGameObject(go, "heroPro/frame"):GetComponent("Image").sprite = Util.LoadSprite(GetHeroQuantityImageByquality(itemConfig[data.type].Quantity))
|
2020-05-25 19:16:23 +08:00
|
|
|
|
Util.GetGameObject(go, "heroPro/frame/Icon"):GetComponent("Image").sprite = Util.LoadSprite(GetResourcePath(itemConfig[data.type].ResourceID))
|
2020-05-15 16:52:35 +08:00
|
|
|
|
Util.GetGameObject(go, "heroPro/frame/chipImage"):GetComponent("Image").sprite = Util.LoadSprite(GetHeroChipQuantityImageByquality(itemConfig[data.type].Quantity))
|
2020-06-13 11:47:13 +08:00
|
|
|
|
Util.GetGameObject(go, "heroPro/frame/proIcon"):GetComponent("Image").sprite = Util.LoadSprite(GetProStrImageByProNum(itemConfig[data.type].PropertyName))
|
2021-01-26 17:08:39 +08:00
|
|
|
|
Util.GetGameObject(go, "okAid/chipInfo"):GetComponent("Text").text = GetLanguageStrById(itemConfig[data.type].Name)
|
2021-04-09 12:26:35 +08:00
|
|
|
|
Util.GetGameObject(go, "okAid/getAidText/getAidNumText"):GetComponent("Text").text =Language[12187]..data.num.."/"..guildHelpConfig[1].RecourseTime[2]
|
2020-05-15 16:52:35 +08:00
|
|
|
|
Util.GetGameObject(go, "okAid/getFinishText"):SetActive(data.num == data.hadtakenum and data.hadtakenum == guildHelpConfig[1].RecourseTime[2])
|
|
|
|
|
Util.GetGameObject(go, "okAid/progressbar/progress1"):GetComponent("Image").fillAmount = data.num/guildHelpConfig[1].RecourseTime[2]
|
|
|
|
|
Util.GetGameObject(go, "okAid/progressbar/progress2"):GetComponent("Image").fillAmount = data.hadtakenum/guildHelpConfig[1].RecourseTime[2]
|
|
|
|
|
local getRewardBtn = Util.GetGameObject(go, "okAid/getRewardBtn")
|
|
|
|
|
getRewardBtn:SetActive(not (data.num == data.hadtakenum and data.hadtakenum == guildHelpConfig[1].RecourseTime[2]))
|
|
|
|
|
Util.SetGray(getRewardBtn, data.num == data.hadtakenum)
|
|
|
|
|
getRewardBtn:GetComponent("Button").enabled = not (data.num == data.hadtakenum)
|
|
|
|
|
Util.AddOnceClick(getRewardBtn, function()
|
|
|
|
|
NetManager.GuildTakeHelpRewardRequest(data.type,function(msg)
|
|
|
|
|
UIManager.OpenPanel(UIName.RewardItemPopup,msg.drop,1,function ()
|
2020-07-02 17:04:46 +08:00
|
|
|
|
|
2020-05-15 16:52:35 +08:00
|
|
|
|
end)
|
2020-07-02 17:04:46 +08:00
|
|
|
|
MyGuildManager.SetMyAidInfoHadtakenum(data.type,data.num - data.hadtakenum)
|
|
|
|
|
this.ShowPanelData()
|
2020-05-15 16:52:35 +08:00
|
|
|
|
end)
|
|
|
|
|
end)
|
|
|
|
|
else
|
|
|
|
|
Util.AddOnceClick(Util.GetGameObject(go, "noAid/clickBtn"), function()
|
|
|
|
|
UIManager.OpenPanel(UIName.GeneralPopup,GENERAL_POPUP_TYPE.GuildAid,function ()
|
|
|
|
|
this.ShowPanelData()
|
|
|
|
|
end)
|
|
|
|
|
end)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
--界面关闭时调用(用于子类重写)
|
|
|
|
|
function this:OnClose()
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
--界面销毁时调用(用于子类重写)
|
|
|
|
|
function this:OnDestroy()
|
|
|
|
|
ClearRedPointObject(RedPointType.Guild_AidBox)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
return this
|