213 lines
5.7 KiB
Lua
213 lines
5.7 KiB
Lua
local UIBattleSuccessView = require("UIBattle/UIBattleSuccessView_Generate")
|
||
|
||
--region 生命周期
|
||
|
||
|
||
-- ManagerContainer.DataMgr.DanmuData:
|
||
function UIBattleSuccessView:OnAwake(data)
|
||
self.controller = require("UIBattle/UIBattleSuccessCtr"):new()
|
||
self.controller:Init(self)
|
||
self.controller:SetData(data)
|
||
end
|
||
|
||
|
||
function UIBattleSuccessView:FillContent(data, uiBase)
|
||
self.uiBase = uiBase
|
||
local gameObject = self.uiBase:GetRoot()
|
||
if gameObject ~= nil then
|
||
self.gameObject = gameObject
|
||
self.transform = gameObject.transform
|
||
end
|
||
self:InitGenerate(self.transform, data)
|
||
|
||
self:Init()
|
||
end
|
||
|
||
function UIBattleSuccessView:Init()
|
||
for i = 1, 4 do
|
||
self["role"..i]:SetActive(false)
|
||
end
|
||
local teams = ManagerContainer.DataMgr.UserData:GetTeamData(true)
|
||
for i=1, #teams do
|
||
local roleData = teams[i]
|
||
self["role"..i]:SetActive(true)
|
||
CommonUtil.LoadIcon(self, "HeroDraw/Role_"..roleData.uid, function(sprite)
|
||
self["role"..i].image.sprite = sprite
|
||
end)
|
||
end
|
||
|
||
self:ShowRewardData()
|
||
|
||
--[[
|
||
local danmuPlayerGo = self.transform:Find("Panel/CommentArea/MyDanmuPlayer")
|
||
self.danmuPlayerComp = danmuPlayerGo:GetComponent("MyDanmuPlayer")
|
||
local danmuList = {
|
||
"AAAAAAAAAAA111", "VVVVVVVVVV222", "DDDDDDDDDDD333", "FFFFFFFFF444", "EEEEEEEEE555",
|
||
"AAAAAAAAAAA111", "VVVVVVVVVV222", "DDDDDDDDDDD333", "FFFFFFFFF444", "EEEEEEEEE555",
|
||
"AAAAAAAAAAA111", "VVVVVVVVVV222", "DDDDDDDDDDD333", "FFFFFFFFF444", "EEEEEEEEE555",
|
||
"AAAAAAAAAAA111", "VVVVVVVVVV222", "DDDDDDDDDDD333", "FFFFFFFFF444", "EEEEEEEEE555",
|
||
"AAAAAAAAAAA111", "VVVVVVVVVV222", "DDDDDDDDDDD333", "FFFFFFFFF444", "EEEEEEEEE555",
|
||
"AAAAAAAAAAA111", "VVVVVVVVVV222", "DDDDDDDDDDD333", "FFFFFFFFF444", "EEEEEEEEE555",
|
||
"AAAAAAAAAAA111", "VVVVVVVVVV222", "DDDDDDDDDDD333", "FFFFFFFFF444", "EEEEEEEEE555",
|
||
"AAAAAAAAAAA111", "VVVVVVVVVV222", "DDDDDDDDDDD333", "FFFFFFFFF444", "EEEEEEEEE555",
|
||
"AAAAAAAAAAA111", "VVVVVVVVVV222", "DDDDDDDDDDD333", "FFFFFFFFF444", "EEEEEEEEE555",
|
||
}
|
||
self.danmuPlayerComp:ResetPlayer()
|
||
self.danmuPlayerComp:Play(
|
||
danmuList, 10,
|
||
function()
|
||
LogError("Danmu Play Ntf")
|
||
end,
|
||
function()
|
||
LogError("Danmu Play Finished")
|
||
end
|
||
)
|
||
]]
|
||
|
||
self:AutoBatlle()
|
||
end
|
||
|
||
function UIBattleSuccessView:AddEventListener()
|
||
ManagerContainer.LuaEventMgr:RegisterUIEvent(self.uiData.name)
|
||
|
||
end
|
||
|
||
function UIBattleSuccessView:RemoveEventListener()
|
||
ManagerContainer.LuaEventMgr:Unregister(self.uiData.name)
|
||
end
|
||
|
||
function UIBattleSuccessView:AddUIEventListener()
|
||
self.uiBase:AddButtonEventListener(self.backBtn.button,self, self.OnBackBtn)
|
||
self.uiBase:AddButtonEventListener(self.btnSendDanmu.button,self, self.OnBtnSendDanmu)
|
||
ManagerContainer.LuaEventMgr:RegisterEvent(UIEventNames.EID_DANMU_INPUT_NTF, self, self.OnDanmuInputNtf)
|
||
end
|
||
|
||
function UIBattleSuccessView:OnHide()
|
||
|
||
end
|
||
|
||
function UIBattleSuccessView:OnShow(data)
|
||
self.controller:SetData(data)
|
||
|
||
end
|
||
|
||
function UIBattleSuccessView:OnClose()
|
||
end
|
||
|
||
function UIBattleSuccessView:OnDispose()
|
||
self.controller:OnDispose()
|
||
end
|
||
|
||
--endregion 生命周期
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
function UIBattleSuccessView:OnBtnSendDanmu()
|
||
ManagerContainer.LuaUIMgr:Open(Enum.UIPageName.UIDanmuInput, "UIBattleSuccess")
|
||
end
|
||
|
||
function UIBattleSuccessView:OnDanmuInputNtf(uiName, danmuStr)
|
||
if uiName == "UIBattleSuccess" then
|
||
LogError("[UIBattleSuccessView] OnDanmuInputNtf "..danmuStr)
|
||
self.danmuPlayerComp:PlayMySelf(danmuStr)
|
||
end
|
||
end
|
||
|
||
|
||
|
||
function UIBattleSuccessView:ShowRewardData()
|
||
local awardDatas = {}
|
||
local inputData = self.controller:GetData()
|
||
for k, v in pairs(inputData) do
|
||
if v.key ~= 4 then
|
||
table.insert(awardDatas, {cfgId = v.key, num = v.value})
|
||
end
|
||
end
|
||
CommonUtil.LoopGridViewEleCreateNew(
|
||
self, self.awardScrollView.loopHorizontalScrollRect,
|
||
self.awardContent.gridLayoutGroup,
|
||
awardDatas, 0, self, self.SetAwardItem
|
||
)
|
||
end
|
||
|
||
function UIBattleSuccessView:SetAwardItem(itemLua, idx, itemData)
|
||
CommonUtil.UpdateItemPrefab(self, itemLua, itemData, Enum.ItemIEnterType.Bag, self, self.ShowItemTips)
|
||
end
|
||
|
||
function UIBattleSuccessView:ShowItemTips(button, params)
|
||
local data = params[0]
|
||
ManagerContainer.LuaUIMgr:OpenTips(data)
|
||
end
|
||
|
||
function UIBattleSuccessView:OnBackBtn()
|
||
ManagerContainer.LuaUIMgr:ClosePage(self.uiBase.PageId)
|
||
if ManagerContainer.UIFuncUnlockMgr:NeedOpenFuncCurLevelStart(ManagerContainer.LuaBattleMgr:GetCurLevelUniqueId()) then
|
||
ManagerContainer.LuaEventMgr:Dispatch(UIEventNames.UI_FUNCLOCK_OPEN_NTF)
|
||
end
|
||
ManagerContainer.LuaEventMgr:Dispatch(UIEventNames.EID_UI_RETURN_HOME, true)
|
||
--ManagerContainer.LuaEventMgr:Dispatch(UIEventNames.UI_FORCE_GUIDE_TRIGGER, Enum.ForceGuideTriggerEnum.BattleWin)
|
||
end
|
||
|
||
function UIBattleSuccessView:AutoBatlle()
|
||
|
||
local isauto= ManagerContainer.LuaBattleMgr:GetAutoChallengeState()
|
||
|
||
self.text_autofight:SetActive(false)
|
||
self.text_autofight_time:SetActive(false)
|
||
|
||
|
||
|
||
|
||
|
||
if isauto==true then
|
||
local flag=4
|
||
--按钮
|
||
self.btn_autofight.button.interactable=false
|
||
self.btn_autofight.image.sprite=self.btn_autofight.switchSprite:GetSprite("img_result_btn_auto_fighting")
|
||
|
||
--文字
|
||
|
||
self.text_autofight_time.text.text = "("..flag.."S)"
|
||
self.text_autofight_time:SetActive(true)
|
||
|
||
|
||
ManagerContainer.LuaTimerMgr:AddLuaTimer(1000, 4, function()
|
||
|
||
flag=flag-1
|
||
self.text_autofight_time.text.text = "(" .. flag .. "S)"
|
||
if flag==0 then
|
||
self:UIClose()
|
||
ManagerContainer.LuaEventMgr:Dispatch(UIEventNames.EID_CHALLENGE_AUTO)
|
||
end
|
||
end)
|
||
|
||
else
|
||
--文字
|
||
self.text_autofight:SetActive(true)
|
||
|
||
--按钮
|
||
self.btn_autofight.image.sprite = self.btn_autofight.switchSprite:GetSprite("img_result_btn_auto_fight")
|
||
|
||
self.uiBase:AddButtonUniqueEventListener(self.btn_autofight.button, self, function()
|
||
|
||
ManagerContainer.LuaBattleMgr:SetAutoChallengeState(true)
|
||
ManagerContainer.LuaEventMgr:Dispatch(UIEventNames.EID_CHALLENGE_AUTO)
|
||
self:UIClose()
|
||
end)
|
||
|
||
end
|
||
|
||
|
||
|
||
end
|
||
|
||
|
||
|
||
|
||
return UIBattleSuccessView
|
||
|