From 7b3b333dd5b0bdb8a176d54571eb424ecec20bdc Mon Sep 17 00:00:00 2001 From: treeston Date: Wed, 31 Aug 2016 21:41:23 +0200 Subject: Core/Position: Allow implicit casting to G3D::Vector. Also, add a utility overload to MotionMaster. (cherry picked from commit 9f15482b849d7a77a4a0cc68f18aabb8ee6c58c9) --- src/server/game/Entities/Object/Position.cpp | 5 +++++ src/server/game/Entities/Object/Position.h | 2 ++ 2 files changed, 7 insertions(+) (limited to 'src/server/game/Entities/Object') diff --git a/src/server/game/Entities/Object/Position.cpp b/src/server/game/Entities/Object/Position.cpp index ad3c5a2b03b..6c5ad7a97ef 100644 --- a/src/server/game/Entities/Object/Position.cpp +++ b/src/server/game/Entities/Object/Position.cpp @@ -26,6 +26,11 @@ Position::Position(G3D::Vector3 const& vect) Relocate(vect.x, vect.y, vect.z, 0.f); } +Position::operator G3D::Vector3() const +{ + return { m_positionX, m_positionY, m_positionZ }; +} + bool Position::operator==(Position const &a) { return (G3D::fuzzyEq(a.m_positionX, m_positionX) && diff --git a/src/server/game/Entities/Object/Position.h b/src/server/game/Entities/Object/Position.h index b814b6bf9ed..1553d4e0791 100644 --- a/src/server/game/Entities/Object/Position.h +++ b/src/server/game/Entities/Object/Position.h @@ -33,6 +33,8 @@ struct TC_GAME_API Position Position(G3D::Vector3 const& vect); + operator G3D::Vector3() const; + struct PositionXYStreamer { explicit PositionXYStreamer(Position& pos) : Pos(&pos) { } -- cgit v1.2.3