本文整理汇总了C++中XVector::size方法的典型用法代码示例。如果您正苦于以下问题:C++ XVector::size方法的具体用法?C++ XVector::size怎么用?C++ XVector::size使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XVector
的用法示例。
在下文中一共展示了XVector::size方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetResIdxByCheckSum
// int XMain::GetResIdxByCheckSum( XArrayLinear<XPatch::XRES_INFO> &ary, XUINT64 llCheckSum )
int XMain::GetResIdxByCheckSum( const XVector<XPatch::XRES_INFO> &ary, XUINT64 llCheckSum )
{
int max = ary.size();
for( int i = 0; i < max; ++i ) {
if( ary[ i ].llChecksum == llCheckSum )
return i;
}
return -1;
}
示例2: UseEffect
/**
@brief 효과 시전
pEffect의 효과를 기준타겟(pBaseTarget)을 기준으로 시전대상을 선정하여 시전한다.
현재 _vPos는 사용하지 않는다
*/
xtError XSkillUser::UseEffect( const XSkillDat *pDat,
EFFECT *pEffect,
int level,
XSkillReceiver *pBaseTarget,
const XE::VEC2& vBaseTarget, // 기준타겟이 좌표형일경우.
ID idCallerSkill )
{
// 좌표에 값이 있으면 타겟은 널이어야 한다.,
XBREAK( vBaseTarget.IsNotZero() && pBaseTarget != nullptr );
XVector<XSkillReceiver*> aryCastTargets; // 시전대상
// 기준타겟이나 기준좌표로 시전대상을 얻는다.
XBREAK( pBaseTarget == nullptr && vBaseTarget.IsZero() );
//
XE::VEC2 vCastTarget;
GetCastingTargetList( &aryCastTargets,
&vCastTarget,
pEffect->castTarget,
pDat,
pEffect,
level,
pBaseTarget,
vBaseTarget );
//
if( vCastTarget.IsZero() && aryCastTargets.empty() ) {
return xERR_NOT_FOUND_CASTING_TARGET; // 시전대상을 찾지 못함
}
if( aryCastTargets.size() ) {
// 캐스팅 대상들에게 효과를 시전한다.
for( auto pCastingTarget : aryCastTargets ) {
// 즉시시전 or 버프방식
const XE::VEC2 vZero;
CastEffToCastTarget( pDat,
pEffect,
level,
// pBaseTarget,
pCastingTarget,
vZero,
idCallerSkill );
}
} else
if( vCastTarget.IsNotZero() ) {
// 시전대상이 좌표형
CastEffToCastTarget( pDat,
pEffect,
level,
nullptr,
vCastTarget,
idCallerSkill );
} else {
XBREAK(1);
}
return xOK;
}
示例3: CastEffToCastTargetByDirect
/**
@brief 즉시시전형태(비버프형)의 효과를 시전대상에게 시전한다.
*/
xtError XSkillUser::CastEffToCastTargetByDirect( const XSkillDat *pDat,
const EFFECT *pEffect,
int level,
XSkillReceiver *pCastingTarget,
const XE::VEC2& vCastTarget )
{
XVector<XSkillReceiver*> aryInvokeTarget;
// 1회성이기때문에 루아도 쓰고 바로 파괴되는걸로 함
// 시전대상자(pCastingTarget)기준 발동대상 얻음
XE::VEC2 vIvkTarget; // 발동대상이 좌표형태일때 여기로 좌표가 담긴다.
int numInvoke = GetInvokeTarget( &aryInvokeTarget,
&vIvkTarget,
pDat,
level,
pEffect->invokeTarget,
pEffect,
pCastingTarget,
vCastTarget );
if( numInvoke > 0 || vIvkTarget.IsNotZero() ) {
bool bCreateSfx = ( pEffect->m_invokeTargetEff.m_strSpr.empty() ) ? false : true;
if( aryInvokeTarget.size() ) {
for( auto pInvokeTarget : aryInvokeTarget ) {
// 발동대상들에게 효과 적용
ApplyInvokeEffToIvkTarget( pInvokeTarget,
vIvkTarget,
pDat,
pEffect,
GetThisRecv(), // invoker
bCreateSfx,
level,
nullptr ); // pBuff
} // for
} else
if( vIvkTarget.IsNotZero() ) {
// 발동좌표에 효과적용
ApplyInvokeEffToIvkTarget( nullptr,
vIvkTarget,
pDat,
pEffect,
GetThisRecv(), // invoker
bCreateSfx,
level,
nullptr ); // pBuff
}
}
return xOK;
} // CastEffToCastTargetByDirect
示例4: setAttribute
void XGeometry::setAttribute( const QString &n, const XVector<XVector4D> &v )
{
if( v.size() )
{
_attr4[n] = v;
if( _attr4[n].size() != _attributeSize )
{
_attributeSize = _attr4[n].size();
_attributeSizeChanged = true;
}
}
else
{
_attr1.remove(n);
}
_changedA4 << n;
_changedAttrs = true;
}
示例5: WriteFullList
// full_list.txt를 쓴다.
// int XMain::WriteFullList( XArrayLinear<XPatch::XRES_INFO>& aryAll )
int XMain::WriteFullList( const XVector<XPatch::XRES_INFO>& aryAll )
{
char cPath[ 1024 ];
strcpy_s( cPath, SZ2C( XE::_GetPathPackageRoot() ) );
strcat_s( cPath, "full_list.txt" );
FILE *fp = NULL;
fopen_s( &fp, cPath, "wt" );
if( fp == NULL )
return 0;
char cBuff[ 1024 ];
// XARRAYLINEAR_LOOP( aryAll, XPatch::XRES_INFO, info )
for( auto& info : aryAll ) {
strcpy_s( cBuff, SZ2C( info.strFile.c_str() ) );
strReplace( cBuff, '\\', '/' );
fprintf_s( fp, "\"%s\"\t%d\t%llu\n", cBuff, info.size, info.llChecksum );
}
fprintf_s( fp, "// num files %d \n", aryAll.size() );
fclose( fp );
return 1;
}
示例6: WriteCoreList
// core_list.txt를 쓴다.
//int XMain::WriteCoreList( XArrayLinear<_tstring>& aryCore )
int XMain::WriteCoreList( const XVector<_tstring>& aryCore )
{
char cPath[ 1024 ];
strcpy_s( cPath, SZ2C( XE::_GetPathPackageRoot() ) );
strcat_s( cPath, "core_list.txt" );
FILE *fp = NULL;
fopen_s( &fp, cPath, "wt" );
if( fp == NULL )
return 0;
char cBuff[ 1024 ];
// XARRAYLINEAR_LOOP( aryCore, _tstring, strRes )
for( auto& strRes : aryCore ) {
strcpy_s( cBuff, SZ2C( strRes.c_str() ) );
strReplace( cBuff, '\\', '/' );
fprintf_s( fp, "\"%s\"\n", cBuff );
// fprintf_s( fp, "\"%s\"\n", SZ2C( strRes.c_str() ) );
}
fprintf_s( fp, "// num files %d \n", aryCore.size() );
fclose( fp );
return 1;
}