InlineBaleSingle
InlineBaleSingle
Description
Class for inline bales
Parent
Functions
- getBaleSupportsBaleLoader
- getCanBeOpened
- getConnectedInlineBale
- getHasConnector
- new
- removeConnector
- setConnectedInlineBale
- setConnector
- setConnectorVisibility
- setWrappingState
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
| boolean | isServer | is server |
|---|---|---|
| boolean | isClient | is client |
| table? | customMt | customMt |
Return Values
| table? | instance | Instance 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
| any | inlineBale |
|---|
Code
function InlineBaleSingle:setConnectedInlineBale(inlineBale)
self.connectedInlineBale = inlineBale
end
setConnector
Description
Definition
setConnector()
Arguments
| any | connectedBale |
|---|---|
| any | filename |
| any | axis |
| any | offset |
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
| any | state |
|---|
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
| float | wrappingState | new wrapping state |
|---|---|---|
| any | noEventSend |
Code
function InlineBaleSingle:setWrappingState(wrappingState, noEventSend)
self:setConnectorVisibility(wrappingState > 0 )
InlineBaleSingle:superClass().setWrappingState( self , wrappingState, noEventSend)
end