12#ifndef WSFIMPLICITWEAPON_HPP
13#define WSFIMPLICITWEAPON_HPP
15#include "wsf_mil_export.h"
40 void Update(
double aSimTime)
override;
55 int aEngagementId = 0);
89 size_t aWeaponPlatformIndex,
96 size_t mWeaponPlatformIndex{0};
99 EngagementData* mEngagementDataPtr{
nullptr};
103 WsfImplicitWeapon(
const WsfImplicitWeapon& aSrc);
115 using EngagementDataMap = std::map<int, EngagementData*>;
117 EngagementDataMap mEngagementDataMap;
UtStringId WsfStringId
WsfStringId – the same thing as UtStringId.
Definition WsfStringId.hpp:23
EventDisposition
Definition WsfEvent.hpp:37
Definition WsfImplicitWeapon.hpp:68
WsfStringId mTargetOffset
Definition WsfImplicitWeapon.hpp:77
std::unique_ptr< WsfTrack > mTargetTrackPtr
Definition WsfImplicitWeapon.hpp:78
bool mTerminateSet
Definition WsfImplicitWeapon.hpp:81
WsfWeaponEngagement * mEngagementPtr
Definition WsfImplicitWeapon.hpp:79
WsfStringId mTargetName
Definition WsfImplicitWeapon.hpp:75
size_t mTargetIndex
Definition WsfImplicitWeapon.hpp:76
int mEngagementId
Definition WsfImplicitWeapon.hpp:80
EngagementData & operator=(const EngagementData &)=delete
Definition WsfImplicitWeapon.hpp:85
TerminateEngagementEvent()=default
EventDisposition Execute() override
Definition WsfImplicitWeapon.cpp:455
WsfWeaponEngagement * GetCurrentEngagement() const
Definition WsfImplicitWeapon.cpp:341
WsfWeaponEngagement * GetEngagement(int aEngagementId=0) const
Definition WsfImplicitWeapon.cpp:321
void DeleteEngagementData(EngagementData *aEngagementDataPtr)
Definition WsfImplicitWeapon.cpp:440
WsfImplicitWeapon(const WsfScenario &aScenario)
Definition WsfImplicitWeapon.cpp:27
WsfStringId GetTargetName() const
Return the current target name.
Definition WsfImplicitWeapon.cpp:494
void ClearCurrentEngagement(double aSimTime)
Clear the current engagement.
Definition WsfImplicitWeapon.cpp:347
WsfImplicitWeapon & operator=(const WsfImplicitWeapon &)=delete
void ClearEngagement(double aSimTime, int aEngagementId=0)
Clear the current engagement.
Definition WsfImplicitWeapon.cpp:353
WsfStringId GetTargetOffset() const
Return the name id of the target offset, if any.
Definition WsfImplicitWeapon.cpp:505
bool BeginEngagement(double aSimTime, EngagementData *aEngagementDataPtr)
Definition WsfImplicitWeapon.cpp:161
Contains the data required to create a simulation, and acts as the entry point for input file process...
Definition WsfScenario.hpp:111
Definition WsfWeaponEngagement.hpp:43
Weapon firing options.
Definition WsfWeapon.hpp:275
Result of WsfWeapon::Fire().
Definition WsfWeapon.hpp:319
A target for a weapon to fire upon.
Definition WsfWeapon.hpp:243
WsfWeapon(const WsfScenario &aScenario)
Definition WsfWeapon.cpp:48
WsfWeapon * Clone() const override=0
bool Initialize(double aSimTime) override
Definition WsfWeapon.cpp:187
virtual void CeaseFire(double aSimTime)
Definition WsfWeapon.cpp:996
virtual FireResult Fire(double aSimTime, const FireTarget &aTarget, const FireOptions &aSettings)
Definition WsfWeapon.cpp:828
void Update(double aSimTime) override
Update the state of the weapon to the supplied time value.
Definition WsfWeapon.cpp:432
virtual void EngagementComplete(double aSimTime, WsfWeaponEngagement *aEngagementPtr)
Definition WsfWeapon.cpp:1308
const char * GetScriptClassName() const override
Definition WsfWeapon.cpp:164