Script Dokumentation LS 2015 - SteerableTurnSignalEvent (Patch 1.3)
scripts/vehicles/specializations/SteerableTurnSignalEvent.lua
Copyright (c) 2008-2015 GIANTS Software GmbH, Confidential, All Rights Reserved.
This document is to be published solely by ls-mods.de
1 | -- Copyright (C) GIANTS Software GmbH, Confidential, All Rights Reserved. |
2 | |
3 | SteerableTurnSignalEvent = {}; |
4 | SteerableTurnSignalEvent_mt = Class(SteerableTurnSignalEvent, Event); |
5 | |
6 | InitStaticEventClass(SteerableTurnSignalEvent, "SteerableTurnSignalEvent", EventIds.EVENT_VEHICLE_SET_TURNSIGNAL_STATE); |
7 | |
8 | function SteerableTurnSignalEvent:emptyNew() |
9 | local self = Event:new(SteerableTurnSignalEvent_mt); |
10 | return self; |
11 | end; |
12 | |
13 | function SteerableTurnSignalEvent:new(vehicle, state) |
14 | local self = SteerableTurnSignalEvent:emptyNew() |
15 | self.state = state; |
16 | self.vehicle = vehicle; |
17 | return self; |
18 | end; |
19 | |
20 | function SteerableTurnSignalEvent:readStream(streamId, connection) |
21 | local id = streamReadInt32(streamId); |
22 | self.state = streamReadUIntN(streamId, 2); |
23 | self.vehicle = networkGetObject(id); |
24 | self:run(connection); |
25 | end; |
26 | |
27 | function SteerableTurnSignalEvent:writeStream(streamId, connection) |
28 | streamWriteInt32(streamId, networkGetObjectId(self.vehicle)); |
29 | streamWriteUIntN(streamId, self.state, 2); |
30 | end; |
31 | |
32 | function SteerableTurnSignalEvent:run(connection) |
33 | self.vehicle:setTurnSignalState(self.state, true); |
34 | if not connection:getIsServer() then |
35 | g_server:broadcastEvent(SteerableTurnSignalEvent:new(self.vehicle, self.state), nil, connection, self.vehicle); |
36 | end; |
37 | end;
|
Copyright (c) 2008-2015 GIANTS Software GmbH, Confidential, All Rights Reserved.
This document is to be published solely by ls-mods.de