//////////////////////////////////////////////////////////////////////////////
//
// Asura_ClientEntity_PhysicsObject.cpp
//
// Copyright (c) 2006 Rebellion. All rights reserved.
//
//////////////////////////////////////////////////////////////////////////////

// I N C L U D E S ///////////////////////////////////////////////////////////

#include "Core/Asura.h"

// This file's header.
#include "Entity/PhysicalObject/Asura_ClientEntity_PhysicsObject.h"

// Engine independent.

#include "Entity/Asura_Entity_Classification.h"

#include "ChunkSystem/Asura_Chunk_Macros.h"
#include "Entity/PhysicalObject/Asura_ServerEntity_PhysicsObject.h"
#include "Network/Asura_Message.h"
#include "Network/Asura_Network.h"

// C L A S S   I M P L E M E N T A T I O N S /////////////////////////////////

//
// Asura_ClientEntity_PhysicsObject
//

Asura_ClientEntity_PhysicsObject::Asura_ClientEntity_PhysicsObject( void )
{
    Classification = AsuraEntityClass_PhysicsObject;
}


bool Asura_ClientEntity_PhysicsObject::HandleMessage( const Asura_Message* pxMsg )
{
    switch( pxMsg->GetMsgID() )
    {
        case ASURA_MSG_CLIENTUPDATE:
        {
            const Asura_MsgData_PhysicsObject_ClientUpdate* pxMsgData = static_cast<const Asura_MsgData_PhysicsObject_ClientUpdate*>( pxMsg->GetData() );
            ProcessClientUpdate( pxMsgData, pxMsg->GetSentTime() );
            return true;
        }

        default:
            break;
    }
    
    // Suppress parent's handling due to inheritance hierarchies.
    return false;
}


void Asura_ClientEntity_PhysicsObject::Update( void )
{
    // Suppress parent's handling due to inheritance hierarchies.
}
