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

187 lines
9.0 KiB
Lua
Raw Normal View History

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