122 lines
2.7 KiB
Lua
122 lines
2.7 KiB
Lua
|
|
local uiCtrl = require_ex('UI/Panels/Base/UICtrl')
|
|
local PANEL_ID = PanelId.MissionHudMini
|
|
local ANIMATION_IN_STRETCH = "missionhudmini_in_stretch"
|
|
local ANIMATION_OUT_EXTEND = "missionhudmini_out_extend"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MissionHudMiniCtrl = HL.Class('MissionHudMiniCtrl', uiCtrl.UICtrl)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MissionHudMiniCtrl.s_messages = HL.StaticField(HL.Table) << {
|
|
|
|
[MessageConst.ON_TRACK_MISSION_CHANGE] = '_OnTrackMissionChange',
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
MissionHudMiniCtrl.OnCreate = HL.Override(HL.Any) << function(self, arg)
|
|
self.view.closeBtn.onClick:AddListener(function()
|
|
self:_ShrinkPanel()
|
|
end)
|
|
|
|
self:_OnTrackMissionChange()
|
|
|
|
self.view.openMissionUIBtn.onClick:AddListener(function()
|
|
local trackMission = GameInstance.player.mission.trackMissionId
|
|
if trackMission ~= nil and trackMission ~= "" then
|
|
PhaseManager:OpenPhase(PhaseId.Mission, {autoSelect = trackMission, useBlackMask = true})
|
|
else
|
|
PhaseManager:OpenPhase(PhaseId.Mission, {useBlackMask = true})
|
|
end
|
|
end)
|
|
|
|
if arg ~= nil and arg.needAnimationIn then
|
|
local clipName = ANIMATION_IN_STRETCH
|
|
self.view.animationWrapper:PlayWithTween(clipName)
|
|
end
|
|
end
|
|
|
|
|
|
|
|
MissionHudMiniCtrl._OnTrackMissionChange = HL.Method() << function(self)
|
|
local trackMission = GameInstance.player.mission.trackMissionId
|
|
local trackingValid = (trackMission ~= nil and trackMission ~= "")
|
|
self.view.miniPanel.gameObject:SetActive(trackingValid)
|
|
end
|
|
|
|
|
|
|
|
MissionHudMiniCtrl._ShrinkPanel = HL.Method() << function(self)
|
|
self.view.animationWrapper:SetAnimationOutClip(ANIMATION_OUT_EXTEND)
|
|
|
|
self.view.animationWrapper:PlayOutAnimation(function()
|
|
UIManager:Close(PANEL_ID)
|
|
UIManager:ShowWithKey(PanelId.MissionHud, "MiniPanel")
|
|
local open, missionHud = UIManager:IsOpen(PanelId.MissionHud)
|
|
if not open or missionHud == nil then
|
|
return
|
|
end
|
|
missionHud:SkipMissionBtnAnimIn()
|
|
end)
|
|
end
|
|
|
|
|
|
|
|
MissionHudMiniCtrl.OnFacTopViewChanged = HL.StaticMethod(HL.Boolean) << function(uselessParam)
|
|
if not DeviceInfo.isMobile then
|
|
return
|
|
end
|
|
|
|
local isTopView = LuaSystemManager.factory.inTopView
|
|
|
|
|
|
if not isTopView then
|
|
local open, self = UIManager:IsOpen(PanelId.MissionHudMini)
|
|
if not open or self == nil then
|
|
return
|
|
end
|
|
|
|
self:_ShrinkPanel()
|
|
return
|
|
else
|
|
local open, missionHud = UIManager:IsOpen(PanelId.MissionHud)
|
|
if not open or missionHud == nil then
|
|
return
|
|
end
|
|
|
|
if false then
|
|
return
|
|
end
|
|
UIManager:AutoOpen(PANEL_ID)
|
|
UIManager:HideWithKey(PanelId.MissionHud, "MiniPanel")
|
|
end
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
HL.Commit(MissionHudMiniCtrl)
|