Sprache Deutsch Language English

Script Dokumentation LS 2015 - VehicleShopBase (Patch 1.3)

Script Dokumentation Übersicht

scripts/objects/VehicleShopBase.lua

Copyright (c) 2008-2015 GIANTS Software GmbH, Confidential, All Rights Reserved.
This document is to be published solely by ls-mods.de
1-- VehicleShopBase class
2--
3-- This is mainly used for the sales balloons which only appear during brand sales, also adjusts the environment mapping's intensity
4--
5-- Copyright (C) GIANTS Software GmbH, Confidential, All Rights Reserved.
6
7VehicleShopBase = {}
8
9local VehicleShopBase_mt = Class(VehicleShopBase);
10
11function VehicleShopBase:onCreate(id)
12 g_currentMission:addUpdateable(VehicleShopBase:new(id));
13end;
14
15function VehicleShopBase:new(name)
16 local self = {};
17 setmetatable(self, VehicleShopBase_mt);
18 self.id = name;
19 self.balloons = getChildAt(self.id, 1);
20 self.alphaBadWeather = 0.4;
21 self.timer = 0;
22 self.updateDelay = 2000;
23
24 self.alphaCurve = AnimCurve:new(linearInterpolator1);
25 self.alphaCurve:addKeyframe({v=0.3, time = 0*60});
26 self.alphaCurve:addKeyframe({v=0.3, time = 5.5*60});
27 self.alphaCurve:addKeyframe({v=0.6, time = 6*60});
28 self.alphaCurve:addKeyframe({v=1.0, time = 7*60});
29 self.alphaCurve:addKeyframe({v=1.0, time = 20*60});
30 self.alphaCurve:addKeyframe({v=0.3, time = 22*60});
31 self.alphaCurve:addKeyframe({v=0.3, time = 24*60});
32
33 if g_currentMission ~= nil then
34 g_currentMission.vehicleShopBase = self;
35 if g_currentMission.environment ~= nil then
36 local dayMinutes = g_currentMission.environment.dayTime/(1000*60);
37 setShaderParameter(self.balloons, "alpha", self.alphaCurve:get(dayMinutes), 0, 0, 0, true);
38 end;
39 end;
40
41 setVisibility(self.id, false);
42
43 return self;
44end;
45
46function VehicleShopBase:delete()
47
48end;
49
50function VehicleShopBase:update(dt)
51 if g_currentMission ~= nil and g_currentMission.environment ~= nil and getVisibility(self.id) then
52 self.timer = self.timer + dt;
53 if self.timer > self.updateDelay then
54 self.timer = 0;
55 if g_currentMission.environment.currentRain == nil then
56 local dayMinutes = g_currentMission.environment.dayTime/(1000*60);
57 setShaderParameter(self.balloons, "alpha", self.alphaCurve:get(dayMinutes), 0, 0, 0, true);
58 else
59 setShaderParameter(self.balloons, "alpha", self.alphaBadWeather, 0, 0, 0, true);
60 end;
61 end;
62 end;
63end;
Copyright (c) 2008-2015 GIANTS Software GmbH, Confidential, All Rights Reserved.
This document is to be published solely by ls-mods.de
Script Dokumentation Übersicht