2021-04-21 13:12:04 +08:00
|
|
|
|
---
|
2020-05-09 13:31:21 +08:00
|
|
|
|
--- Generated by EmmyLua(https://github.com/EmmyLua)
|
|
|
|
|
--- Created by aaa.
|
|
|
|
|
--- DateTime: 2019/8/30 15:40
|
|
|
|
|
---
|
|
|
|
|
local MatchFight = quick_class("MatchFight")
|
|
|
|
|
local bloodyTask = ConfigManager.GetConfig(ConfigName.BloodyBattleTask)
|
|
|
|
|
|
|
|
|
|
function MatchFight:ctor(parent, root)
|
|
|
|
|
self.root = root
|
|
|
|
|
self:InitComponent(root)
|
|
|
|
|
self:BindEvent()
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
function MatchFight:InitComponent(root)
|
2021-04-21 13:12:04 +08:00
|
|
|
|
self.spLoader = SpriteLoader.New()
|
2020-05-09 13:31:21 +08:00
|
|
|
|
self.btnFormat = Util.GetGameObject(root, "flag/btnFormat")
|
|
|
|
|
self.btnMatch = Util.GetGameObject(root, "rewardRoot/btnMatch")
|
|
|
|
|
-- 积分
|
|
|
|
|
self.score = Util.GetGameObject(root, "flag/Img/score"):GetComponent("Text")
|
|
|
|
|
-- 段位
|
|
|
|
|
self.level = Util.GetGameObject(root, "flag/KingLevel"):GetComponent("Text")
|
|
|
|
|
-- 结束时间
|
|
|
|
|
self.endTime = Util.GetGameObject(root, "flag/timeInfo/time"):GetComponent("Text")
|
|
|
|
|
self.roleList = {}
|
|
|
|
|
self.demoList = {}
|
|
|
|
|
self.btnBox = {}
|
|
|
|
|
|
|
|
|
|
-- 下标对应的任务ID
|
|
|
|
|
self.missionIdList = {}
|
|
|
|
|
|
|
|
|
|
-- 5个编队数据
|
|
|
|
|
for i = 1, 5 do
|
|
|
|
|
self.roleList[i] = Util.GetGameObject(root, "flag/roleList/head_" .. i)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- 3只异妖
|
|
|
|
|
for j = 1, 3 do
|
|
|
|
|
self.demoList[j] = Util.GetGameObject(root, "flag/demonList/deomon_" .. j)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
self.scoreProgress = Util.GetGameObject(root, "rewardBg/score/progress"):GetComponent("Slider")
|
|
|
|
|
self.scoreText = Util.GetGameObject(root, "rewardBg/score/progress/Text"):GetComponent("Text")
|
|
|
|
|
self.scoreReward = Util.GetGameObject(root, "rewardBg/score/reward")
|
|
|
|
|
|
|
|
|
|
-- 每日任务的奖励
|
|
|
|
|
for k = 1, 4 do
|
|
|
|
|
self.btnBox[k] = Util.GetGameObject(root, "rewardRoot/rewardBg/daily/bxoRoot/reward_" .. k)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function MatchFight:BindEvent()
|
|
|
|
|
Util.AddClick(self.btnMatch, function ()
|
|
|
|
|
-- 校验编队
|
|
|
|
|
local checkPass = FormationManager.CheckFormationValid(FormationTypeDef.BLOODY_BATTLE_ATTACK)
|
|
|
|
|
if not checkPass then
|
2021-03-02 16:53:12 +08:00
|
|
|
|
PopupTipPanel.ShowTip(Language[10748])
|
2020-05-09 13:31:21 +08:00
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
UIManager.OpenPanel(UIName.MatchingPopup)
|
|
|
|
|
end)
|
|
|
|
|
|
|
|
|
|
Util.AddClick(self.btnFormat, function ()
|
|
|
|
|
UIManager.OpenPanel(UIName.FormationPanel, FORMATION_TYPE.BLOODY_BATTLE)
|
|
|
|
|
end)
|
|
|
|
|
|
|
|
|
|
Util.AddClick(self.scoreReward, function ()
|
|
|
|
|
UIManager.OpenPanel(UIName.MapFightRewardPanel)
|
|
|
|
|
end)
|
|
|
|
|
|
|
|
|
|
for i = 1, 4 do
|
|
|
|
|
Util.AddClick(self.btnBox[i], function ()
|
|
|
|
|
local info = TaskManager.GetTypeTaskInfo(TaskTypeDef.BloodyTask, self.missionIdList[i])
|
|
|
|
|
|
|
|
|
|
--local taskData = TaskManager.GetTypeTaskList(TaskTypeDef.BloodyTask)
|
|
|
|
|
--for i = 1, #taskData do
|
|
|
|
|
-- Log("MissionId == " .. taskData[i].missionId .. "Mission State == " .. taskData[i].state)
|
|
|
|
|
--end
|
|
|
|
|
|
|
|
|
|
if info.state == 0 then
|
2021-03-02 16:53:12 +08:00
|
|
|
|
PopupTipPanel.ShowTip(Language[10749])
|
2020-05-09 13:31:21 +08:00
|
|
|
|
elseif info.state == 1 then
|
|
|
|
|
NetManager.TakeMissionRewardRequest(TaskTypeDef.BloodyTask, info.missionId, function (msg)
|
|
|
|
|
UIManager.OpenPanel(UIName.RewardItemPopup, msg.drop, 1, function()
|
|
|
|
|
TaskManager.SetTypeTaskState(TaskTypeDef.BloodyTask, info.missionId)
|
|
|
|
|
self:ShowDailyRreward()
|
|
|
|
|
end)
|
|
|
|
|
end)
|
|
|
|
|
elseif info.state == 2 then
|
2021-03-02 16:53:12 +08:00
|
|
|
|
PopupTipPanel.ShowTip(Language[10750])
|
2020-05-09 13:31:21 +08:00
|
|
|
|
end
|
|
|
|
|
end)
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
function MatchFight:OnShow()
|
|
|
|
|
self.root:SetActive(true)
|
|
|
|
|
-- 初始化显示
|
|
|
|
|
self:InitShow()
|
|
|
|
|
|
|
|
|
|
-- 请求数据
|
|
|
|
|
NetManager.RequestBloodyScoreRewardData(function()
|
|
|
|
|
-- 显示奖励
|
|
|
|
|
self:ShowReward()
|
|
|
|
|
end)
|
|
|
|
|
|
|
|
|
|
-- 显示每日任务状态
|
|
|
|
|
self:ShowDailyRreward()
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
function MatchFight:ReShowPanel()
|
|
|
|
|
-- 刷新编队数据
|
|
|
|
|
self:ReFreshTeamInfo()
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- 编队以及时间显示
|
|
|
|
|
---- ===================================================
|
|
|
|
|
function MatchFight:InitShow()
|
|
|
|
|
local score = MatchDataManager.myScore >= 0 and MatchDataManager.myScore or 0
|
2021-03-02 16:53:12 +08:00
|
|
|
|
self.score.text = Language[10751] .. score
|
|
|
|
|
self.level.text = Language[10752] .. MatchDataManager.GetNickNameByScore(MatchDataManager.myScore)
|
2020-05-09 13:31:21 +08:00
|
|
|
|
self.endTime.text = ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
local upDate = function()
|
|
|
|
|
-- 定时器清除后,仍然会调用一次
|
|
|
|
|
local serData = ActTimeCtrlManager.GetSerDataByTypeId(47)
|
|
|
|
|
local endTime = serData.endTime
|
|
|
|
|
if not self.timer then return end
|
|
|
|
|
if PlayerManager.serverTime > endTime then
|
|
|
|
|
self.endTime.text = "00:00:00"
|
|
|
|
|
self.timer:Stop()
|
|
|
|
|
else
|
|
|
|
|
self.endTime.text = self:FormatTime(endTime - PlayerManager.serverTime)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if not self.timer then
|
|
|
|
|
self.timer = Timer.New(upDate, 1, -1 , true)
|
|
|
|
|
self.timer:Start()
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
function MatchFight:FormatTime(second)
|
|
|
|
|
local minute = math.floor(second / 60) % 60
|
|
|
|
|
local sec = second % 60
|
|
|
|
|
local hour = math.floor(math.floor(second - sec - minute * 60) / 3600)
|
|
|
|
|
|
|
|
|
|
return string.format("%02d:%02d:%02d", hour, minute, sec)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
function MatchFight:ReFreshTeamInfo()
|
|
|
|
|
local teamInfo = FormationManager.GetFormationByID(FormationTypeDef.BLOODY_BATTLE_ATTACK)
|
|
|
|
|
for i = 1, #teamInfo.teamHeroInfos do
|
|
|
|
|
local roleData = teamInfo.teamHeroInfos[i]
|
|
|
|
|
if roleData then
|
|
|
|
|
self.roleList[i]:SetActive(true)
|
|
|
|
|
local demonData = HeroManager.GetSingleHeroData(roleData.heroId)
|
2021-04-21 13:12:04 +08:00
|
|
|
|
self.roleList[i]:GetComponent("Image").sprite = self.spLoader:LoadSprite(GetQuantityImageByquality(demonData.heroConfig.Quality))
|
|
|
|
|
Util.GetGameObject(self.roleList[i], "icon"):GetComponent("Image").sprite = self.spLoader:LoadSprite(demonData.icon)
|
2020-05-09 13:31:21 +08:00
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
for d = #teamInfo.teamHeroInfos + 1, 5 do
|
|
|
|
|
self.roleList[d]:SetActive(false)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- 设置异妖
|
|
|
|
|
for j = 1, #teamInfo.teamPokemonInfos do
|
|
|
|
|
local demoInfo = teamInfo.teamPokemonInfos[j]
|
|
|
|
|
if demoInfo then
|
|
|
|
|
self.demoList[j]:SetActive(true)
|
|
|
|
|
local resId = ConfigManager.GetConfigData(ConfigName.DifferDemonsConfig, demoInfo.pokemonId).LiveIcon
|
2021-04-21 13:12:04 +08:00
|
|
|
|
self.demoList[j]:GetComponent("Image").sprite = self.spLoader:LoadSprite(GetResourcePath(resId))
|
2020-05-09 13:31:21 +08:00
|
|
|
|
else
|
|
|
|
|
self.demoList[j]:SetActive(false)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
for p = #teamInfo.teamPokemonInfos + 1, 3 do
|
|
|
|
|
self.demoList[p]:SetActive(false)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
---- ===================================================
|
|
|
|
|
-- 赛季奖励数据显示
|
|
|
|
|
function MatchFight:ShowReward()
|
|
|
|
|
local curRewardScore = MatchDataManager.GetRewardScore()
|
|
|
|
|
local curStageRewardScore = MatchDataManager.GetCurStageRewardScore()
|
|
|
|
|
self.scoreText.text = string.format("%s/%s", curRewardScore, curStageRewardScore)
|
|
|
|
|
self.scoreProgress.value = curRewardScore/curStageRewardScore
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- 每日任务, state : 1未完成 2可领取 3已领取
|
|
|
|
|
function MatchFight:ShowDailyRreward()
|
2021-01-09 14:20:06 +08:00
|
|
|
|
Log("设置血战每日任务状态")
|
2020-05-09 13:31:21 +08:00
|
|
|
|
local taskData = TaskManager.GetTypeTaskList(TaskTypeDef.BloodyTask)
|
|
|
|
|
|
|
|
|
|
for i = 1, #taskData do
|
|
|
|
|
local missionId = taskData[i].missionId
|
|
|
|
|
local state = taskData[i].state
|
|
|
|
|
local doingImg = Util.GetGameObject(self.btnBox[i], "default")
|
|
|
|
|
local doneImg = Util.GetGameObject(self.btnBox[i], "choose")
|
|
|
|
|
local context = Util.GetGameObject(self.btnBox[i], "context"):GetComponent("Text")
|
|
|
|
|
doingImg:SetActive(state == 0)
|
|
|
|
|
doneImg:SetActive(state ~= 0)
|
|
|
|
|
Util.SetGray(doneImg, state == 2)
|
2021-03-02 16:53:12 +08:00
|
|
|
|
context.text = Language[10753] .. bloodyTask[missionId].TaskValue[2][1]
|
2020-05-09 13:31:21 +08:00
|
|
|
|
|
|
|
|
|
self.missionIdList[i] = missionId
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function MatchFight:OnHidePanel()
|
|
|
|
|
self.root:SetActive(false)
|
|
|
|
|
if self.timer then
|
|
|
|
|
self.timer:Stop()
|
|
|
|
|
self.timer = nil
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
2020-06-23 18:36:24 +08:00
|
|
|
|
return MatchFight
|