Files
o3de/AutomatedTesting/Levels/AI/NavigationComponentTest/NavigationAgent.lua
T
Steve Pham 38261d0800 Shorten copyright headers by splitting into 2 lines (#2213)
* Updated all copyright headers to split the longer original copyright line into 2 shorter lines

Signed-off-by: Steve Pham <spham@amazon.com>
2021-07-16 15:25:48 -07:00

47 lines
1.5 KiB
Lua

----------------------------------------------------------------------------------------------------
--
-- Copyright (c) Contributors to the Open 3D Engine Project.
-- For complete copyright and license terms please see the LICENSE at the root of this distribution.
--
-- SPDX-License-Identifier: Apache-2.0 OR MIT
--
--
--
----------------------------------------------------------------------------------------------------
local NavigationAgent = {
Properties = {
Goal=EntityId(),
CustomMovement=false
}
}
function NavigationAgent:OnActivate()
self.listener = NavigationComponentNotificationBus.Connect(self, self.entityId)
self.name = GameEntityContextRequestBus.Broadcast.GetEntityName(self.entityId)
Debug.Log("OnActivate " .. self.name)
NavigationComponentRequestBus.Event.FindPathToEntity(self.entityId, self.Properties.Goal)
end
function NavigationAgent:OnTraversalCancelled(requestId)
Debug.Log("OnTraversalCancelled ".. self.name)
end
function NavigationAgent:OnTraversalPathUpdate(requestId, nextPathPosition, inflectionPosition)
if self.Properties.CustomMovement then
Debug.Log("OnTraversalPathUpdate ".. self.name)
TransformBus.Event.SetWorldTranslation(self.entityId, nextPathPosition)
end
end
function NavigationAgent:OnTraversalComplete(requestId)
Debug.Log("OnTraversalComplete ".. self.name)
end
function NavigationAgent:OnDeactivate()
self.listener:Disconnect()
Debug.Log("OnDeactivate " .. self.name)
end
return NavigationAgent