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

50 lines
1.8 KiB
Lua

----------------------------------------------------------------------------------------------------
--
-- All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
-- its licensors.
--
-- For complete copyright and license terms please see the LICENSE at the root of this
-- distribution (the "License"). All use of this software is governed by the License,
-- or, if provided, by the license below or the license accompanying this file. Do not
-- remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
--
--
----------------------------------------------------------------------------------------------------
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