Game Development Reference
In-Depth Information
The flee action
With a bestFleePosition data source, our flee action no longer needs to perform any
calculations and simply finds a path directly to the blackboard's stored position. With a flee
position update frequency of 5 seconds, the bestFleePosition data source will get
updated in a timely manner without any intervention from our flee behavior:
SoldierActions.lua :
function SoldierActions_FleeInitialize(userData)
local sandbox = userData.agent:GetSandbox();
local fleePosition =
userData.blackboard:Get("bestFleePosition");
local path = Sandbox.FindPath(
sandbox,
"default",
userData.agent:GetPosition(),
fleePosition);
userData.agent:SetPath(path);
userData.agent:SetTarget(fleePosition);
userData.controller:QueueCommand(
userData.agent,
SoldierController.Commands.MOVE);
return Action.Status.RUNNING;
end
Search WWH ::




Custom Search