Script v1_7_1_0
- AI
- Animals
- Collections
- Contracts
- Debug
- Economy
- Elements
- EnvironmentalScore
- Errors
- Events
- GUI
- Handtools
- Hud
- I3d
- Input
- Jobs
- Maps
- Materials
- Misc
- Objects
- Parameters
- Placeables
- Placement
- Player
- Shop
- Sounds
- Specialization
- Specializations
- StateMachine
- Statistics
- Tasks
- Triggers
- Utils
- Vehicles
Engine v1_7_1_0
- AI
- Animation
- Camera
- Entity
- Fillplanes
- general
- General
- I3D
- Input
- Lighting
- Math
- Network
- Node
- NoteNode
- Overlays
- Particle System
- Physics
- Rendering
- getMaterialCustomShaderFilename
- getMaterialCustomShaderVariation
- getMaterialDiffuseMapFilename
- getMaterialDiffuseMapHasAlpha
- getMaterialEmissiveMapFilename
- getMaterialEmissiveMapHasAlpha
- getMaterialGlossMapFilename
- getMaterialHasRefractionMap
- getMaterialIsAlphaBlended
- getMaterialIsAlphaTested
- getMaterialNormalMapFilename
- getMaterialNormalMapFormat
- getMaterialReflectionMapScaling
- setMaterialCustomMapFromFile
- setMaterialCustomShaderVariation
- setMaterialDiffuseMapFromFile
- setMaterialGlossMapFromFile
- setMaterialNormalMapFromFile
- Scenegraph
- Shape
- Sound
- Spline
- String
- Terrain Detail
- Text Rendering
- Tire Track
- VoiceChat
- XML
Foundation Reference
PlaceableFenceAddSegmentEvent
DescriptionEvent for toggeling placeable light stateParent
EventFunctions
emptyNew
DescriptionCreate instance of Event classDefinition
emptyNew()Return Values
table | self | instance of class event |
13 | function PlaceableFenceAddSegmentEvent.emptyNew() |
14 | return Event.new(PlaceableFenceAddSegmentEvent_mt) |
15 | end |
new
DescriptionCreate new instance of eventDefinition
new(table object, integer groupIndex, boolean isActive)Arguments
table | object | object |
integer | groupIndex | index of group |
boolean | isActive | is active |
22 | function PlaceableFenceAddSegmentEvent.new(fence, x1, z1, x2, z2, renderFirst, renderLast, gateIndex, price) |
23 | local self = PlaceableFenceAddSegmentEvent.emptyNew() |
24 | |
25 | self.fence = fence |
26 | self.x1 = x1 |
27 | self.z1 = z1 |
28 | self.x2 = x2 |
29 | self.z2 = z2 |
30 | self.renderFirst = renderFirst |
31 | self.renderLast = renderLast |
32 | self.gateIndex = gateIndex |
33 | self.price = price |
34 | |
35 | return self |
36 | end |
readStream
DescriptionCalled on client side on joinDefinition
readStream(integer streamId, integer connection)Arguments
integer | streamId | streamId |
integer | connection | connection |
42 | function PlaceableFenceAddSegmentEvent:readStream(streamId, connection) |
43 | self.fence = NetworkUtil.readNodeObject(streamId) |
44 | |
45 | self.x1 = streamReadFloat32(streamId) |
46 | self.z1 = streamReadFloat32(streamId) |
47 | self.x2 = streamReadFloat32(streamId) |
48 | self.z2 = streamReadFloat32(streamId) |
49 | self.renderFirst = streamReadBool(streamId) |
50 | self.renderLast = streamReadBool(streamId) |
51 | self.gateIndex = streamReadUInt8(streamId) |
52 | if self.gateIndex == 0 then |
53 | self.gateIndex = nil |
54 | end |
55 | self.price = streamReadInt32(streamId) |
56 | |
57 | self:run(connection) |
58 | end |
run
DescriptionRun action on receiving sideDefinition
run(integer connection)Arguments
integer | connection | connection |
80 | function PlaceableFenceAddSegmentEvent:run(connection) |
81 | if self.fence ~= nil and self.fence:getIsSynchronized() then |
82 | local segment = self.fence:createSegment(self.x1, self.z1, self.x2, self.z2, self.renderFirst, self.gateIndex) |
83 | segment.renderLast = self.renderLast |
84 | |
85 | -- On clients we need to generate synchronously, as the next event has gate AO info |
86 | --and the poles and gates need to be generated by then. |
87 | self.fence:addSegment(segment, self.gateIndex ~= nil and connection:getIsServer()) |
88 | |
89 | g_messageCenter:publish(PlaceableFenceAddSegmentEvent, self.fence, segment) |
90 | |
91 | if not connection:getIsServer() then |
92 | g_currentMission:addMoney(-self.price, self.fence:getOwnerFarmId(), MoneyType.SHOP_PROPERTY_BUY, true) |
93 | |
94 | g_server:broadcastEvent(self, false, nil, self.fence) |
95 | end |
96 | end |
97 | end |
writeStream
DescriptionCalled on server side on joinDefinition
writeStream(integer streamId, integer connection)Arguments
integer | streamId | streamId |
integer | connection | connection |
64 | function PlaceableFenceAddSegmentEvent:writeStream(streamId, connection) |
65 | NetworkUtil.writeNodeObject(streamId, self.fence) |
66 | |
67 | streamWriteFloat32(streamId, self.x1) |
68 | streamWriteFloat32(streamId, self.z1) |
69 | streamWriteFloat32(streamId, self.x2) |
70 | streamWriteFloat32(streamId, self.z2) |
71 | streamWriteBool(streamId, self.renderFirst) |
72 | streamWriteBool(streamId, self.renderLast) |
73 | streamWriteUInt8(streamId, self.gateIndex or 0) |
74 | streamWriteInt32(streamId, self.price) |
75 | end |