AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
CastSpellTargetArg Struct Reference

#include "SpellDefines.h"

Public Member Functions

 CastSpellTargetArg ()
 
 CastSpellTargetArg (std::nullptr_t)
 
 CastSpellTargetArg (WorldObject *target)
 
 CastSpellTargetArg (Item *itemTarget)
 
 CastSpellTargetArg (Position const &dest)
 
 CastSpellTargetArg (SpellCastTargets &&targets)
 
 CastSpellTargetArg (CastSpellTargetArg &&) noexcept
 
CastSpellTargetArg & operator= (CastSpellTargetArg &&) noexcept
 
 ~CastSpellTargetArg ()
 

Public Attributes

std::unique_ptr< SpellCastTargets > Targets
 

Detailed Description

Constructor & Destructor Documentation

◆ CastSpellTargetArg() [1/7]

CastSpellTargetArg::CastSpellTargetArg ( )
112: Targets(std::make_unique<SpellCastTargets>()) { }
std::unique_ptr< SpellCastTargets > Targets
Definition SpellDefines.h:215

◆ CastSpellTargetArg() [2/7]

CastSpellTargetArg::CastSpellTargetArg ( std::nullptr_t  )
113: Targets(std::make_unique<SpellCastTargets>()) { }

◆ CastSpellTargetArg() [3/7]

CastSpellTargetArg::CastSpellTargetArg ( WorldObject *  target)
116{
117 if (!target)
118 return; // null Targets signals error state
119 Targets = std::make_unique<SpellCastTargets>();
120 if (Unit* unit = target->ToUnit())
121 Targets->SetUnitTarget(unit);
122 else if (GameObject* go = target->ToGameObject())
123 Targets->SetGOTarget(go);
124 else if (Corpse* corpse = target->ToCorpse())
125 Targets->SetCorpseTarget(corpse);
126 else
127 Targets.reset();
128}
Targets
Definition SharedDefines.h:1413
Definition Corpse.h:49
Definition GameObject.h:120
Corpse * ToCorpse()
Definition Object.h:224
GameObject * ToGameObject()
Definition Object.h:220
Unit * ToUnit()
Definition Object.h:216
Definition Unit.h:665

References Object::ToCorpse(), Object::ToGameObject(), and Object::ToUnit().

◆ CastSpellTargetArg() [4/7]

CastSpellTargetArg::CastSpellTargetArg ( Item *  itemTarget)
131 : Targets(std::make_unique<SpellCastTargets>())
132{
133 Targets->SetItemTarget(itemTarget);
134}

◆ CastSpellTargetArg() [5/7]

CastSpellTargetArg::CastSpellTargetArg ( Position const &  dest)
137 : Targets(std::make_unique<SpellCastTargets>())
138{
139 Targets->SetDst(dest);
140}

◆ CastSpellTargetArg() [6/7]

CastSpellTargetArg::CastSpellTargetArg ( SpellCastTargets &&  targets)
143 : Targets(std::make_unique<SpellCastTargets>(std::move(targets))) { }

◆ CastSpellTargetArg() [7/7]

CastSpellTargetArg::CastSpellTargetArg ( CastSpellTargetArg &&  )
defaultnoexcept

◆ ~CastSpellTargetArg()

CastSpellTargetArg::~CastSpellTargetArg ( )
default

Member Function Documentation

◆ operator=()

CastSpellTargetArg & CastSpellTargetArg::operator= ( CastSpellTargetArg &&  )
defaultnoexcept

Member Data Documentation

◆ Targets

std::unique_ptr<SpellCastTargets> CastSpellTargetArg::Targets

The documentation for this struct was generated from the following files: