Script v1.7.1.0
- AI
- Animals
- Contracts
- Debug
- Economy
- Effects
- ConveyorBeltEffect
- CutterEffect
- Effect
- EffectManager
- LevelerEffect
- MorphPositionEffect
- ParticleEffect
- PipeEffect
- ShaderPlaneEffect
- SlurrySideToSideEffect
- TipEffect
- WindrowerEffect
- Events
- Farms
- GUI
- Handtools
- I3d
- Materials
- Misc
- Objects
- Placeables
- Player
- Shop
- Sounds
- Specializations
- Triggers
- Utils
- Vehicles
- Weather
Engine v1.7.1.0
- AI
- Animation
- Camera
- Entity
- Fillplanes
- General
- I3D
- Input
- Lighting
- Math
- Network
- Node
- Overlays
- Particle System
- Physics
- Rendering
- Scenegraph
- Shape
- Sound
- Spline
- String
- Terrain Detail
- Text Rendering
- Tire Track
- XML
- general
Foundation Reference
LevelerEffect
DescriptionCopyright (C) GIANTS Software GmbH, Confidential, All Rights Reserved.Parent
ShaderPlaneEffectFunctions
isRunning
DescriptionDefinitionisRunning()Code
59 | function LevelerEffect:isRunning() |
60 | return LevelerEffect:superClass().isRunning(self) or self.state == ShaderPlaneEffect.STATE_ON |
61 | end |
loadEffectAttributes
DescriptionDefinitionloadEffectAttributes()Code
22 | function 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 |
35 | end |
new
DescriptionDefinitionnew()Code
10 | function LevelerEffect:new(customMt) |
11 | if customMt == nil then |
12 | customMt = LevelerEffect_mt |
13 | end |
14 | |
15 | self = ShaderPlaneEffect:new(customMt) |
16 | |
17 | return self |
18 | end |
setFillLevel
DescriptionDefinitionsetFillLevel()Code
65 | function LevelerEffect:setFillLevel(fillLevel) |
66 | self.fillLevel = fillLevel |
67 | end |
setLastVehicleSpeed
DescriptionDefinitionsetLastVehicleSpeed()Code
71 | function LevelerEffect:setLastVehicleSpeed(speed) |
72 | self.lastVehicleSpeed = speed |
73 | end |
update
DescriptionDefinitionupdate()Code
39 | function 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 |
55 | end |