LUADOC - Farming Simulator 22

Script v1_7_1_0

Engine v1_7_1_0

Foundation Reference

SunAdmirer

Description
Class for objects which are visible when the sun is out
Functions

delete

Description
Remove Object from WeatherChangeListeners
Definition
delete()
Code
41function SunAdmirer:delete()
42 g_messageCenter:unsubscribeAll(self)
43end

new

Description
Creating nightlight object
Definition
new(integer name)
Arguments
integernameID of the node
Return Values
tableinstanceInstance of object
Code
21function SunAdmirer.new(id)
22 local self = {}
23 setmetatable(self, SunAdmirer_mt)
24
25 self.id = id
26 self.switchCollision = Utils.getNoNil(getUserAttribute(id, "switchCollision"), false)
27
28 if self.switchCollision then
29 self.collisionMask = getCollisionMask(id)
30 end
31
32 self:setVisibility(true)
33
34 g_messageCenter:subscribe(MessageType.WEATHER_CHANGED, self.onWeatherChanged, self)
35
36 return self
37end

onCreate

Description
Creating sun admirer object
Definition
onCreate(integer id)
Arguments
integeridID of the node
Code
13function SunAdmirer:onCreate(id)
14 g_currentMission:addNonUpdateable(SunAdmirer.new(id))
15end

onWeatherChanged

Description
Change visibility of sun object
Definition
onWeatherChanged()
Code
55function SunAdmirer:onWeatherChanged()
56 if g_currentMission ~= nil and g_currentMission.environment ~= nil then
57 self:setVisibility(g_currentMission.environment.isSunOn and not g_currentMission.environment.weather:getIsRaining())
58 end
59end