本文整理汇总了C++中NFCDataList::AddInt方法的典型用法代码示例。如果您正苦于以下问题:C++ NFCDataList::AddInt方法的具体用法?C++ NFCDataList::AddInt怎么用?C++ NFCDataList::AddInt使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NFCDataList
的用法示例。
在下文中一共展示了NFCDataList::AddInt方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: AddEctypeActiveState
bool NFCEctypeModule::AddEctypeActiveState(const NFIDENTID self, const int nContainerID)
{
NF_SHARE_PTR<NFIRecord> pRecord = m_pKernelModule->FindRecord(self, "EctypeList");
if (pRecord.get() && nContainerID > 0)
{
NFCDataList valNormalResult;
pRecord->FindInt(EXTYPE_RC_SCENEID, nContainerID, valNormalResult);
if (valNormalResult.GetCount() <= 0)
{
NFCDataList valValue;
valValue.AddInt(nContainerID);
valValue.AddInt(ECS_HAS_OPEN);
valValue.AddInt(0);
pRecord->AddRow(-1, valValue);
m_pLogModule->LogNormal(NFILogModule::NLL_INFO_NORMAL, self, "EctypeList AddEctypeActiveState", nContainerID);
}
}
return true;
}
示例2: ProcessBuffValuePropertyReferAbsoluteValue
int NFCBuffModule::ProcessBuffValuePropertyReferAbsoluteValue( const NFIDENTID& self, NFIBuffConfigModule::NFCBuffConfig* pBuffConfig, const NFIDENTID& releaserIdent )
{
//buff group property
int nBuffGroup = 0;
//RUNTIME_BUFF_INFO
NF_SHARE_PTR<NFIObject> pObject = m_pKernelModule->GetObject( self );
NF_SHARE_PTR<NFIRecord> pBuffRecord = pObject->GetRecordManager()->GetElement( mstrRunTimeEffectTable );
if ( pBuffRecord )
{
NF_SHARE_PTR<NFIRecord> pPropertyGroupRecord = pObject->GetRecordManager()->GetElement( mstrPropertyTable );
std::string strPropertyList;
std::string strPropertyName;
int* pnEffectValue = pBuffConfig->First( strPropertyName );
while ( pnEffectValue )
{
NF_SHARE_PTR<NFIProperty> pProperty = pObject->GetPropertyManager()->GetElement( strPropertyName );
if ( pProperty )
{
char szEffectValue[MAX_PATH] = {0};
printf( szEffectValue, "%d", *pnEffectValue );
strPropertyList.append( strPropertyName );
strPropertyList.append( "," );
strPropertyList.append( szEffectValue );
strPropertyList.append( ";" );
//相继设置属性到buff group,增值
//从属性系统得到属性应该在的col函数
int nPropertyGroupCol = 0;
int nPropertyBuffGroupRow = 0;
TDATA_TYPE eColType = pPropertyGroupRecord->GetColType( nPropertyGroupCol );
if ( NFIBuffConfigModule::BuffReverseType::ERT_NEED_REVERSE == pBuffConfig->NeedReverseType )
{
//需要还原
switch ( eColType )
{
case TDATA_INT:
pPropertyGroupRecord->SetInt( nPropertyBuffGroupRow, nPropertyGroupCol, *pnEffectValue );
break;
case TDATA_FLOAT:
pPropertyGroupRecord->SetFloat( nPropertyBuffGroupRow, nPropertyGroupCol, float( *pnEffectValue ) );
break;
case TDATA_DOUBLE:
pPropertyGroupRecord->SetDouble( nPropertyBuffGroupRow, nPropertyGroupCol, double( *pnEffectValue ) );
break;
default:
break;
}
}
else if ( NFIBuffConfigModule::BuffReverseType::ERT_NO_REVERSE == pBuffConfig->NeedReverseType )
{
//不需要还原
NFIDataList::TData valueEffectValue;
switch ( eColType )
{
case TDATA_INT:
valueEffectValue.nType = TDATA_INT;
valueEffectValue.variantData = NFINT64( *pnEffectValue );
break;
case TDATA_FLOAT:
valueEffectValue.nType = TDATA_FLOAT;
valueEffectValue.variantData = float( *pnEffectValue );
break;
case TDATA_DOUBLE:
valueEffectValue.nType = TDATA_DOUBLE;
valueEffectValue.variantData = double( *pnEffectValue );
break;
default:
break;
}
//const NFIDataList& oldValue = pProperty->GetValue();
pObject->GetPropertyManager()->SetProperty( strPropertyName, valueEffectValue );
}
pnEffectValue = pBuffConfig->Next( strPropertyName );
}
//还原与否,都需要保存在runtimebuff表
NFCDataList valueBuffProperty;
valueBuffProperty.AddString( strPropertyName.c_str() );
valueBuffProperty.AddObject( releaserIdent );
valueBuffProperty.AddFloat( pBuffConfig->EffectTimeInterval );
valueBuffProperty.AddInt( pBuffConfig->EffectTimeValue );
valueBuffProperty.AddString( strPropertyName.c_str() );
pBuffRecord->AddRow( -1, valueBuffProperty );
}
}
return 0;
}
示例3: OnRequireUseSkillEvent
int NFCSkillModule::OnRequireUseSkillEvent( const NFGUID& self, const int nEventID, const NFIDataList& var )
{
if ( var.GetCount() < 3)
{
return 1;
}
//EGameErrorCode errorCode = EGameErrorCode::EGEC_INVALID_SKILL;
NF_SHARE_PTR<NFIObject> pObejct = m_pKernelModule->GetObject( var.Object( 0 ) );
if ( pObejct == NULL )
{
return 1;
}
NF_SHARE_PTR<NFIRecord> pRecordSkill = pObejct->GetRecordManager()->GetElement( NFrame::Player::R_SkillTable() );
if ( pRecordSkill == NULL )
{
return 1;
}
NF_SHARE_PTR<NFIPropertyManager> pPropertyManager = m_pElementInfoModule->GetPropertyManager( var.String( 2 ) );
if ( pPropertyManager == NULL )
{
return 1;
}
NF_SHARE_PTR<NFIProperty> pItemTypeProperty = pPropertyManager->GetElement(NFrame::Skill::SkillType());
if ( pItemTypeProperty == NULL )
{
return 1;
}
//配置表中真的有这么个技能类别
EGameSkillType eItemType = ( EGameSkillType )pItemTypeProperty->GetInt();
NFISkillConsumeProcessModule* pConsumeProcessModule = m_pSkillConsumeManagerModule->GetConsumeModule( EGameSkillType::EGST_JOBSKILL_BRIEF );
if ( pConsumeProcessModule == NULL )
{
return 1;
}
NFCDataList valueOther;
valueOther.Append( var, 3, var.GetCount() - 3 ); // 被攻击玩家数量 3表示从第几个参数开始是被攻击玩家
// if ( pConsumeProcessModule->ConsumeLegal( var.ObjectVal( 0 ), var.StringVal( 2 ), valueOther ) != 0 )
// {
// return 1;
// }
//
// if ( pConsumeProcessModule->ConsumeSelf( var.ObjectVal( 0 ), var.StringVal( 2 ) ) != 0 )
// {
// return 1;
// }
//
NFCDataList damageValueList;
NFCDataList damageResultList;
int nResult = pConsumeProcessModule->ConsumeProcess( var.Object( 0 ), var.String( 2 ), valueOther, damageValueList, damageResultList );
for (int i = 0; i < valueOther.GetCount(); i++)
{
m_pKernelModule->SetPropertyInt(valueOther.Object(i), NFrame::NPC::HP(), 0);
damageValueList.AddInt(0);
damageResultList.AddInt(0);
}
//结果事件--无论失败或者是成功,都会发下去--当然使用结果只对使用者下发--成果的结果,还得对被施放的人发
if ( damageValueList.GetCount() == damageResultList.GetCount()
&& damageValueList.GetCount() == valueOther.GetCount() )
{
NFCDataList valueResult;
valueResult.AddString( var.String( 2 ).c_str() );
valueResult.AddInt( valueOther.GetCount() );
valueResult.Append( valueOther, 0, valueOther.GetCount() ); //伤害对象
valueResult.Append( damageValueList, 0, damageValueList.GetCount() ); //伤害值
valueResult.Append( damageResultList, 0, damageResultList.GetCount() ); //击打效果
//现在不需要反馈,杀了就杀了
//m_pEventProcessModule->DoEvent( pObejct->Self(), NFED_ON_CLIENT_USE_SKILL_RESULT, valueResult );
}
return 0;
}