Skip to main content
Skip to main content

LadderTrigger

LadderTrigger

Functions

delete

Description

Deleting ladder trigger

Definition

delete()

Code

function LadderTrigger:delete()
if self.triggerId ~ = nil then
removeTrigger( self.triggerId)
end
end

new

Description

Creating ladder trigger object

Definition

new(integer node)

Arguments

integernodetrigger node id

Return Values

integerinstanceinstance of object

Code

function LadderTrigger.new(node)
local self = setmetatable( { } , LadderTrigger _mt)

if g_currentMission:getIsClient() then
self.triggerId = node

if not CollisionFlag.getHasMaskFlagSet(node, CollisionFlag.PLAYER) then
Logging.warning( "Missing collision mask bit '%d'.Please add this bit to ladder trigger node '%s'" , CollisionFlag.getBit(CollisionFlag.PLAYER), I3DUtil.getNodePath(node))
end

addTrigger(node, "triggerCallback" , self )
end

return self
end

onCreate

Description

On create ladder trigger

Definition

onCreate(integer id)

Arguments

integeridtrigger node id

Code

function LadderTrigger:onCreate(id)
g_currentMission:addNonUpdateable( LadderTrigger.new(id))
end

triggerCallback

Description

Trigger callback

Definition

triggerCallback(integer triggerId, integer otherId, boolean onEnter, boolean onLeave, boolean onStay)

Arguments

integertriggerIdid of trigger
integerotherIdid of actor
booleanonEnteron enter
booleanonLeaveon leave
booleanonStayon stay

Code

function LadderTrigger:triggerCallback(triggerId, otherId, onEnter, onLeave, onStay)
if onEnter or onLeave then
if g_localPlayer ~ = nil and otherId = = g_localPlayer.rootNode then
if onEnter then
g_localPlayer.mover:setIsOnLadder( true )
else
g_localPlayer.mover:setIsOnLadder( false )
end
end
end
end