Stop

This function stops the entity from following or moving to a point.

Syntax

Example

pathset = false
--Create a window
window = Window:Create()
context = Context:Create(window)
world = World:Create()
local camera = Camera:Create()
camera:SetRotation(35,0,0)
camera:Move(0,0,-8)
local light = DirectionalLight:Create()
light:SetRotation(35,35,0)

--Enable navmesh debugging
camera:SetDebugNavigationMode(true)

--Create the ground
local ground = Model:Box(10,1,10)
ground:SetPosition(0,-0.5,0)
ground:SetColor(0.0,0.25,0.0)

--Create a shape
local shape = Shape:Box(0,0,0, 0,0,0, 10,1,10)
ground:SetShape(shape)
shape:Release()

--Create a model
--This is an obstacle the player will walk around
entity = Model:Box(1,1,3)
entity:SetColor(0.0,0.0,1.0)
entity:SetPosition(0,5,0)
entity:SetMass(1)

--Create a shape
local shape = Shape:Box(0,0,0,0,0,0,1,1,3)
entity:SetShape(shape)
shape:Release()

--Enable navigation obstacles
ground:SetNavigationMode(true)
entity:SetNavigationMode(true)

--Create a character
player = Pivot:Create()
local visiblecapsule = Model:Cylinder(16,player)
visiblecapsule:SetScale(1,2,1)
visiblecapsule:SetPosition(0,1,0)
player:SetPosition(-4,0,0)
player:SetMass(1)
player:SetPhysicsMode(Entity.CharacterPhysics)

while true do
if window:Closed() or window:KeyHit(Key.Escape) then return false end

local targetpos = Vec3(4,0,0)

if (not pathset) then

pathset = player:GoToPoint(targetpos,1.4,1)
end

--Stop the player when he gets close to the destination
if (player:GetPosition():DistanceToPoint(targetpos) > 2.0) then

player:Stop()
end

Time:Update()
world:Update()
world:Render()

context:SetBlendMode(Blend.Alpha)
context:DrawText("NavMode: "..tostring(self.entity:GetNavigationMode()),2,2)

context:Sync()
end