本文整理汇总了C++中OWN_IMPACT::SetLayerContinuanceByIdx方法的典型用法代码示例。如果您正苦于以下问题:C++ OWN_IMPACT::SetLayerContinuanceByIdx方法的具体用法?C++ OWN_IMPACT::SetLayerContinuanceByIdx怎么用?C++ OWN_IMPACT::SetLayerContinuanceByIdx使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类OWN_IMPACT
的用法示例。
在下文中一共展示了OWN_IMPACT::SetLayerContinuanceByIdx方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
BOOL StdImpact059_T::LayerFadeOut( OWN_IMPACT& rImp ) const
{
__ENTER_FUNCTION
//获得当前效果的最大叠加层数
INT iMaxLayerCount = rImp.GetMaxLayerCount();
//获得当前效果的当前叠加层数
INT iCurrentLayer = rImp.GetLayerCount();
INT iMaxLayer = iMaxLayerCount-rImp.GetLayerCount();
BOOL ret = FALSE;
//处理当前所有正在计时的层是否到时,如果到时则恢复
for( INT i=0; i<iMaxLayer; ++i )
{
Time_t iContinuance = rImp.GetLayerContinuanceByIdx( i );
if( g_pTimeManager->CurrentTime() >= (UINT)iContinuance )
{
rImp.SetLayerCount( ++iCurrentLayer );
ret = TRUE;
for( INT j=i; j<iMaxLayer; ++j )
{
//OWN_IMPACT::SetLayerContinuanceByIdx中已经为此预留了最后一个元素的位置
//所以j+1是安全的,不需要额外判定是否是最后一个元素,此元素将永为0
Time_t iTemp = rImp.GetLayerContinuanceByIdx( j+1 );
rImp.SetLayerContinuanceByIdx( j, iTemp );
}
--iMaxLayer;
--i;
}
}
return ret;
__LEAVE_FUNCTION
return FALSE;
}
示例2: GetSubImpactDataIndexByIndex
VOID StdImpact059_T::ComputeLayerChange( OWN_IMPACT& rImp, Obj_Character& rMe, INT nCount, INT iCurrentLayer ) const
{
__ENTER_FUNCTION
INT iMaxLayerCount = rImp.GetMaxLayerCount();
//获取子效果的DataIndex
INT nDataIndex = GetSubImpactDataIndexByIndex(rImp, 0);
//获取子效果的描述对象
const ImpactData_T* pSubImpactData = Impact_GetDataBlock( nDataIndex );
//获得子效果的总持续时间
Time_t iSubImpactContinuance = pSubImpactData->GetContinuance();
for( INT i=0; i<nCount; ++i )
{
//设置新添加的层的计时
rImp.SetLayerContinuanceByIdx( iMaxLayerCount-iCurrentLayer+i, g_pTimeManager->CurrentTime()+iSubImpactContinuance );
}
__LEAVE_FUNCTION
}