LUADOC - Farming Simulator 19

LevelerEffect

Description
Copyright (C) GIANTS Software GmbH, Confidential, All Rights Reserved.
Parent
ShaderPlaneEffect
Functions

isRunning

Description
Definition
isRunning()
Code
59function LevelerEffect:isRunning()
60 return LevelerEffect:superClass().isRunning(self) or self.state == ShaderPlaneEffect.STATE_ON
61end

loadEffectAttributes

Description
Definition
loadEffectAttributes()
Code
22function LevelerEffect:loadEffectAttributes(xmlFile, key, node, i3dNode, i3dMapping)
23 if not LevelerEffect:superClass().loadEffectAttributes(self, xmlFile, key, node, i3dNode, i3dMapping) then
24 return false
25 end
26
27 self.speed = Utils.getNoNil(Effect.getValue(xmlFile, key, getXMLFloat, node, "speed"), 1) * 0.001
28 self.maxHeight = Utils.getNoNil(Effect.getValue(xmlFile, key, getXMLFloat, node, "maxHeight"), 1)
29 self.scrollPosition = 0
30 self.depthTarget = 0
31 self.fillLevel = 0
32 self.lastVehicleSpeed = 0
33
34 return true
35end

new

Description
Definition
new()
Code
10function LevelerEffect:new(customMt)
11 if customMt == nil then
12 customMt = LevelerEffect_mt
13 end
14
15 self = ShaderPlaneEffect:new(customMt)
16
17 return self
18end

setFillLevel

Description
Definition
setFillLevel()
Code
65function LevelerEffect:setFillLevel(fillLevel)
66 self.fillLevel = fillLevel
67end

setLastVehicleSpeed

Description
Definition
setLastVehicleSpeed()
Code
71function LevelerEffect:setLastVehicleSpeed(speed)
72 self.lastVehicleSpeed = speed
73end

update

Description
Definition
update()
Code
39function LevelerEffect:update(dt)
40 LevelerEffect:superClass().update(self, dt)
41 if self.state == ShaderPlaneEffect.STATE_ON then
42 setVisibility(self.node, true)
43
44 if self.depthTarget < self.fillLevel then
45 self.depthTarget = math.min(self.fillLevel, self.depthTarget + 0.001*dt)
46 elseif self.depthTarget > self.fillLevel then
47 self.depthTarget = math.max(self.fillLevel, self.depthTarget - 0.001*dt)
48 end
49
50 self.scrollPosition = self.scrollPosition + self.lastVehicleSpeed * self.speed
51 setShaderParameter(self.node, "VertxoffsetVertexdeformMotionUVscale", self.maxHeight, self.depthTarget, self.scrollPosition, 6.0, false)
52 else
53 setVisibility(self.node, false)
54 end
55end