TrinityCore
Loading...
Searching...
No Matches
AreaTriggerCreateProperties Class Reference

#include <AreaTriggerTemplate.h>

Public Member Functions

 AreaTriggerCreateProperties ()
 
 ~AreaTriggerCreateProperties ()
 
bool HasSplines () const
 
float GetMaxSearchRadius () const
 

Public Attributes

uint32 Id
 
AreaTriggerTemplate const * Template
 
uint32 MoveCurveId
 
uint32 ScaleCurveId
 
uint32 MorphCurveId
 
uint32 FacingCurveId
 
int32 AnimId
 
int32 AnimKitId
 
uint32 DecalPropertiesId
 
uint32 TimeToTarget
 
uint32 TimeToTargetScale
 
AreaTriggerScaleInfo OverrideScale
 
AreaTriggerScaleInfo ExtraScale
 
AreaTriggerShapeInfo Shape
 
std::vector< TaggedPosition< Position::XY > > PolygonVertices
 
std::vector< TaggedPosition< Position::XY > > PolygonVerticesTarget
 
std::vector< PositionSplinePoints
 
Optional< AreaTriggerOrbitInfoOrbitInfo
 
uint32 ScriptId
 

Constructor & Destructor Documentation

◆ AreaTriggerCreateProperties()

AreaTriggerCreateProperties::AreaTriggerCreateProperties ( )
67{
68 Id = 0;
69
70 MoveCurveId = 0;
71 ScaleCurveId = 0;
72 MorphCurveId = 0;
73 FacingCurveId = 0;
74
75 AnimId = 0;
76 AnimKitId = 0;
77
79
80 TimeToTarget = 0;
82
83 // legacy code from before it was known what each curve field does
84 // wtf? thats not how you pack curve data
85 float tmp = 1.0000001f;
86 memcpy(&ExtraScale.Data.Raw[5], &tmp, sizeof(tmp));
87 // also OverrideActive does nothing on ExtraScale
89
90 Template = nullptr;
91
92 ScriptId = 0;
93}
uint32 TimeToTarget
Definition: AreaTriggerTemplate.h:245
uint32 Id
Definition: AreaTriggerTemplate.h:232
int32 AnimKitId
Definition: AreaTriggerTemplate.h:241
uint32 MoveCurveId
Definition: AreaTriggerTemplate.h:235
uint32 ScaleCurveId
Definition: AreaTriggerTemplate.h:236
uint32 ScriptId
Definition: AreaTriggerTemplate.h:258
AreaTriggerScaleInfo ExtraScale
Definition: AreaTriggerTemplate.h:249
uint32 MorphCurveId
Definition: AreaTriggerTemplate.h:237
uint32 FacingCurveId
Definition: AreaTriggerTemplate.h:238
AreaTriggerTemplate const * Template
Definition: AreaTriggerTemplate.h:233
uint32 DecalPropertiesId
Definition: AreaTriggerTemplate.h:243
uint32 TimeToTargetScale
Definition: AreaTriggerTemplate.h:246
int32 AnimId
Definition: AreaTriggerTemplate.h:240
uint32 Raw[MAX_AREATRIGGER_SCALE]
Definition: AreaTriggerTemplate.h:116
struct AreaTriggerScaleInfo::@197::@198 Structured
union AreaTriggerScaleInfo::@197 Data
uint32 OverrideActive
Definition: AreaTriggerTemplate.h:113

◆ ~AreaTriggerCreateProperties()

AreaTriggerCreateProperties::~AreaTriggerCreateProperties ( )
96{
97}

Member Function Documentation

◆ GetMaxSearchRadius()

float AreaTriggerCreateProperties::GetMaxSearchRadius ( ) const
105{
107 {
108 Position center(0.0f, 0.0f);
109 float maxSearchRadius = 0.0f;
110
111 for (TaggedPosition<Position::XY> const& vertice : PolygonVertices)
112 {
113 float pointDist = center.GetExactDist2d(vertice);
114
115 if (pointDist > maxSearchRadius)
116 maxSearchRadius = pointDist;
117 }
118
119 return maxSearchRadius;
120 }
121
122 return Shape.GetMaxSearchRadius();
123}
@ AREATRIGGER_TYPE_POLYGON
Definition: AreaTriggerTemplate.h:51
std::vector< TaggedPosition< Position::XY > > PolygonVertices
Definition: AreaTriggerTemplate.h:252
AreaTriggerShapeInfo Shape
Definition: AreaTriggerTemplate.h:251
float GetMaxSearchRadius() const
Definition: AreaTriggerTemplate.cpp:35
AreaTriggerTypes Type
Definition: AreaTriggerTemplate.h:132
Definition: Position.h:28
Definition: Position.h:203
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ HasSplines()

bool AreaTriggerCreateProperties::HasSplines ( ) const
100{
101 return SplinePoints.size() >= 2;
102}
std::vector< Position > SplinePoints
Definition: AreaTriggerTemplate.h:255

Member Data Documentation

◆ AnimId

int32 AreaTriggerCreateProperties::AnimId

◆ AnimKitId

int32 AreaTriggerCreateProperties::AnimKitId

◆ DecalPropertiesId

uint32 AreaTriggerCreateProperties::DecalPropertiesId

◆ ExtraScale

AreaTriggerScaleInfo AreaTriggerCreateProperties::ExtraScale

◆ FacingCurveId

uint32 AreaTriggerCreateProperties::FacingCurveId

◆ Id

uint32 AreaTriggerCreateProperties::Id

◆ MorphCurveId

uint32 AreaTriggerCreateProperties::MorphCurveId

◆ MoveCurveId

uint32 AreaTriggerCreateProperties::MoveCurveId

◆ OrbitInfo

Optional<AreaTriggerOrbitInfo> AreaTriggerCreateProperties::OrbitInfo

◆ OverrideScale

AreaTriggerScaleInfo AreaTriggerCreateProperties::OverrideScale

◆ PolygonVertices

std::vector<TaggedPosition<Position::XY> > AreaTriggerCreateProperties::PolygonVertices

◆ PolygonVerticesTarget

std::vector<TaggedPosition<Position::XY> > AreaTriggerCreateProperties::PolygonVerticesTarget

◆ ScaleCurveId

uint32 AreaTriggerCreateProperties::ScaleCurveId

◆ ScriptId

uint32 AreaTriggerCreateProperties::ScriptId

◆ Shape

AreaTriggerShapeInfo AreaTriggerCreateProperties::Shape

◆ SplinePoints

std::vector<Position> AreaTriggerCreateProperties::SplinePoints

◆ Template

AreaTriggerTemplate const* AreaTriggerCreateProperties::Template

◆ TimeToTarget

uint32 AreaTriggerCreateProperties::TimeToTarget

◆ TimeToTargetScale

uint32 AreaTriggerCreateProperties::TimeToTargetScale

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