28 m_Tracking =
new BotHunt_Tracking(m_Bot,
this);
29 m_Hunting =
new BotHunt_Hunting(m_Bot,
this);
36 m_FSM.AddTransition(
new BotTransition( m_Tracking, __InSight__, m_Hunting));
37 m_FSM.AddTransition(
new BotTransition( m_Hunting, __Lost__ , m_Tracking));
39 m_FSM.SetInitialState(m_Tracking);
82 Print(
"Searching...");
92 bool m_TargetInSight =
false;
93 bool m_TargetLost =
false;
94 bool m_Tracking =
true;
100 m_TargetLost =
false;
101 m_TargetInSight =
false;
107 m_TargetLost =
false;
108 m_TargetInSight =
false;
116 m_TargetLost =
false;
117 m_TargetInSight =
false;
135 m_TargetInSight =
true;
139 m_TargetInSight =
false;
142 if (!m_TargetInSight)
144 GetPlayerOwner().GetInputController().OverrideMovementSpeed(
true, 1);
145 GetPlayerOwner().GetInputController().OverrideMovementAngle(
true, 1);
149 GetPlayerOwner().GetInputController().OverrideMovementSpeed(
false, 0);
150 GetPlayerOwner().GetInputController().OverrideMovementAngle(
false, 0);
164 m_TargetInSight =
false;
167 GetPlayerOwner().GetInputController().OverrideMovementSpeed(
false, 0);
168 GetPlayerOwner().GetInputController().OverrideMovementAngle(
false, 0);
218 vector pos = bot.GetPosition();
225 float min_dist = 1234567.0;
227 int c = objects.Count();
228 for (
int i = 0; i < c; i++)
244 botDebugPrint(
"[bot] + " + bot +
" BotSelectNearestTarget idx=" + min_index +
" dist=" + min_dist +
" obj=" + o);
245 return Man.Cast( objects.Get(min_index) );
ref ActionTarget m_Target
void botDebugPrint(string s)
Man BotSelectNearestTarget(EntityAI bot)
FSMTransition< BotStateBase, BotEventBase, BotActionBase, BotGuardBase > BotTransition
enum ProcessDirectDamageFlags m_Owner
class JsonUndergroundAreaTriggerData GetPosition
class WeaponFireWithEject extends WeaponFire m_dtAccumulator
represents event that triggers transition from state to state
Bot Finite State Machine (Hierarchical)
represent weapon state base
ref BotHunt_Tracking m_Tracking
override void OnAbort(BotEventBase e)
void BotHunt(Bot bot=NULL, BotStateBase parent=NULL)
PlayerBase GetPlayerOwner()
override void OnExit(BotEventBase e)
override void OnEntry(BotEventBase e)
ref BotHunt_Hunting m_Hunting
override void OnUpdate(float dt)
proto native void GetObjectsAtPosition(vector pos, float radius, out array< Object > objects, out array< CargoBase > proxyCargos)
Returns list of all objects in circle "radius" around position "pos".
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
static proto native float Distance(vector v1, vector v2)
Returns the distance between tips of two 3D vectors.
proto native CGame GetGame()
proto void Print(void var)
Prints content of variable to console/log.