mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-15 23:20:36 +01:00
Core/PacketIO: Remove duplicated areatrigger spline packet writer
This commit is contained in:
@@ -17,20 +17,22 @@
|
||||
|
||||
#include "AreaTriggerPackets.h"
|
||||
#include "PacketOperators.h"
|
||||
#include "Spline.h"
|
||||
|
||||
namespace WorldPackets::AreaTrigger
|
||||
{
|
||||
void WriteAreaTriggerSpline(ByteBuffer& data, uint32 timeToTarget, uint32 elapsedTimeForMovement, ::Movement::Spline<float> const& areaTriggerSpline)
|
||||
{
|
||||
data << uint32(timeToTarget);
|
||||
data << uint32(elapsedTimeForMovement);
|
||||
|
||||
data << BitsSize<16>(areaTriggerSpline.getPoints());
|
||||
data.append(reinterpret_cast<float const*>(areaTriggerSpline.getPoints().data()), areaTriggerSpline.getPoints().size() * 3);
|
||||
}
|
||||
|
||||
ByteBuffer& operator<<(ByteBuffer& data, AreaTriggerSplineInfo const& areaTriggerSpline)
|
||||
{
|
||||
data << uint32(areaTriggerSpline.TimeToTarget);
|
||||
data << uint32(areaTriggerSpline.ElapsedTimeForMovement);
|
||||
|
||||
data << BitsSize<16>(areaTriggerSpline.Points);
|
||||
data.FlushBits();
|
||||
|
||||
for (TaggedPosition<Position::XYZ> const& point : areaTriggerSpline.Points)
|
||||
data << point;
|
||||
|
||||
WriteAreaTriggerSpline(data, areaTriggerSpline.TimeToTarget, areaTriggerSpline.ElapsedTimeForMovement, *areaTriggerSpline.Points);
|
||||
return data;
|
||||
}
|
||||
|
||||
|
||||
@@ -23,6 +23,12 @@
|
||||
#include "ObjectGuid.h"
|
||||
#include "Optional.h"
|
||||
|
||||
namespace Movement
|
||||
{
|
||||
template<class index_type>
|
||||
class Spline;
|
||||
}
|
||||
|
||||
namespace WorldPackets
|
||||
{
|
||||
namespace AreaTrigger
|
||||
@@ -31,7 +37,7 @@ namespace WorldPackets
|
||||
{
|
||||
uint32 TimeToTarget = 0;
|
||||
uint32 ElapsedTimeForMovement = 0;
|
||||
std::vector<TaggedPosition<Position::XYZ>> Points;
|
||||
::Movement::Spline<float>* Points = nullptr;
|
||||
};
|
||||
|
||||
struct AreaTriggerMovementScriptInfo
|
||||
@@ -96,6 +102,7 @@ namespace WorldPackets
|
||||
uint32 SpellVisualID = 0;
|
||||
};
|
||||
|
||||
void WriteAreaTriggerSpline(ByteBuffer& data, uint32 timeToTarget, uint32 elapsedTimeForMovement, ::Movement::Spline<float> const& areaTriggerSpline);
|
||||
ByteBuffer& operator<<(ByteBuffer& data, AreaTriggerOrbitInfo const& areaTriggerCircularMovement);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -513,12 +513,6 @@ void CommonMovement::WriteCreateObjectSplineDataBlock(::Movement::MoveSpline con
|
||||
}
|
||||
}
|
||||
|
||||
void CommonMovement::WriteCreateObjectAreaTriggerSpline(::Movement::Spline<float> const& spline, ByteBuffer& data)
|
||||
{
|
||||
data << BitsSize<16>(spline.getPoints());
|
||||
data.append(reinterpret_cast<float const*>(spline.getPoints().data()), spline.getPoints().size() * 3);
|
||||
}
|
||||
|
||||
void CommonMovement::WriteMovementForceWithDirection(MovementForce const& movementForce, ByteBuffer& data, Position const* objectPosition /*= nullptr*/)
|
||||
{
|
||||
data << movementForce.ID;
|
||||
|
||||
@@ -25,8 +25,6 @@
|
||||
|
||||
namespace Movement
|
||||
{
|
||||
template<class index_type>
|
||||
class Spline;
|
||||
class MoveSpline;
|
||||
}
|
||||
|
||||
@@ -148,7 +146,6 @@ namespace WorldPackets
|
||||
{
|
||||
public:
|
||||
static void WriteCreateObjectSplineDataBlock(::Movement::MoveSpline const& moveSpline, ByteBuffer& data);
|
||||
static void WriteCreateObjectAreaTriggerSpline(::Movement::Spline<float> const& spline, ByteBuffer& data);
|
||||
|
||||
static void WriteMovementForceWithDirection(MovementForce const& movementForce, ByteBuffer& data, Position const* objectPosition = nullptr);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user