local UIDragonArteryIntroduce = UIViewClass() local EventSystem = require("Event/EventSystem") local WAIT_TIME_REMAIN_WARN = 5 function UIDragonArteryIntroduce:OnOpened(context) self:RegistSystemEvent(EventID.UI_DragonArtery_SetWarFieldId, self.InitData) self:InitData() end function UIDragonArteryIntroduce:InitData() local curWarFieldId = MDL.DragonArtery.GetCurEnterWarFieldID() if curWarFieldId then local warFieldData = DataSheetManager.DragonArteryWarfield:GetDataByID(curWarFieldId) local tabData = DataSheetManager.DragonArtery:GetDataByID(warFieldData.Belong) self.txt_Battlefield.text = UIUtils.GetLocalizedTxt(Const_IDS[tabData.Name]) .. ":" .. UIUtils.GetLocalizedTxt(Const_IDS[warFieldData.Name]) self.txt_VictoryRules.text = string.FormatByIdsId(Const_IDS.IDS_DragonArtey_WinCondition2, UTL.Time.GetShowTimeBySeconds(DataSheetManager.ConstData:GetDataByID("DragonArteryWinTime").IntValue)) local remainTime = CTL.DragonArtery.GetRegisterAreaLeftTime() if remainTime then if remainTime > WAIT_TIME_REMAIN_WARN then self:StartRepeatFunc(self.StartRemainTimeWarning, remainTime - WAIT_TIME_REMAIN_WARN, 0) else self:StartRemainTimeWarning() end end end end function UIDragonArteryIntroduce:StartRemainTimeWarning() self:StartRepeatFunc(self.ShowRemainTimeWarning, 1, 0) end function UIDragonArteryIntroduce:ShowRemainTimeWarning() if UIManager.IsViewOpened(Const_UI_Lua.UIEnum.UIBattleCountDownFormalPanel) then local remainTime = CTL.DragonArtery.GetRegisterAreaLeftTime() EventSystem.Dispatch(EventID.UI_UIBattleCountDownPanel_SetNumber, math.floor(remainTime)) else UIManager.OpenView(Const_UI_Lua.UIEnum.UIBattleCountDownFormalPanel, { WAIT_TIME_REMAIN_WARN }) end end function UIDragonArteryIntroduce:OnButtonClicked(comp) if comp == self.btn_Enter then UIManager.OpenAndPushAll(Const_UI_Lua.UIEnum.UIDragonArteryMain) elseif comp == self.btn_Info then UIManager.OpenView(Const_UI_Lua.UIEnum.UICommonNoteView, { id = LuaConst.NoteID.DragonArtery, params = { UTL.Time.GetShowTimeBySeconds(DataSheetManager.ConstData:GetDataByID("DragonArteryWinTime").IntValue) } }) end end return UIDragonArteryIntroduce