LUADOC - Farming Simulator 22

Script v1_7_1_0

Engine v1_7_1_0

Foundation Reference

GamePausedDisplay

Description
HUD game pause display element. Displays a customizable message when the game is paused.
Parent
HUDDisplayElement
Functions

createBackground

Description
Get this element's base background position.
Definition
createBackground()
Code
97function GamePausedDisplay.createBackground(hudAtlasPath)
98 local _, height = getNormalizedScreenValues(unpack(GamePausedDisplay.SIZE.SELF))
99 local overlay = Overlay.new(hudAtlasPath, 0, (1 - height) * 0.5, 1, height) -- span horizontally, middle vertical
100
101 overlay:setUVs(GuiUtils.getUVs(GamePausedDisplay.UV.BACKGROUND))
102 overlay:setColor(unpack(GamePausedDisplay.COLOR.BACKGROUND))
103
104 return overlay
105end

createComponents

Description
Create required display components.
Definition
createComponents()
Code
109function GamePausedDisplay:createComponents(hudAtlasPath)
110 local syncOverlay = Overlay.new(GamePausedDisplay.SYNC_SPLASH_PATH, 0, 0, 1, g_screenWidth / g_screenHeight)
111 self.syncBackgroundElement = HUDElement.new(syncOverlay)
112 self:addChild(self.syncBackgroundElement)
113end

draw

Description
Definition
draw()
Code
58function GamePausedDisplay:draw()
59 if self:getVisible() then
60 GamePausedDisplay:superClass().draw(self)
61
62 local textHeight = getTextHeight(self.textSize, self.pauseText)
63 local baseX, baseY = self:getPosition()
64 local posX = baseX + self:getWidth() * 0.5 + self.textOffsetX
65 local posY = baseY + (self:getHeight() - textHeight) * 0.5 + self.textOffsetY
66
67 setTextBold(true)
68 setTextAlignment(RenderText.ALIGN_CENTER)
69 setTextColor(unpack(GamePausedDisplay.COLOR.TEXT))
70 renderText(posX, posY, self.textSize, self.pauseText)
71 end
72end

new

Description
Create a new GamePausedDisplay.
Definition
new(string hudAtlasPath)
Arguments
stringhudAtlasPathPath to the HUD atlas texture.
Return Values
tableGamePausedDisplayinstance
Code
19function GamePausedDisplay.new(hudAtlasPath)
20 local backgroundOverlay = GamePausedDisplay.createBackground(hudAtlasPath)
21 local self = GamePausedDisplay:superClass().new(backgroundOverlay, nil, GamePausedDisplay_mt)
22
23 self.pauseText = ""
24 self.isMenuVisible = false
25
26 self.syncBackgroundElement = nil
27
28 self.textSize = 0
29 self.textOffsetX, self.textOffsetY = 0, 0
30
31 self:storeOriginalPosition()
32 self:storeScaledValues()
33 self:createComponents(hudAtlasPath)
34
35 return self
36end

onMenuVisibilityChange

Description
Handle menu visibility state change.
Definition
onMenuVisibilityChange()
Code
46function GamePausedDisplay:onMenuVisibilityChange(isMenuVisible, isOverlayMenu)
47 -- When a menu was visible we show an opaque background to prevent too much layering
48 local showFullscreen = isMenuVisible and not isOverlayMenu
49 self.syncBackgroundElement:setVisible(showFullscreen)
50end

setPauseText

Description
Set a custom text to display.
Definition
setPauseText()
Code
40function GamePausedDisplay:setPauseText(text)
41 self.pauseText = text
42end

setScale

Description
Set uniform UI scale.
Definition
setScale()
Code
80function GamePausedDisplay:setScale(uiScale)
81 GamePausedDisplay:superClass().setScale(self, 1) -- ignore UI scale, this element must only scale with resolution
82end

storeScaledValues

Description
Store scaled positioning, size and offset values.
Definition
storeScaledValues()
Code
86function GamePausedDisplay:storeScaledValues()
87 self.textSize = self:scalePixelToScreenHeight(GamePausedDisplay.TEXT_SIZE.PAUSE_TEXT)
88 self.textOffsetX, self.textOffsetY = self:scalePixelToScreenVector(GamePausedDisplay.POSITION.PAUSE_TEXT)
89end