Skip to main content
Skip to main content

InlineBaleSingle

InlineBaleSingle

Description

Class for inline bales

Parent

Bale

Functions

getBaleSupportsBaleLoader

Description

Definition

getBaleSupportsBaleLoader()

Code

function InlineBaleSingle:getBaleSupportsBaleLoader()
return false
end

getCanBeOpened

Description

Definition

getCanBeOpened()

Code

function InlineBaleSingle:getCanBeOpened()
return false
end

getConnectedInlineBale

Description

Definition

getConnectedInlineBale()

Code

function InlineBaleSingle:getConnectedInlineBale()
return self.connectedInlineBale
end

getHasConnector

Description

Definition

getHasConnector()

Code

function InlineBaleSingle:getHasConnector()
return self.inlineConnector ~ = nil
end

new

Description

Creating bale object

Definition

new(boolean isServer, boolean isClient, table? customMt)

Arguments

booleanisServeris server
booleanisClientis client
table?customMtcustomMt

Return Values

table?instanceInstance of object

Code

function InlineBaleSingle.new(isServer, isClient, customMt)
local self = Bale.new(isServer, isClient, customMt or InlineBaleSingle _mt)
registerObjectClassName( self , "InlineBaleSingle" )

self.connectedInlineBale = nil

return self
end

removeConnector

Description

Definition

removeConnector()

Code

function InlineBaleSingle:removeConnector()
local connector = self.inlineConnector
if connector ~ = nil then
if entityExists(connector.joint1) then
delete(connector.joint1)
end
if entityExists(connector.joint2) then
delete(connector.joint2)
end
if entityExists(connector.mesh) then
delete(connector.mesh)
end

if connector.sharedLoadRequestId ~ = nil then
g_i3DManager:releaseSharedI3DFile(connector.sharedLoadRequestId)
end
self.inlineConnector = nil
end
end

setConnectedInlineBale

Description

Definition

setConnectedInlineBale()

Arguments

anyinlineBale

Code

function InlineBaleSingle:setConnectedInlineBale(inlineBale)
self.connectedInlineBale = inlineBale
end

setConnector

Description

Definition

setConnector()

Arguments

anyconnectedBale
anyfilename
anyaxis
anyoffset

Code

function InlineBaleSingle:setConnector(connectedBale, filename, axis, offset)
filename = NetworkUtil.convertFromNetworkFilename(filename)
local rootNode, sharedLoadRequestId = g_i3DManager:loadSharedI3DFile(filename, false , false )
if rootNode = = 0 then
return false
end

local startNode = getChildAt(rootNode, 0 )
local endNode = getChildAt(rootNode, 1 )
local skinnedMesh = getChildAt(rootNode, 2 )
link(connectedBale.nodeId, endNode)
link( self.nodeId, startNode)
link( self.nodeId, skinnedMesh)

local translation = { 0 , 0 , 0 }
translation[axis] = offset
setTranslation(startNode, unpack(translation))

translation[axis] = - offset
setTranslation(endNode, unpack(translation))

delete(rootNode)

self.inlineConnector = { filename = filename, sharedLoadRequestId = sharedLoadRequestId, mesh = skinnedMesh, joint1 = startNode, joint2 = endNode, isDirty = true }
setVisibility(skinnedMesh, self.wrappingState > 0 )

if getHasShaderParameter(skinnedMesh, "colorScale" ) then
local r, g, b, _ = unpack(connectedBale.wrappingColor)
setShaderParameter(skinnedMesh, "colorScale" , r, g, b, 1 , false )
end

if getHasShaderParameter(skinnedMesh, "scratches_dirt_snow_wetness" ) then
setShaderParameter(skinnedMesh, "scratches_dirt_snow_wetness" , 0 , 0 , 0 , 0 , false )
end

return true
end

setConnectorVisibility

Description

Definition

setConnectorVisibility()

Arguments

anystate

Code

function InlineBaleSingle:setConnectorVisibility(state)
if self:getHasConnector() then
setVisibility( self.inlineConnector.mesh, state)
end
end

setWrappingState

Description

Set wrapping state of bale

Definition

setWrappingState(float wrappingState, )

Arguments

floatwrappingStatenew wrapping state
anynoEventSend

Code

function InlineBaleSingle:setWrappingState(wrappingState, noEventSend)
self:setConnectorVisibility(wrappingState > 0 )

InlineBaleSingle:superClass().setWrappingState( self , wrappingState, noEventSend)
end