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

126 lines
6.4 KiB
Lua
Raw Normal View History

2020-05-15 16:52:35 +08:00
local this = {}
local guildHelpConfig = ConfigManager.GetConfig(ConfigName.GuildHelpConfig)
local itemConfig = ConfigManager.GetConfig(ConfigName.ItemConfig)
--初始化组件(用于子类重写)
function this:InitComponent(gameObject)
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
--绑定事件(用于子类重写)
function this:BindEvent()
Util.AddClick(this.aidBtn, function()
end)
end
--添加事件监听(用于子类重写)
function this:AddListener()
end
--移除事件监听(用于子类重写)
function this:RemoveListener()
end
--界面打开或者重新打开后,界面刷新时调用(用于子类重写)
function this:OnShow()
this.ShowPanelData()
end
function this.ShowPanelData()
2020-06-12 18:04:22 +08:00
if MyGuildManager.MyFeteInfo.guildHelpTime < guildHelpConfig[1].HelpTime[1] then
this.titleText.text = "免费援助次数("..MyGuildManager.MyFeteInfo.guildHelpTime.."/"..guildHelpConfig[1].HelpTime[1]..")"
else
local curNum = MyGuildManager.MyFeteInfo.guildHelpTime - guildHelpConfig[1].HelpTime[1]
local item = ConfigManager.GetConfigData(ConfigName.GuildHelpConfig,1).Expend[1]
this.titleText.text = ConfigManager.GetConfigData(ConfigName.ItemConfig,item).Name.."援助次数("..curNum.."/".. guildHelpConfig[1].HelpTime[2]..")"
end
2020-05-15 16:52:35 +08:00
local allMyAidData = MyGuildManager.GetAllGuildHelpInfo()
if #allMyAidData <= 0 then
NetManager.GuildHelpGetAllRequest(function (msg)
allMyAidData = MyGuildManager.GetAllGuildHelpInfo()
this.ScrollView:SetData(allMyAidData, function (index, go)
this.SingleHelpAidDataShow(go, allMyAidData[index])
end)
this.emptyObj:SetActive(#allMyAidData <= 0)
end)
else
this.ScrollView:SetData(allMyAidData, function (index, go)
this.SingleHelpAidDataShow(go, allMyAidData[index])
end)
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
2020-05-15 16:52:35 +08:00
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-05-15 17:03:13 +08:00
--LogError("data.name "..data.name)
2020-05-15 16:52:35 +08:00
Util.GetGameObject(go, "okAid/chipInfo"):GetComponent("Text").text = data.name
Util.GetGameObject(go, "okAid/getAidText"):GetComponent("Text").text = itemConfig[data.type].Name
Util.GetGameObject(go, "okAid/getAidText/getAidNumText"):GetComponent("Text").text = "("..data.num.."/"..guildHelpConfig[1].RecourseTime[2]..")"
Util.GetGameObject(go, "okAid/progressbar/progress"):GetComponent("Image").fillAmount = data.num/guildHelpConfig[1].RecourseTime[2]
local getRewardBtn = Util.GetGameObject(go, "okAid/getRewardBtn")
local zongNum = guildHelpConfig[1].HelpTime[1] + guildHelpConfig[1].HelpTime[2]
Util.GetGameObject(getRewardBtn, "goldAid"):SetActive(MyGuildManager.MyFeteInfo.guildHelpTime > guildHelpConfig[1].HelpTime[1] and MyGuildManager.MyFeteInfo.guildHelpTime < zongNum)
if MyGuildManager.MyFeteInfo.guildHelpTime < guildHelpConfig[1].HelpTime[1] then
--免费
Util.GetGameObject(getRewardBtn, "Text"):GetComponent("Text").text = "免费援助"
Util.AddOnceClick(getRewardBtn, function()
NetManager.GuildHelpHelpOtherRequest(data.uid,data.type,function (msg)
2020-06-12 18:04:22 +08:00
this.ShowRewardAndRefreshPanel(msg)
2020-05-15 16:52:35 +08:00
end)
end)
elseif MyGuildManager.MyFeteInfo.guildHelpTime >= guildHelpConfig[1].HelpTime[1] and MyGuildManager.MyFeteInfo.guildHelpTime < zongNum then
--元宝
Util.GetGameObject(getRewardBtn, "goldAid/icon"):GetComponent("Image").sprite = Util.LoadSprite(GetResourcePath(itemConfig[guildHelpConfig[1].Expend[1]].ResourceID))
Util.GetGameObject(getRewardBtn, "goldAid/Text"):GetComponent("Text").text = guildHelpConfig[1].Expend[2]
Util.GetGameObject(getRewardBtn, "Text"):GetComponent("Text").text = "援 助"
Util.AddOnceClick(getRewardBtn, function()
if BagManager.GetItemCountById(guildHelpConfig[1].Expend[1]) < guildHelpConfig[1].Expend[2] then
PopupTipPanel.ShowTip("元宝或援助次数不足!")
return
end
NetManager.GuildHelpHelpOtherRequest(data.uid,data.type,function (msg)
2020-06-12 18:04:22 +08:00
this.ShowRewardAndRefreshPanel(msg)
2020-05-15 16:52:35 +08:00
end)
end)
else
Util.GetGameObject(getRewardBtn, "Text"):GetComponent("Text").text = "援 助"
Util.AddOnceClick(getRewardBtn, function()
PopupTipPanel.ShowTip("元宝或援助次数不足!")
end)
end
end
--界面关闭时调用(用于子类重写)
function this:OnClose()
end
--界面销毁时调用(用于子类重写)
function this:OnDestroy()
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]
itemdata.name = itemdata.configData.Name
itemdata.icon = Util.LoadSprite(GetResourcePath(itemdata.configData.ResourceID))
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()
this.ShowPanelData()
end
2020-05-15 16:52:35 +08:00
return this