Example #1
0
const CVector& CObject::GetPosition ( void )
{
    CVector vecOldPosition = m_vecPosition;

    // Are we attached to something?
    if ( m_pAttachedTo ) GetAttachedPosition ( m_vecPosition );

    // Are we moving?
    else if ( IsMoving () )
    {
        SPositionRotation positionRotation;
        bool bStillRunning = m_pMoveAnimation->GetValue ( positionRotation );
        m_vecPosition = positionRotation.m_vecPosition;
        if ( !bStillRunning )
        {
            StopMoving ();
        }
    }

    if ( vecOldPosition != m_vecPosition )
        UpdateSpatialData ();     // This is necessary because 'GetAttachedPosition ( m_vecPosition )' can change alter this objects position
    // Finally, return it
    return m_vecPosition;
}
Example #2
0
const CVector & CElement::GetPosition ( void )
{
    if ( m_pAttachedTo ) GetAttachedPosition ( m_vecPosition );
    return m_vecPosition;
}
Example #3
0
const CVector & CVehicle::GetPosition ( void )
{
    // Are we attached to something?
    if ( m_pAttachedTo ) GetAttachedPosition ( m_vecPosition );
    return m_vecPosition;
}