mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-21 20:56:23 +00:00
fix(Core): C++ 11 rule of 3 compiant constructors (#3023)
This commit is contained in:
@@ -376,6 +376,12 @@ struct Position
|
||||
: m_positionX(x), m_positionY(y), m_positionZ(z), m_orientation(NormalizeOrientation(o)) { }
|
||||
|
||||
Position(Position const& loc) { Relocate(loc); }
|
||||
/* requried as of C++ 11 */
|
||||
#if __cplusplus >= 201103L
|
||||
Position(Position&&) = default;
|
||||
Position& operator=(const Position&) = default;
|
||||
Position& operator=(Position&&) = default;
|
||||
#endif
|
||||
|
||||
struct PositionXYStreamer
|
||||
{
|
||||
@@ -639,7 +645,13 @@ class WorldLocation : public Position
|
||||
public:
|
||||
explicit WorldLocation(uint32 _mapid = MAPID_INVALID, float _x = 0, float _y = 0, float _z = 0, float _o = 0)
|
||||
: m_mapId(_mapid) { Relocate(_x, _y, _z, _o); }
|
||||
WorldLocation(const WorldLocation &loc) { WorldRelocate(loc); }
|
||||
WorldLocation(const WorldLocation &loc) : Position () { WorldRelocate(loc); }
|
||||
/* requried as of C++ 11 */
|
||||
#if __cplusplus >= 201103L
|
||||
WorldLocation(WorldLocation&&) = default;
|
||||
WorldLocation& operator=(const WorldLocation&) = default;
|
||||
WorldLocation& operator=(WorldLocation&&) = default;
|
||||
#endif
|
||||
|
||||
void WorldRelocate(const WorldLocation &loc)
|
||||
{
|
||||
|
||||
@@ -657,7 +657,7 @@ enum NPCFlags
|
||||
UNIT_NPC_FLAG_GUILD_BANKER = 0x00800000, // cause client to send 997 opcode
|
||||
UNIT_NPC_FLAG_SPELLCLICK = 0x01000000, // cause client to send 1015 opcode (spell click)
|
||||
UNIT_NPC_FLAG_PLAYER_VEHICLE = 0x02000000, // players with mounts that have vehicle data should have it set
|
||||
UNIT_NPC_FLAG_MAILBOX = 0x04000000 //
|
||||
UNIT_NPC_FLAG_MAILBOX = 0x04000000 //
|
||||
};
|
||||
|
||||
enum MovementFlags
|
||||
@@ -1314,6 +1314,12 @@ public:
|
||||
_posOwner.Relocate(c._posOwner);
|
||||
_posTarget.Relocate(c._posTarget);
|
||||
}
|
||||
/* requried as of C++ 11 */
|
||||
#if __cplusplus >= 201103L
|
||||
MMapTargetData(MMapTargetData&&) = default;
|
||||
MMapTargetData& operator=(const MMapTargetData&) = default;
|
||||
MMapTargetData& operator=(MMapTargetData&&) = default;
|
||||
#endif
|
||||
bool PosChanged(const Position& o, const Position& t) const
|
||||
{
|
||||
return _posOwner.GetExactDistSq(&o) > 0.5f*0.5f || _posTarget.GetExactDistSq(&t) > 0.5f*0.5f;
|
||||
|
||||
@@ -68,6 +68,12 @@ namespace Movement
|
||||
MoveSplineFlag() { raw() = 0; }
|
||||
MoveSplineFlag(uint32 f) { raw() = f; }
|
||||
MoveSplineFlag(const MoveSplineFlag& f) { raw() = f.raw(); }
|
||||
/* requried as of C++ 11 */
|
||||
#if __cplusplus >= 201103L
|
||||
MoveSplineFlag(MoveSplineFlag&&) = default;
|
||||
MoveSplineFlag& operator=(const MoveSplineFlag&) = default;
|
||||
MoveSplineFlag& operator=(MoveSplineFlag&&) = default;
|
||||
#endif
|
||||
|
||||
// Constant interface
|
||||
|
||||
|
||||
Reference in New Issue
Block a user