本文整理汇总了C++中CGameObject::CrPr_IsActivated方法的典型用法代码示例。如果您正苦于以下问题:C++ CGameObject::CrPr_IsActivated方法的具体用法?C++ CGameObject::CrPr_IsActivated怎么用?C++ CGameObject::CrPr_IsActivated使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CGameObject
的用法示例。
在下文中一共展示了CGameObject::CrPr_IsActivated方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
void CLevel::make_NetCorrectionPrediction ()
{
m_bNeed_CrPr = false;
m_bIn_CrPr = true;
u64 NumPhSteps = ph_world->m_steps_num;
ph_world->m_steps_num -= m_dwNumSteps;
if(g_bDebugDumpPhysicsStep&&m_dwNumSteps>10)
{
Msg("! TOO MANY PHYSICS STEPS FOR CORRECTION PREDICTION = %d !!!",m_dwNumSteps);
m_dwNumSteps = 10;
};
//////////////////////////////////////////////////////////////////////////////////
ph_world->Freeze();
//setting UpdateData and determining number of PH steps from last received update
for (OBJECTS_LIST_it OIt = pObjects4CrPr.begin(); OIt != pObjects4CrPr.end(); OIt++)
{
CGameObject* pObj = *OIt;
if (!pObj) continue;
pObj->PH_B_CrPr();
};
//////////////////////////////////////////////////////////////////////////////////
//first prediction from "delivered" to "real current" position
//making enought PH steps to calculate current objects position based on their updated state
for (u32 i =0; i<m_dwNumSteps; i++)
{
ph_world->Step();
for (OBJECTS_LIST_it AIt = pActors4CrPr.begin(); AIt != pActors4CrPr.end(); AIt++)
{
CGameObject* pActor = *AIt;
if (!pActor || pActor->CrPr_IsActivated()) continue;
pActor->PH_B_CrPr();
};
};
//////////////////////////////////////////////////////////////////////////////////
for (OBJECTS_LIST_it OIt = pObjects4CrPr.begin(); OIt != pObjects4CrPr.end(); OIt++)
{
CGameObject* pObj = *OIt;
if (!pObj) continue;
pObj->PH_I_CrPr();
};
//////////////////////////////////////////////////////////////////////////////////
if (!InterpolationDisabled())
{
for (u32 i =0; i<lvInterpSteps; i++) //second prediction "real current" to "future" position
{
ph_world->Step();
#ifdef DEBUG
/*
for (OBJECTS_LIST_it OIt = pObjects4CrPr.begin(); OIt != pObjects4CrPr.end(); OIt++)
{
CGameObject* pObj = *OIt;
if (!pObj) continue;
pObj->PH_Ch_CrPr();
};
*/
#endif
}
//////////////////////////////////////////////////////////////////////////////////
for (OBJECTS_LIST_it OIt = pObjects4CrPr.begin(); OIt != pObjects4CrPr.end(); OIt++)
{
CGameObject* pObj = *OIt;
if (!pObj) continue;
pObj->PH_A_CrPr();
};
};
ph_world->UnFreeze();
ph_world->m_steps_num = NumPhSteps;
m_dwNumSteps = 0;
m_bIn_CrPr = false;
pObjects4CrPr.clear();
pActors4CrPr.clear();
};