当前位置: 首页>>代码示例>>C++>>正文


C++ CHandlingEntry::SetDragCoeff方法代码示例

本文整理汇总了C++中CHandlingEntry::SetDragCoeff方法的典型用法代码示例。如果您正苦于以下问题:C++ CHandlingEntry::SetDragCoeff方法的具体用法?C++ CHandlingEntry::SetDragCoeff怎么用?C++ CHandlingEntry::SetDragCoeff使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在CHandlingEntry的用法示例。


在下文中一共展示了CHandlingEntry::SetDragCoeff方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: SetVehicleHandling

void CHandlingRPCs::SetVehicleHandling ( CClientEntity* pSource, NetBitStreamInterface& bitStream )
{
    // Check it's type
    if ( pSource && pSource->GetType () == CCLIENTVEHICLE )
    {
        // Grab the vehicle handling entry
        CClientVehicle& Vehicle = static_cast < CClientVehicle& > ( *pSource );
        CHandlingEntry* pEntry = Vehicle.GetHandlingData();
        CModelInfo * pModelInfo = Vehicle.GetModelInfo ( );
        
        bool bReadSuspension = false;
        if ( pModelInfo )
            bReadSuspension = pModelInfo->IsCar ( ) || pModelInfo->IsMonsterTruck();

        SVehicleHandlingSync handling;
        bitStream.Read ( &handling );
        pEntry->SetMass ( handling.data.fMass );
        pEntry->SetTurnMass ( handling.data.fTurnMass );
        pEntry->SetDragCoeff ( handling.data.fDragCoeff );
        pEntry->SetCenterOfMass ( handling.data.vecCenterOfMass );
        pEntry->SetPercentSubmerged ( handling.data.ucPercentSubmerged );
        pEntry->SetTractionMultiplier ( handling.data.fTractionMultiplier );
        pEntry->SetCarDriveType ( (CHandlingEntry::eDriveType)handling.data.ucDriveType );
        pEntry->SetCarEngineType ( (CHandlingEntry::eEngineType)handling.data.ucEngineType );
        pEntry->SetNumberOfGears ( handling.data.ucNumberOfGears );
        pEntry->SetEngineAcceleration ( handling.data.fEngineAcceleration );
        pEntry->SetEngineInertia ( handling.data.fEngineInertia );
        pEntry->SetMaxVelocity ( handling.data.fMaxVelocity );
        pEntry->SetBrakeDeceleration ( handling.data.fBrakeDeceleration );
        pEntry->SetBrakeBias ( handling.data.fBrakeBias );
        pEntry->SetABS ( handling.data.bABS );
        pEntry->SetSteeringLock ( handling.data.fSteeringLock );
        pEntry->SetTractionLoss ( handling.data.fTractionLoss );
        pEntry->SetTractionBias ( handling.data.fTractionBias );
        if ( bReadSuspension )
        {
            pEntry->SetSuspensionForceLevel ( handling.data.fSuspensionForceLevel );
            pEntry->SetSuspensionDamping ( handling.data.fSuspensionDamping );
            pEntry->SetSuspensionHighSpeedDamping ( handling.data.fSuspensionHighSpdDamping );
            pEntry->SetSuspensionUpperLimit ( handling.data.fSuspensionUpperLimit );
            pEntry->SetSuspensionLowerLimit ( handling.data.fSuspensionLowerLimit );
            pEntry->SetSuspensionFrontRearBias ( handling.data.fSuspensionFrontRearBias );
            pEntry->SetSuspensionAntiDiveMultiplier ( handling.data.fSuspensionAntiDiveMultiplier );
        }
        pEntry->SetCollisionDamageMultiplier ( handling.data.fCollisionDamageMultiplier );
        pEntry->SetModelFlags ( handling.data.uiModelFlags );
        pEntry->SetHandlingFlags ( handling.data.uiHandlingFlags );
        pEntry->SetSeatOffsetDistance ( handling.data.fSeatOffsetDistance );
        //pEntry->SetMonetary ( handling.data.uiMonetary );
        //pEntry->SetHeadLight ( (CHandlingEntry::eLightType)handling.data.ucHeadLight );
        //pEntry->SetTailLight ( (CHandlingEntry::eLightType)handling.data.ucTailLight );
        //pEntry->SetAnimGroup ( handling.data.ucAnimGroup );
        
        Vehicle.ApplyHandling();
    }
}
开发者ID:ntauthority,项目名称:openvice,代码行数:56,代码来源:CHandlingRPCs.cpp

示例2: SetDragCoeff

void CClientHandling::SetDragCoeff ( float fDrag, bool bRestore )
{ 
    // Set the property
    m_fDragCoeff = fDrag;
    m_bDragCoeffChanged = !bRestore; 

    // Loop through the vehicles we're default for
    std::list < eVehicleTypes > ::const_iterator iter = m_DefaultTo.begin ();
    for ( ; iter != m_DefaultTo.end (); iter++ )
    {
        // Grab the handling for this car
        CHandlingEntry* pEntry = g_pGame->GetHandlingManager ()->GetHandlingData ( *iter );
        if ( pEntry )
        {
            // Grab the handlings attached to that car
            std::vector < CClientHandling* > List;
            m_pHandlingManager->GetDefaultHandlings ( *iter, List );

            // Update the property for this vehicle kind
            pEntry->SetDragCoeff ( m_pHandlingManager->GetDragCoeff ( List, *iter ) );
            pEntry->Recalculate ();
        }
    }
}
开发者ID:50p,项目名称:multitheftauto,代码行数:24,代码来源:CClientHandling.cpp

示例3: SetVehicleHandlingProperty

void CHandlingRPCs::SetVehicleHandlingProperty ( CClientEntity* pSource, NetBitStreamInterface& bitStream )
{
    // Read out the property id
    unsigned char ucProperty;
    if ( bitStream.Read ( ucProperty ) )
    {
        // Check its type
        if ( pSource && pSource->GetType () == CCLIENTVEHICLE )
        {
            // Grab the vehicle handling entry
            CClientVehicle& vehicle = static_cast < CClientVehicle& > ( *pSource );
            CHandlingEntry* pHandlingEntry = vehicle.GetHandlingData ( );
            CModelInfo * pModelInfo = vehicle.GetModelInfo ( );

            bool bReadSuspension = false;
            if ( pModelInfo )
                bReadSuspension = pModelInfo->IsCar ( ) || pModelInfo->IsMonsterTruck ( );

            // Temporary storage for reading out data
            union
            {
                unsigned char ucChar;
                unsigned int uiInt;
                float fFloat;
            };

            // Depending on what property
            switch ( ucProperty )
            {
                case HANDLING_MASS:
                    bitStream.Read ( fFloat );
                    pHandlingEntry->SetMass ( fFloat );
                    break;
                    
                case HANDLING_TURNMASS:
                    bitStream.Read ( fFloat );
                    pHandlingEntry->SetTurnMass ( fFloat );
                    break;

                case HANDLING_DRAGCOEFF:
                    bitStream.Read ( fFloat );
                    pHandlingEntry->SetDragCoeff ( fFloat );
                    break;

                case HANDLING_CENTEROFMASS:
                {
                    CVector vecVector;
                    bitStream.Read ( vecVector.fX );
                    bitStream.Read ( vecVector.fY );
                    bitStream.Read ( vecVector.fZ );
                    pHandlingEntry->SetCenterOfMass ( vecVector );
                    break;
                }

                case HANDLING_PERCENTSUBMERGED:
                    bitStream.Read ( uiInt );
                    pHandlingEntry->SetPercentSubmerged ( uiInt );
                    break;

                case HANDLING_TRACTIONMULTIPLIER:
                    bitStream.Read ( fFloat );
                    pHandlingEntry->SetTractionMultiplier ( fFloat );
                    break;

                case HANDLING_DRIVETYPE:
                {
                    bitStream.Read ( ucChar );
                    if ( ucChar != CHandlingEntry::FOURWHEEL &&
                         ucChar != CHandlingEntry::RWD &&
                         ucChar != CHandlingEntry::FWD )
                    {
                        ucChar = CHandlingEntry::RWD;
                    }

                    pHandlingEntry->SetCarDriveType ( static_cast < CHandlingEntry::eDriveType > ( ucChar ) );
                    break;
                }

                case HANDLING_ENGINETYPE:
                {
                    bitStream.Read ( ucChar );
                    if ( ucChar != CHandlingEntry::DIESEL &&
                         ucChar != CHandlingEntry::ELECTRIC &&
                         ucChar != CHandlingEntry::PETROL )
                    {
                        ucChar = CHandlingEntry::PETROL;
                    }

                    pHandlingEntry->SetCarEngineType ( static_cast < CHandlingEntry::eEngineType > ( ucChar ) );
                    break;
                }

                case HANDLING_NUMOFGEARS:
                    bitStream.Read ( ucChar );
                    pHandlingEntry->SetNumberOfGears ( ucChar );
                    break;

                case HANDLING_ENGINEACCELERATION:
                    bitStream.Read ( fFloat );
                    pHandlingEntry->SetEngineAcceleration ( fFloat );
//.........这里部分代码省略.........
开发者ID:ntauthority,项目名称:openvice,代码行数:101,代码来源:CHandlingRPCs.cpp

示例4: RestoreVehicleHandlingProperty

void CHandlingRPCs::RestoreVehicleHandlingProperty ( CClientEntity* pSource, NetBitStreamInterface& bitStream )
{
    // Read out the property id
    unsigned char ucProperty;
    if ( bitStream.Read ( ucProperty ) )
    {
        // Check its type
        if ( pSource && pSource->GetType () == CCLIENTVEHICLE )
        {
            // Grab the vehicle handling entry and the original handling
            CClientVehicle& Vehicle = static_cast < CClientVehicle& > ( *pSource );
            CHandlingEntry* pHandlingEntry = Vehicle.GetHandlingData ();
            const CHandlingEntry* pOriginalEntry = Vehicle.GetOriginalHandlingData ();
            if ( ucProperty >= HANDLING_SUSPENSION_FORCELEVEL && ucProperty <= HANDLING_SUSPENSION_ANTIDIVEMULTIPLIER &&
                ( Vehicle.GetModelInfo()->IsCar ( ) || Vehicle.GetModelInfo()->IsMonsterTruck ( ) ) )
            {
                return;
            }
            if ( pOriginalEntry )
            {
                // Depending on what property
                switch ( ucProperty )
                {
                    case HANDLING_MASS:
                        pHandlingEntry->SetMass ( pOriginalEntry->GetMass () );
                        break;

                    case HANDLING_TURNMASS:
                        pHandlingEntry->SetTurnMass ( pOriginalEntry->GetTurnMass () );
                        break;

                    case HANDLING_DRAGCOEFF:
                        pHandlingEntry->SetDragCoeff ( pOriginalEntry->GetDragCoeff () );
                        break;

                    case HANDLING_CENTEROFMASS:
                        pHandlingEntry->SetCenterOfMass ( pOriginalEntry->GetCenterOfMass () );
                        break;

                    case HANDLING_PERCENTSUBMERGED:
                        pHandlingEntry->SetPercentSubmerged ( pOriginalEntry->GetPercentSubmerged () );
                        break;

                    case HANDLING_TRACTIONMULTIPLIER:
                        pHandlingEntry->SetTractionMultiplier ( pOriginalEntry->GetTractionMultiplier () );
                        break;

                    case HANDLING_DRIVETYPE:
                        pHandlingEntry->SetCarDriveType ( pOriginalEntry->GetCarDriveType () );
                        break;

                    case HANDLING_ENGINETYPE:
                        pHandlingEntry->SetCarEngineType ( pOriginalEntry->GetCarEngineType () );
                        break;

                    case HANDLING_NUMOFGEARS:
                        pHandlingEntry->SetNumberOfGears ( pOriginalEntry->GetNumberOfGears () );
                        break;

                    case HANDLING_ENGINEACCELERATION:
                        pHandlingEntry->SetEngineAcceleration ( pOriginalEntry->GetEngineAcceleration () );
                        break;

                    case HANDLING_ENGINEINERTIA:
                        pHandlingEntry->SetEngineInertia ( pOriginalEntry->GetEngineInertia () );
                        break;

                    case HANDLING_MAXVELOCITY:
                        pHandlingEntry->SetMaxVelocity ( pOriginalEntry->GetMaxVelocity () );
                        break;

                    case HANDLING_BRAKEDECELERATION:
                        pHandlingEntry->SetBrakeDeceleration ( pOriginalEntry->GetBrakeDeceleration () );
                        break;

                    case HANDLING_BRAKEBIAS:
                        pHandlingEntry->SetBrakeBias ( pOriginalEntry->GetBrakeBias () );
                        break;

                    case HANDLING_ABS:
                        pHandlingEntry->SetABS ( pOriginalEntry->GetABS () );
                        break;

                    case HANDLING_STEERINGLOCK:
                        pHandlingEntry->SetSteeringLock ( pOriginalEntry->GetSteeringLock () );
                        break;

                    case HANDLING_TRACTIONLOSS:
                        pHandlingEntry->SetTractionLoss ( pOriginalEntry->GetTractionLoss () );
                        break;

                    case HANDLING_TRACTIONBIAS:
                        pHandlingEntry->SetTractionBias ( pOriginalEntry->GetTractionBias () );
                        break;

                    case HANDLING_SUSPENSION_FORCELEVEL:
                        pHandlingEntry->SetSuspensionForceLevel ( pOriginalEntry->GetSuspensionForceLevel () );
                        break;

                    case HANDLING_SUSPENSION_DAMPING:
//.........这里部分代码省略.........
开发者ID:ntauthority,项目名称:openvice,代码行数:101,代码来源:CHandlingRPCs.cpp


注:本文中的CHandlingEntry::SetDragCoeff方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。