miduo_client/Assets/ManagedResources/~Lua/Modules/Guild/Aid/GuildAid_GuildAid.lua

139 lines
7.4 KiB
Lua
Raw Normal View History

2021-04-21 13:12:04 +08:00
local this = {}
2020-05-15 16:52:35 +08:00
local guildHelpConfig = ConfigManager.GetConfig(ConfigName.GuildHelpConfig)
local itemConfig = ConfigManager.GetConfig(ConfigName.ItemConfig)
--初始化组件(用于子类重写)
function this:InitComponent(gameObject)
2021-04-21 13:12:04 +08:00
this.spLoader = SpriteLoader.New()
2020-05-15 16:52:35 +08:00
this.emptyObj = Util.GetGameObject(gameObject, "GuildAid_GuildAid/emptyObj")
this.titleText = Util.GetGameObject(gameObject, "GuildAid_GuildAid/titleText"):GetComponent("Text")
this.ItemPre = Util.GetGameObject(gameObject, "GuildAid_GuildAid/ItemPre")
local v2 = Util.GetGameObject(gameObject, "GuildAid_GuildAid/ScrollParentView"):GetComponent("RectTransform").rect
this.ScrollView = SubUIManager.Open(SubUIConfig.ScrollCycleView, Util.GetGameObject(gameObject, "GuildAid_GuildAid/ScrollParentView").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
2020-07-02 14:53:44 +08:00
this.isClickAid = true
2020-05-15 16:52:35 +08:00
--绑定事件(用于子类重写)
function this:BindEvent()
Util.AddClick(this.aidBtn, function()
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()
2020-07-02 14:53:44 +08:00
this.isClickAid = true
2021-02-26 14:52:59 +08:00
this.ShowPanelData(true,true)
2020-05-15 16:52:35 +08:00
end
2021-02-26 14:52:59 +08:00
function this.ShowPanelData(isTop,isAni)
2020-06-12 18:04:22 +08:00
if MyGuildManager.MyFeteInfo.guildHelpTime < guildHelpConfig[1].HelpTime[1] then
2021-03-02 16:53:12 +08:00
this.titleText.text = Language[10978]..guildHelpConfig[1].HelpTime[1] - MyGuildManager.MyFeteInfo.guildHelpTime.."/"..guildHelpConfig[1].HelpTime[1]..")"
2020-06-12 18:04:22 +08:00
else
local curNum = MyGuildManager.MyFeteInfo.guildHelpTime - guildHelpConfig[1].HelpTime[1]
local item = ConfigManager.GetConfigData(ConfigName.GuildHelpConfig,1).Expend[1]
2021-03-02 16:53:12 +08:00
this.titleText.text = GetLanguageStrById(ConfigManager.GetConfigData(ConfigName.ItemConfig,item).Name)..Language[10979]..guildHelpConfig[1].HelpTime[2] - curNum.."/".. guildHelpConfig[1].HelpTime[2]..")"
2020-06-12 18:04:22 +08:00
end
2020-05-15 16:52:35 +08:00
local allMyAidData = MyGuildManager.GetAllGuildHelpInfo()
2020-07-02 14:53:44 +08:00
if #allMyAidData <= 0 and not MyGuildManager.isPanelRequest then
MyGuildManager.isPanelRequest = true
2020-05-15 16:52:35 +08:00
NetManager.GuildHelpGetAllRequest(function (msg)
allMyAidData = MyGuildManager.GetAllGuildHelpInfo()
this.ScrollView:SetData(allMyAidData, function (index, go)
this.SingleHelpAidDataShow(go, allMyAidData[index])
end,not isTop,not isAni)
this.emptyObj:SetActive(#allMyAidData <= 0)
2020-05-15 16:52:35 +08:00
end)
else
this.ScrollView:SetData(allMyAidData, function (index, go)
this.SingleHelpAidDataShow(go, allMyAidData[index])
2021-02-26 14:52:59 +08:00
end,not isTop,not isAni)
2020-05-15 16:52:35 +08:00
end
this.emptyObj:SetActive(#allMyAidData <= 0)
end
function this.SingleHelpAidDataShow(go,data)
2020-05-25 19:16:23 +08:00
if not data.type or not itemConfig[data.type] then return end
2021-04-21 13:12:04 +08:00
Util.GetGameObject(go, "heroPro/frame"):GetComponent("Image").sprite = this.spLoader:LoadSprite(GetHeroQuantityImageByquality(itemConfig[data.type].Quantity))
Util.GetGameObject(go, "heroPro/frame/Icon"):GetComponent("Image").sprite = this.spLoader:LoadSprite(GetResourcePath(itemConfig[data.type].ResourceID))
Util.GetGameObject(go, "heroPro/frame/chipImage"):GetComponent("Image").sprite = this.spLoader:LoadSprite(GetHeroChipQuantityImageByquality(itemConfig[data.type].Quantity))
Util.GetGameObject(go, "heroPro/frame/proIcon"):GetComponent("Image").sprite = this.spLoader:LoadSprite(GetProStrImageByProNum(itemConfig[data.type].PropertyName))
2020-05-15 16:52:35 +08:00
Util.GetGameObject(go, "okAid/chipInfo"):GetComponent("Text").text = data.name
2021-02-23 20:18:25 +08:00
Util.GetGameObject(go, "okAid/getAidText/getAidNumText"):GetComponent("Text").text =GetLanguageStrById(itemConfig[data.type].Name).. "("..data.num.."/"..guildHelpConfig[1].RecourseTime[2]..")"
2024-05-22 18:07:09 +08:00
Util.GetGameObject(go, "okAid/progressbar/progress1"):GetComponent("Image").fillAmount = data.num/guildHelpConfig[1].RecourseTime[2]
Util.GetGameObject(go, "okAid/progressbar/progress2"):SetActive(false)
2020-05-15 16:52:35 +08:00
local getRewardBtn = Util.GetGameObject(go, "okAid/getRewardBtn")
local zongNum = guildHelpConfig[1].HelpTime[1] + guildHelpConfig[1].HelpTime[2]
2020-06-13 11:47:13 +08:00
Util.GetGameObject(getRewardBtn, "goldAid"):SetActive(MyGuildManager.MyFeteInfo.guildHelpTime >= guildHelpConfig[1].HelpTime[1] and MyGuildManager.MyFeteInfo.guildHelpTime < zongNum)
2020-05-15 16:52:35 +08:00
if MyGuildManager.MyFeteInfo.guildHelpTime < guildHelpConfig[1].HelpTime[1] then
--免费
2021-03-02 16:53:12 +08:00
Util.GetGameObject(getRewardBtn, "Text"):GetComponent("Text").text = Language[10980]
2020-05-15 16:52:35 +08:00
Util.AddOnceClick(getRewardBtn, function()
2020-07-02 14:53:44 +08:00
if this.isClickAid then
this.isClickAid = false
NetManager.GuildHelpHelpOtherRequest(data.uid,data.type,function (msg)
this.ShowRewardAndRefreshPanel(msg)
end)
end
2020-05-15 16:52:35 +08:00
end)
elseif MyGuildManager.MyFeteInfo.guildHelpTime >= guildHelpConfig[1].HelpTime[1] and MyGuildManager.MyFeteInfo.guildHelpTime < zongNum then
--元宝
2021-04-21 13:12:04 +08:00
Util.GetGameObject(getRewardBtn, "goldAid/icon"):GetComponent("Image").sprite = this.spLoader:LoadSprite(GetResourcePath(itemConfig[guildHelpConfig[1].Expend[1]].ResourceID))
2020-05-15 16:52:35 +08:00
Util.GetGameObject(getRewardBtn, "goldAid/Text"):GetComponent("Text").text = guildHelpConfig[1].Expend[2]
2021-03-02 16:53:12 +08:00
Util.GetGameObject(getRewardBtn, "Text"):GetComponent("Text").text = Language[10981]
2020-05-15 16:52:35 +08:00
Util.AddOnceClick(getRewardBtn, function()
2020-07-02 14:53:44 +08:00
if this.isClickAid then
this.isClickAid = false
if BagManager.GetItemCountById(guildHelpConfig[1].Expend[1]) < guildHelpConfig[1].Expend[2] then
2021-03-02 16:53:12 +08:00
PopupTipPanel.ShowTip(Language[10982])
2020-07-02 14:53:44 +08:00
return
end
NetManager.GuildHelpHelpOtherRequest(data.uid,data.type,function (msg)
this.ShowRewardAndRefreshPanel(msg)
end)
2020-05-15 16:52:35 +08:00
end
end)
else
2021-03-02 16:53:12 +08:00
Util.GetGameObject(getRewardBtn, "Text"):GetComponent("Text").text = Language[10981]
2020-05-15 16:52:35 +08:00
Util.AddOnceClick(getRewardBtn, function()
2021-03-02 16:53:12 +08:00
PopupTipPanel.ShowTip(Language[10982])
2020-05-15 16:52:35 +08:00
end)
end
end
--界面关闭时调用(用于子类重写)
function this:OnClose()
end
--界面销毁时调用(用于子类重写)
function this:OnDestroy()
2021-04-21 13:12:04 +08:00
this.spLoader:Destroy()
2020-05-15 16:52:35 +08:00
end
2020-06-12 18:04:22 +08:00
function this.ShowRewardAndRefreshPanel(msg)
local content = {}
if msg.drop.itemlist ~= nil and #msg.drop.itemlist > 0 then
for i = 1, #msg.drop.itemlist do
local itemdata = {}
itemdata.configData = itemConfig[msg.drop.itemlist[i].itemId]
2021-01-26 17:08:39 +08:00
itemdata.name = GetLanguageStrById(itemdata.configData.Name)
2021-04-21 13:12:04 +08:00
itemdata.icon = this.spLoader:LoadSprite(GetResourcePath(itemdata.configData.ResourceID))
2020-06-12 18:04:22 +08:00
itemdata.num = msg.drop.itemlist[i].itemNum
table.insert(content, itemdata)
end
end
PopupText(content, 0.5, 2)
--UIManager.OpenPanel(UIName.RewardItemPopup,msg.drop,1,function ()
MyGuildManager.SetSingleGuildHelpguildHelpTimeData()
2020-07-02 14:53:44 +08:00
this.isClickAid = true
2021-02-26 14:52:59 +08:00
this.ShowPanelData(false,false)
2020-06-12 18:04:22 +08:00
end
2020-05-15 16:52:35 +08:00
return this