LUADOC - Farming Simulator 22

Script v1_7_1_0

Engine v1_7_1_0

Foundation Reference

DynamicFadedBitmapElement

Description
Bitmap that has a list of images it fades between over time
Parent
PictureElement
Functions

canReceiveFocus

Description
Definition
canReceiveFocus()
Code
166function DynamicFadedBitmapElement:canReceiveFocus()
167 if not self.visible or #self.elements < 1 then
168 return false
169 end
170 -- element can only receive focus if all sub elements are ready to receive focus
171 for _, v in ipairs(self.elements) do
172 if (not v:canReceiveFocus()) then
173 return false
174 end
175 end
176 return true
177end

copyAttributes

Description
Definition
copyAttributes()
Code
80function DynamicFadedBitmapElement:copyAttributes(src)
81 DynamicFadedBitmapElement:superClass().copyAttributes(self, src)
82
83 GuiOverlay.copyOverlay(self.templateOverlay, src.templateOverlay)
84 self.filenames = table.copy(src.filenames)
85
86 self.fadeTime = src.fadeTime
87 self.fadeInterval = src.fadeInterval
88
89 self:buildOverlays()
90end

delete

Description
Definition
delete()
Code
35function DynamicFadedBitmapElement:delete()
36 for _, overlay in ipairs(self.overlays) do
37 GuiOverlay.deleteOverlay(overlay)
38 end
39 GuiOverlay.deleteOverlay(self.templateOverlay)
40
41 DynamicFadedBitmapElement:superClass().delete(self)
42end

draw

Description
Definition
draw()
Code
144function DynamicFadedBitmapElement:draw(clipX1, clipY1, clipX2, clipY2)
145 local x, y, w, h = self:getAdjustedPosition()
146 local state = self:getOverlayState()
147
148 local primaryIndex = self.currentImageIndex
149 local secondaryIndex = (primaryIndex % #self.filenames) + 1
150
151 local alpha = MathUtil.smoothstep(1 - (self.fadeTime / self.fadeInterval), 1, self.fadeAlpha)
152 local primaryFade = 1
153 local secondaryFade = alpha -- crossfade
154
155 self.overlays[primaryIndex].color[4] = primaryFade * self.alpha
156 GuiOverlay.renderOverlay(self.overlays[primaryIndex], x, y, w, h, state, clipX1, clipY1, clipX2, clipY2)
157
158 if alpha > 0 then
159 self.overlays[secondaryIndex].color[4] = secondaryFade * self.alpha
160 GuiOverlay.renderOverlay(self.overlays[secondaryIndex], x, y, w, h, state, clipX1, clipY1, clipX2, clipY2)
161 end
162end

getFocusTarget

Description
Definition
getFocusTarget()
Code
181function DynamicFadedBitmapElement:getFocusTarget()
182 if #self.elements > 0 then
183 local _, firstElement = next(self.elements)
184 if firstElement then
185 return firstElement
186 end
187 end
188 return self
189end

loadFromXML

Description
Definition
loadFromXML()
Code
46function DynamicFadedBitmapElement:loadFromXML(xmlFile, key)
47 DynamicFadedBitmapElement:superClass().loadFromXML(self, xmlFile, key)
48
49 self.fadeTime = Utils.getNoNil(getXMLInt(xmlFile, key.."#fadeTime"), self.fadeTime)
50 self.fadeInterval = Utils.getNoNil(getXMLInt(xmlFile, key.."#fadeInterval"), self.fadeInterval)
51
52 GuiOverlay.loadOverlay(self, self.templateOverlay, "image", self.imageSize, nil, xmlFile, key)
53 GuiOverlay.createOverlay(self.templateOverlay)
54end

loadProfile

Description
Definition
loadProfile()
Code
58function DynamicFadedBitmapElement:loadProfile(profile, applyProfile)
59 DynamicFadedBitmapElement:superClass().loadProfile(self, profile, applyProfile)
60
61 self.fadeTime = profile:getNumber("fadeTime", self.fadeTime)
62 self.fadeInterval = profile:getNumber("fadeInterval", self.fadeInterval)
63
64 local oldFilename = self.templateOverlay.filename
65 local oldPreviewFilename = self.templateOverlay.previewFilename
66 GuiOverlay.loadOverlay(self, self.templateOverlay, "image", self.imageSize, profile, nil, nil)
67 if oldFilename ~= self.templateOverlay.filename or oldPreviewFilename ~= self.templateOverlay.previewFilename then
68 GuiOverlay.createOverlay(self.templateOverlay)
69 end
70
71 local filenameList = profile:getValue("imageFilenames")
72 if filenameList ~= nil then
73 self.filenames = filenameList:split(";")
74 self:buildOverlays()
75 end
76end

new

Description
Definition
new()
Code
16function DynamicFadedBitmapElement.new(target, custom_mt)
17 local self = DynamicFadedBitmapElement:superClass().new(target, custom_mt or DynamicFadedBitmapElement_mt)
18
19 self.templateOverlay = {}
20 self.fadeTime = 2500
21 self.fadeInterval = 10000
22
23 self.alpha = 1
24 self.filenames = {}
25 self.overlays = {}
26
27 self.currentImageIndex = 1
28 self.fadeAlpha = 0
29
30 return self
31end

setAlpha

Description
Set image alpha
Definition
setAlpha()
Code
105function DynamicFadedBitmapElement:setAlpha(alpha)
106 DynamicFadedBitmapElement:superClass().setAlpha(self, alpha)
107 self.alpha = alpha
108end

setDisabled

Description
Definition
setDisabled()
Code
94function DynamicFadedBitmapElement:setDisabled(disabled, doNotUpdateChildren)
95 DynamicFadedBitmapElement:superClass().setDisabled(self, disabled, doNotUpdateChildren)
96 if disabled then
97 self:setOverlayState(GuiOverlay.STATE_DISABLED)
98 else
99 self:setOverlayState(GuiOverlay.STATE_NORMAL)
100 end
101end

setImageFilenames

Description
Set the image filename
Definition
setImageFilenames()
Code
112function DynamicFadedBitmapElement:setImageFilenames(filenames)
113 self.filenames = filenames
114 self:buildOverlays()
115end