48 strcpy(str,
"AI state unknown");
91 eDockGetDataStart = 0,
96 eInvalidDockingStage = 5
103 EDockingStates m_state;
106 void IncrementState()
109 case eDockGetDataStart: m_state = eDockFlyToStart;
break;
110 case eDockFlyToStart: m_state = eDockGetDataEnd;
break;
111 case eDockGetDataEnd: m_state = eDockFlyToEnd;
break;
112 case eDockFlyToEnd: m_state = eDockingComplete;
break;
113 case eDockingComplete: m_state = eInvalidDockingStage;
break;
114 case eInvalidDockingStage:
break;
169 void Setup(
Body *obstructor,
double alt,
double vel,
int mode);
170 double MaxVel(
double targdist,
double targalt);
174 int m_obstructorIndex;
196 double m_leadTime, m_evadeTime, m_closeTime;
197 vector3d m_leadOffset, m_leadDrift, m_lastVel;
nlohmann::json Json
Definition: Json.h:8
Definition: ShipAICmd.h:77
virtual void SaveToJson(Json &jsonObj)
Definition: ShipAICmd.cpp:1212
virtual bool TimeStepUpdate()
Definition: ShipAICmd.cpp:1231
virtual void PostLoadFixup(Space *space)
Definition: ShipAICmd.cpp:1154
virtual void GetStatusText(char *str)
Definition: ShipAICmd.cpp:1146
virtual void OnDeleted(const Body *body)
Definition: ShipAICmd.cpp:1140
AICmdDock(DynamicBody *dBody, SpaceStation *target)
Definition: ShipAICmd.cpp:1163
Definition: ShipAICmd.h:147
double MaxVel(double targdist, double targalt)
Definition: ShipAICmd.cpp:1469
virtual void OnDeleted(const Body *body)
Definition: ShipAICmd.h:157
virtual void PostLoadFixup(Space *space)
Definition: ShipAICmd.cpp:1387
virtual bool TimeStepUpdate()
Definition: ShipAICmd.cpp:1482
virtual void SaveToJson(Json &jsonObj)
Definition: ShipAICmd.cpp:1455
virtual void GetStatusText(char *str)
Definition: ShipAICmd.cpp:1378
void Setup(Body *obstructor, double alt, double vel, int mode)
Definition: ShipAICmd.cpp:1396
AICmdFlyAround(DynamicBody *dBody, Body *obstructor, double relalt, int mode=2)
Definition: ShipAICmd.cpp:1420
void SetTargPos(const vector3d &targpos)
Definition: ShipAICmd.h:162
Definition: ShipAICmd.h:119
virtual void GetStatusText(char *str)
Definition: ShipAICmd.cpp:844
virtual void SaveToJson(Json &jsonObj)
Definition: ShipAICmd.cpp:929
virtual void OnDeleted(const Body *body)
Definition: ShipAICmd.cpp:838
AICmdFlyTo(DynamicBody *dBody, FrameId targframeId, const vector3d &posoff, double endvel, bool tangent)
Definition: ShipAICmd.cpp:898
virtual void PostLoadFixup(Space *space)
Definition: ShipAICmd.cpp:856
virtual bool TimeStepUpdate()
Definition: ShipAICmd.cpp:946
Definition: ShipAICmd.h:217
AICmdHoldPosition(DynamicBody *dBody)
Definition: ShipAICmd.cpp:1356
virtual bool TimeStepUpdate()
Definition: ShipAICmd.cpp:1371
Definition: ShipAICmd.h:201
virtual void PostLoadFixup(Space *space)
Definition: ShipAICmd.cpp:255
virtual void OnDeleted(const Body *body)
Definition: ShipAICmd.cpp:225
AICmdKamikaze(DynamicBody *dBody, Body *target)
Definition: ShipAICmd.cpp:231
virtual bool TimeStepUpdate()
Definition: ShipAICmd.cpp:264
virtual void SaveToJson(Json &jsonObj)
Definition: ShipAICmd.cpp:246
Definition: ShipAICmd.h:180
virtual bool TimeStepUpdate()
Definition: ShipAICmd.cpp:366
void PostLoadFixup(Space *space)
Definition: ShipAICmd.cpp:353
virtual void SaveToJson(Json &jsonObj)
Definition: ShipAICmd.cpp:339
AICmdKill(DynamicBody *dBody, Ship *target)
Definition: ShipAICmd.cpp:321
~AICmdKill()
Definition: ShipAICmd.cpp:348
virtual void OnDeleted(const Body *body)
Definition: ShipAICmd.cpp:315
Definition: ShipAICmd.h:19
std::unique_ptr< AICommand > m_child
Definition: ShipAICmd.h:70
virtual void GetStatusText(char *str)
Definition: ShipAICmd.h:43
DynamicBody * m_dBody
Definition: ShipAICmd.h:66
virtual void PostLoadFixup(Space *space)
Definition: ShipAICmd.cpp:75
static AICommand * LoadFromJson(const Json &jsonObj)
Definition: ShipAICmd.cpp:18
RefCountedPtr< FixedGuns > m_fguns
Definition: ShipAICmd.h:68
virtual void OnDeleted(const Body *body)
Definition: ShipAICmd.h:58
int m_dBodyIndex
Definition: ShipAICmd.h:74
bool ProcessChild()
Definition: ShipAICmd.cpp:82
CmdName m_cmdName
Definition: ShipAICmd.h:72
AICommand(DynamicBody *dBody, CmdName name)
Definition: ShipAICmd.h:33
CmdName
Definition: ShipAICmd.h:22
@ CMD_KILL
Definition: ShipAICmd.h:27
@ CMD_HOLDPOSITION
Definition: ShipAICmd.h:29
@ CMD_FLYTO
Definition: ShipAICmd.h:25
@ CMD_FORMATION
Definition: ShipAICmd.h:30
@ CMD_NONE
Definition: ShipAICmd.h:23
@ CMD_KAMIKAZE
Definition: ShipAICmd.h:28
@ CMD_FLYAROUND
Definition: ShipAICmd.h:26
@ CMD_DOCK
Definition: ShipAICmd.h:24
bool m_is_flyto
Definition: ShipAICmd.h:71
virtual ~AICommand()
Definition: ShipAICmd.h:39
RefCountedPtr< Propulsion > m_prop
Definition: ShipAICmd.h:67
virtual void SaveToJson(Json &jsonObj)
Definition: ShipAICmd.cpp:43
virtual bool TimeStepUpdate()=0
CmdName GetType() const
Definition: ShipAICmd.h:63
Definition: DynamicBody.h:15
AIError AIMessage(AIError msg=AIERROR_NONE)
Definition: DynamicBody.h:73
@ AIERROR_NONE
Definition: DynamicBody.h:67
Definition: SpaceStation.h:30