Horizon Official Technical Documentation
Horizon::Zone::CombatRegistry::AttributeOperation::AttributeOperand Class Reference

#include <Combat.hpp>

+ Inheritance diagram for Horizon::Zone::CombatRegistry::AttributeOperation::AttributeOperand:
+ Collaboration diagram for Horizon::Zone::CombatRegistry::AttributeOperation::AttributeOperand:

Public Member Functions

 AttributeOperand ()=delete
 
 AttributeOperand (std::shared_ptr< Unit > source, std::shared_ptr< Unit > target, std::shared_ptr< Traits::Attribute > attribute)
 
 ~AttributeOperand ()
 
std::shared_ptr< Traits::Attributeget_attribute ()
 
void operator= (const AttributeOperand &operand)
 
- Public Member Functions inherited from Horizon::Zone::CombatRegistry::CombatOperand
virtual ~CombatOperand ()=default
 
virtual combat_operand_type get_type ()
 
std::shared_ptr< Unitget_source ()
 
std::shared_ptr< Unitget_target ()
 
void set_source (std::shared_ptr< Unit > source)
 
void set_target (std::shared_ptr< Unit > target)
 

Private Attributes

std::shared_ptr< Traits::Attribute_attribute
 

Additional Inherited Members

- Public Types inherited from Horizon::Zone::CombatRegistry::CombatOperand
enum  combat_operand_type {
  COMBAT_OPERAND_ATTRIBUTE = 0 , COMBAT_OPERAND_APPEARANCE = 1 , COMBAT_OPERAND_STATUS = 2 , COMBAT_OPERAND_SKILL_EXECUTION = 3 ,
  COMBAT_OPERAND_MELEE_EXECUTION = 4 , COMBAT_OPERAND_SKILL_RESULT = 5 , COMBAT_OPERAND_MELEE_RESULT = 6
}
 
- Protected Member Functions inherited from Horizon::Zone::CombatRegistry::CombatOperand
 CombatOperand ()=delete
 
 CombatOperand (CombatOperand &operand)=delete
 
 CombatOperand (CombatOperand &&operand)=delete
 
 CombatOperand (std::shared_ptr< Unit > source, std::shared_ptr< Unit > target, combat_operand_type type)
 
void operator= (const CombatOperand &operand)=delete
 
void operator= (CombatOperand &&operand)=delete
 

Constructor & Destructor Documentation

◆ AttributeOperand() [1/2]

Horizon::Zone::CombatRegistry::AttributeOperation::AttributeOperand::AttributeOperand ( )
delete

◆ AttributeOperand() [2/2]

Horizon::Zone::CombatRegistry::AttributeOperation::AttributeOperand::AttributeOperand ( std::shared_ptr< Unit source,
std::shared_ptr< Unit target,
std::shared_ptr< Traits::Attribute attribute 
)
inlineexplicit
354 : _attribute(attribute), CombatOperand(source, target, COMBAT_OPERAND_ATTRIBUTE) { }
std::shared_ptr< Traits::Attribute > _attribute
Definition: Combat.hpp:364
@ COMBAT_OPERAND_ATTRIBUTE
Definition: Combat.hpp:250

◆ ~AttributeOperand()

Horizon::Zone::CombatRegistry::AttributeOperation::AttributeOperand::~AttributeOperand ( )
inline
355{ }

Member Function Documentation

◆ get_attribute()

std::shared_ptr< Traits::Attribute > Horizon::Zone::CombatRegistry::AttributeOperation::AttributeOperand::get_attribute ( )
inline
357{ return _attribute; }

References _attribute.

Referenced by Horizon::Zone::CombatRegistry::AttributeOperation::execute(), and Horizon::Zone::CombatComponent::sync_data_types().

+ Here is the caller graph for this function:

◆ operator=()

void Horizon::Zone::CombatRegistry::AttributeOperation::AttributeOperand::operator= ( const AttributeOperand operand)
inline
360 {
361 _attribute = operand._attribute;
362 }

References _attribute.

Member Data Documentation

◆ _attribute

std::shared_ptr<Traits::Attribute> Horizon::Zone::CombatRegistry::AttributeOperation::AttributeOperand::_attribute
private

Referenced by get_attribute(), and operator=().


The documentation for this class was generated from the following file: