You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
o3de/AutomatedTesting/Levels/AI/NavigationComponentTest/NavigationAgent.lua

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