--[[ Author: Jarth Filename: MementoBar_Fragments.lua ]] -- ------------------------------------------------------------------------------------------------- -- VARIABLES -- ------------------------------------------------------------------------------------------------- local baseModule = MementoBar ------------------------------------------------------------------------------------------------- -- Helper FUNCTIONS -- ------------------------------------------------------------------------------------------------- function baseModule:HelperSetFragmentBehaviour(value, scene, fragment, statement, frameIsHidden) if value then scene:AddFragment(fragment) -- Case when landing on a scene, before a transition if statement then frameIsHidden = false end else scene:RemoveFragment(fragment) end return frameIsHidden end ------------------------------------------------------------------------------------------------- -- PRIVATE FUNCTIONS -- ------------------------------------------------------------------------------------------------- function baseModule:SetFragmentBehaviour() local frame = MementoBar_Frame local saved = baseModule.Saved local fragment = baseModule.Fragment local currentScene = SCENE_MANAGER:GetCurrentScene() local frameIsHidden = true local currentSceneIsGameMenuInGame = currentScene ~= nil and currentScene:GetName() == "gameMenuInGame" if fragment == nil then baseModule.Fragment = ZO_HUDFadeSceneFragment:New(frame) fragment = baseModule.Fragment end frameIsHidden = baseModule:HelperSetFragmentBehaviour(saved.ShowBarOnHud, HUD_SCENE, fragment, currentScene == nil, frameIsHidden) frameIsHidden = baseModule:HelperSetFragmentBehaviour(saved.ShowBarOnHudUI, HUD_UI_SCENE, fragment, false, frameIsHidden) frameIsHidden = baseModule:HelperSetFragmentBehaviour(saved.ShowBarInMenu, SCENE_MANAGER:GetScene("gameMenuInGame"), fragment, currentSceneIsGameMenuInGame, frameIsHidden) frameIsHidden = baseModule:HelperSetFragmentBehaviour(saved.ShowBarInInventory, SCENE_MANAGER:GetScene("inventory"), fragment, false, frameIsHidden) frameIsHidden = baseModule:HelperSetFragmentBehaviour(saved.ShowBarInInteract, SCENE_MANAGER:GetScene("interact"), fragment, false, frameIsHidden) frameIsHidden = baseModule:HelperSetFragmentBehaviour(saved.ShowBarInBank, SCENE_MANAGER:GetScene("bank"), fragment, false, frameIsHidden) frameIsHidden = baseModule:HelperSetFragmentBehaviour(saved.ShowBarInFence, SCENE_MANAGER:GetScene("fence_keyboard"), fragment, false, frameIsHidden) frameIsHidden = baseModule:HelperSetFragmentBehaviour(saved.ShowBarInStore, SCENE_MANAGER:GetScene("store"), fragment, false, frameIsHidden) frame:SetHidden(frameIsHidden) end