15#ifndef WSFEW_AGILITYEFFECT_HPP
16#define WSFEW_AGILITYEFFECT_HPP
18#include "wsf_mil_export.h"
54 const ut::optional<WsfEM_Interaction>& aTgtToJammerInteraction,
68 class AgilityDataValues
77 virtual ~AgilityDataValues() =
default;
79 bool operator==(
const AgilityDataValues& aRhs)
const;
80 bool operator!=(
const AgilityDataValues& aRhs)
const;
87 using AgilityDataVec = std::vector<AgilityDataValues>;
88 using AgilityDataVecIter = std::vector<AgilityDataValues>::iterator;
91 using AgilityMap = std::map<unsigned int, AgilityDataVec>;
92 using AgilityMapIter = std::map<unsigned int, AgilityDataVec>::iterator;
98 using CurrentIdMap = std::map<unsigned int, int>;
102 AgilityMap mAgilityMap;
105 int mAgilityTypeMask = 0;
108 bool mFrequencyChangeScheduled =
false;
109 bool mModeChangeScheduled =
false;
bool operator!=(int aId, const WsfStringInt &aRhs)
Not equal relational operator for the case of an integer on the LHS and a StringId on the RHS.
Definition WsfStringId.hpp:75
bool operator==(int aId, const WsfStringInt &aRhs)
Equal relational operator for the case of an integer on the LHS and a StringId on the RHS.
Definition WsfStringId.hpp:69
UtStringId WsfStringId
WsfStringId – the same thing as UtStringId.
Definition WsfStringId.hpp:23
Definition WsfEM_Interaction.hpp:68
Definition WsfEW_AgilityEffect.hpp:30
WsfEW_AgilityEffect & operator=(const WsfEW_AgilityEffect &)=delete
WsfEW_AgilityEffect(const WsfEW_AgilityEffect &aSrc)=default
AgilityType
Definition WsfEW_AgilityEffect.hpp:33
@ cAT_MODE
Definition WsfEW_AgilityEffect.hpp:34
@ cAT_FREQUENCY
Definition WsfEW_AgilityEffect.hpp:35
~WsfEW_AgilityEffect() override=default
WsfEW_AgilityEffect & operator=(WsfEW_AgilityEffect &&)=default
WsfEW_AgilityEffect(WsfEW_AgilityEffect &&)=default
int GetAgilityTypeMask() const
Definition WsfEW_AgilityEffect.hpp:61
WsfEW_AgilityEffect()
Definition WsfEW_AgilityEffect.cpp:38
WsfEW_Effect * Clone() const override=0
virtual void UpdateEffects(double aSimTime, const WsfEM_Interaction &aTargetInteraction, const WsfEM_Interaction &aJammerToTgtInteraction, const ut::optional< WsfEM_Interaction > &aTgtToJammerInteraction, WsfEW_Effects &aEW_Effects, WsfEW_Effect *aEW_EffectPtr=nullptr)
Definition WsfEW_Effect.cpp:374
virtual bool Initialize(WsfSimulation &aSimulation)
Definition WsfEW_Effect.cpp:69
virtual void ApplyUnmitigatedEffect(WsfEW_Effects &aEW_Effects) const =0
virtual void ApplyMitigatedEffect(WsfEW_Effect *aEW_EffectPtr, WsfEW_Effects &aEW_Effects) const =0
bool ProcessInput(UtInput &aInput) override
Definition WsfEW_Effect.cpp:110
Definition WsfEW_Effects.hpp:41
The main controller for a simulation.
Definition WsfSimulation.hpp:109