mirror of
https://github.com/mangosfour/server.git
synced 2025-12-15 01:37:00 +00:00
[11342] Use Position struct to hold object coordinates - minor code refactoring.
Signed-off-by: Ambal <pogrebniak@gala.net>
This commit is contained in:
parent
ece78f44fa
commit
695ad4d54e
5 changed files with 30 additions and 37 deletions
|
|
@ -1037,8 +1037,7 @@ void Object::MarkForClientUpdate()
|
|||
}
|
||||
|
||||
WorldObject::WorldObject()
|
||||
: m_isActiveObject(false), m_currMap(NULL), m_mapId(0), m_InstanceId(0), m_phaseMask(PHASEMASK_NORMAL),
|
||||
m_positionX(0.0f), m_positionY(0.0f), m_positionZ(0.0f), m_orientation(0.0f)
|
||||
: m_isActiveObject(false), m_currMap(NULL), m_mapId(0), m_InstanceId(0), m_phaseMask(PHASEMASK_NORMAL)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
@ -1055,10 +1054,10 @@ void WorldObject::_Create( uint32 guidlow, HighGuid guidhigh, uint32 phaseMask )
|
|||
|
||||
void WorldObject::Relocate(float x, float y, float z, float orientation)
|
||||
{
|
||||
m_positionX = x;
|
||||
m_positionY = y;
|
||||
m_positionZ = z;
|
||||
m_orientation = orientation;
|
||||
m_position.x = x;
|
||||
m_position.y = y;
|
||||
m_position.z = z;
|
||||
m_position.o = orientation;
|
||||
|
||||
if(isType(TYPEMASK_UNIT))
|
||||
((Unit*)this)->m_movementInfo.ChangePosition(x, y, z, orientation);
|
||||
|
|
@ -1066,9 +1065,9 @@ void WorldObject::Relocate(float x, float y, float z, float orientation)
|
|||
|
||||
void WorldObject::Relocate(float x, float y, float z)
|
||||
{
|
||||
m_positionX = x;
|
||||
m_positionY = y;
|
||||
m_positionZ = z;
|
||||
m_position.x = x;
|
||||
m_position.y = y;
|
||||
m_position.z = z;
|
||||
|
||||
if(isType(TYPEMASK_UNIT))
|
||||
((Unit*)this)->m_movementInfo.ChangePosition(x, y, z, GetOrientation());
|
||||
|
|
@ -1076,7 +1075,7 @@ void WorldObject::Relocate(float x, float y, float z)
|
|||
|
||||
void WorldObject::SetOrientation(float orientation)
|
||||
{
|
||||
m_orientation = orientation;
|
||||
m_position.o = orientation;
|
||||
|
||||
if(isType(TYPEMASK_UNIT))
|
||||
((Unit*)this)->m_movementInfo.ChangeOrientation(orientation);
|
||||
|
|
@ -1084,17 +1083,17 @@ void WorldObject::SetOrientation(float orientation)
|
|||
|
||||
uint32 WorldObject::GetZoneId() const
|
||||
{
|
||||
return GetTerrain()->GetZoneId(m_positionX, m_positionY, m_positionZ);
|
||||
return GetTerrain()->GetZoneId(m_position.x, m_position.y, m_position.z);
|
||||
}
|
||||
|
||||
uint32 WorldObject::GetAreaId() const
|
||||
{
|
||||
return GetTerrain()->GetAreaId(m_positionX, m_positionY, m_positionZ);
|
||||
return GetTerrain()->GetAreaId(m_position.x, m_position.y, m_position.z);
|
||||
}
|
||||
|
||||
void WorldObject::GetZoneAndAreaId(uint32& zoneid, uint32& areaid) const
|
||||
{
|
||||
GetTerrain()->GetZoneAndAreaId(zoneid, areaid, m_positionX, m_positionY, m_positionZ);
|
||||
GetTerrain()->GetZoneAndAreaId(zoneid, areaid, m_position.x, m_position.y, m_position.z);
|
||||
}
|
||||
|
||||
InstanceData* WorldObject::GetInstanceData() const
|
||||
|
|
@ -1324,7 +1323,7 @@ bool WorldObject::HasInArc(const float arcangle, const WorldObject* obj) const
|
|||
arc = MapManager::NormalizeOrientation(arc);
|
||||
|
||||
float angle = GetAngle( obj );
|
||||
angle -= m_orientation;
|
||||
angle -= m_position.o;
|
||||
|
||||
// move angle to range -pi ... +pi
|
||||
angle = MapManager::NormalizeOrientation(angle);
|
||||
|
|
@ -1452,7 +1451,7 @@ void WorldObject::UpdateAllowedPositionZ(float x, float y, float &z) const
|
|||
|
||||
bool WorldObject::IsPositionValid() const
|
||||
{
|
||||
return MaNGOS::IsValidMapCoord(m_positionX,m_positionY,m_positionZ,m_orientation);
|
||||
return MaNGOS::IsValidMapCoord(m_position.x,m_position.y,m_position.z,m_position.o);
|
||||
}
|
||||
|
||||
void WorldObject::MonsterSay(const char* text, uint32 language, Unit* target)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue