cEntity: Added mass to entities.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1430 0a769ca7-a7f5-676a-18bf-c427514a06d6master
parent
a0f7dea3be
commit
55b8495bf3
|
@ -33,6 +33,7 @@ cEntity::cEntity(eEntityType a_EntityType, double a_X, double a_Y, double a_Z)
|
||||||
, m_HeadYaw( 0.0 )
|
, m_HeadYaw( 0.0 )
|
||||||
, m_Rot(0.0, 0.0, 0.0)
|
, m_Rot(0.0, 0.0, 0.0)
|
||||||
, m_Pos(a_X, a_Y, a_Z)
|
, m_Pos(a_X, a_Y, a_Z)
|
||||||
|
, m_Mass (0.001) //Default 1g
|
||||||
, m_bDirtyHead(true)
|
, m_bDirtyHead(true)
|
||||||
, m_bDirtyOrientation(true)
|
, m_bDirtyOrientation(true)
|
||||||
, m_bDirtyPosition(true)
|
, m_bDirtyPosition(true)
|
||||||
|
@ -506,6 +507,25 @@ void cEntity::SetHeadYaw(double a_HeadYaw)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void cEntity::SetMass(double a_Mass)
|
||||||
|
{
|
||||||
|
if (a_Mass > 0)
|
||||||
|
{
|
||||||
|
m_Mass = a_Mass;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//Make sure that mass is not zero. 1g is the default because we
|
||||||
|
//have to choose a number. It's perfectly legal to have a mass
|
||||||
|
//less than 1g as long as is NOT equal or less than zero.
|
||||||
|
m_Mass = 0.001;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void cEntity::SetRotation(double a_Rotation)
|
void cEntity::SetRotation(double a_Rotation)
|
||||||
{
|
{
|
||||||
m_Rot.x = a_Rotation;
|
m_Rot.x = a_Rotation;
|
||||||
|
|
|
@ -107,6 +107,7 @@ public:
|
||||||
cWorld * GetWorld(void) const { return m_World; }
|
cWorld * GetWorld(void) const { return m_World; }
|
||||||
|
|
||||||
double GetHeadYaw (void) const {return m_HeadYaw; }
|
double GetHeadYaw (void) const {return m_HeadYaw; }
|
||||||
|
double GetMass (void) const {return m_Mass; }
|
||||||
const Vector3d & GetPosition (void) const {return m_Pos; }
|
const Vector3d & GetPosition (void) const {return m_Pos; }
|
||||||
double GetPosX (void) const {return m_Pos.x; }
|
double GetPosX (void) const {return m_Pos.x; }
|
||||||
double GetPosY (void) const {return m_Pos.y; }
|
double GetPosY (void) const {return m_Pos.y; }
|
||||||
|
@ -125,6 +126,7 @@ public:
|
||||||
int GetChunkZ(void) const {return FAST_FLOOR_DIV(((int)m_Pos.z), cChunkDef::Width); }
|
int GetChunkZ(void) const {return FAST_FLOOR_DIV(((int)m_Pos.z), cChunkDef::Width); }
|
||||||
|
|
||||||
void SetHeadYaw (double a_HeadYaw);
|
void SetHeadYaw (double a_HeadYaw);
|
||||||
|
void SetMass (double a_Mass);
|
||||||
void SetPosX (double a_PosX);
|
void SetPosX (double a_PosX);
|
||||||
void SetPosY (double a_PosY);
|
void SetPosY (double a_PosY);
|
||||||
void SetPosZ (double a_PosZ);
|
void SetPosZ (double a_PosZ);
|
||||||
|
@ -247,11 +249,18 @@ protected:
|
||||||
void ReferencedBy( cEntity*& a_EntityPtr );
|
void ReferencedBy( cEntity*& a_EntityPtr );
|
||||||
void Dereference( cEntity*& a_EntityPtr );
|
void Dereference( cEntity*& a_EntityPtr );
|
||||||
private:
|
private:
|
||||||
|
//Measured in degrees (MAX 360°)
|
||||||
double m_HeadYaw;
|
double m_HeadYaw;
|
||||||
|
//Measured in meter/second (m/s)
|
||||||
Vector3d m_Speed;
|
Vector3d m_Speed;
|
||||||
|
//Measured in degrees (MAX 360°)
|
||||||
Vector3d m_Rot;
|
Vector3d m_Rot;
|
||||||
|
//Measured in meters (1 meter = 1 block) (m)
|
||||||
Vector3d m_Pos;
|
Vector3d m_Pos;
|
||||||
|
//Measured in meter/second
|
||||||
Vector3d m_WaterSpeed;
|
Vector3d m_WaterSpeed;
|
||||||
|
//Measured in Kilograms (Kg)
|
||||||
|
double m_Mass
|
||||||
} ; // tolua_export
|
} ; // tolua_export
|
||||||
|
|
||||||
typedef std::list<cEntity *> cEntityList;
|
typedef std::list<cEntity *> cEntityList;
|
||||||
|
|
Loading…
Reference in New Issue