WSF
wsf::cyber::EngagementManager::EngagementData Class Reference

#include <WsfCyberEngagementManager.hpp>

Collaboration diagram for wsf::cyber::EngagementManager::EngagementData:

Public Member Functions

 EngagementData (Engagement aEngagement)
 EngagementData requires an engagement. Engagements can be moved, but not copied.
 ~EngagementData ()=default
 EngagementData (const EngagementData &aSrc)=delete
 EngagementData (EngagementData &&aSrc)=default
Effect * GetEffect (const std::string &aEffectName) const
EngagementGetEngagement ()
const AttackParametersGetParameters () const
bool IsParametersValid () const
Effect & AddEffect (const std::string &aEffectName)
void RemoveEffect (const std::string &aEffectName)
void RemoveEffects ()
void AddParameters (const AttackParameters &aParameters)
void RemoveParameters ()

Protected Attributes

Engagement mEngagement
std::list< UtCloneablePtr< Effect > > mEngagementEffects {}
AttackParameters mParameters {}
bool mParametersValid {false}

Detailed Description

A unified class container for holding all data associated with a particular engagement used by the manager.

Constructor & Destructor Documentation

◆ EngagementData() [1/3]

wsf::cyber::EngagementManager::EngagementData::EngagementData ( Engagement aEngagement)
inline

EngagementData requires an engagement. Engagements can be moved, but not copied.

References mEngagement.

Referenced by EngagementData(), and EngagementData().

◆ ~EngagementData()

wsf::cyber::EngagementManager::EngagementData::~EngagementData ( )
default

◆ EngagementData() [2/3]

wsf::cyber::EngagementManager::EngagementData::EngagementData ( const EngagementData & aSrc)
delete

No copying of data. Move semantics is allowed. We prevent copy constructor usage due to WsfScriptContext using a semantically incorrect implementation - copies require initialization calls that we don't want to do over again.

References EngagementData().

◆ EngagementData() [3/3]

wsf::cyber::EngagementManager::EngagementData::EngagementData ( EngagementData && aSrc)
default

References EngagementData(), and GetEffect().

Member Function Documentation

◆ AddEffect()

Effect & wsf::cyber::EngagementManager::EngagementData::AddEffect ( const std::string & aEffectName)

◆ AddParameters()

void wsf::cyber::EngagementManager::EngagementData::AddParameters ( const AttackParameters & aParameters)

References mParameters, and mParametersValid.

◆ GetEffect()

Effect * wsf::cyber::EngagementManager::EngagementData::GetEffect ( const std::string & aEffectName) const

◆ GetEngagement()

◆ GetParameters()

const AttackParameters & wsf::cyber::EngagementManager::EngagementData::GetParameters ( ) const
inline

References mParameters.

◆ IsParametersValid()

bool wsf::cyber::EngagementManager::EngagementData::IsParametersValid ( ) const
inline

References mParametersValid.

◆ RemoveEffect()

void wsf::cyber::EngagementManager::EngagementData::RemoveEffect ( const std::string & aEffectName)

References mEngagementEffects.

◆ RemoveEffects()

void wsf::cyber::EngagementManager::EngagementData::RemoveEffects ( )

◆ RemoveParameters()

void wsf::cyber::EngagementManager::EngagementData::RemoveParameters ( )

References mParametersValid.

Referenced by RemoveEffects().

Member Data Documentation

◆ mEngagement

Engagement wsf::cyber::EngagementManager::EngagementData::mEngagement
protected

◆ mEngagementEffects

std::list<UtCloneablePtr<Effect> > wsf::cyber::EngagementManager::EngagementData::mEngagementEffects {}
protected

Do not modify this to use another container type. std::list is used to avoid copies on insertion and removal.

Referenced by AddEffect(), GetEffect(), RemoveEffect(), and RemoveEffects().

◆ mParameters

AttackParameters wsf::cyber::EngagementManager::EngagementData::mParameters {}
protected

◆ mParametersValid

bool wsf::cyber::EngagementManager::EngagementData::mParametersValid {false}
protected

The documentation for this class was generated from the following files:
Copyrights Multiple, All Rights Reserved