本文整理汇总了C++中NFIDataList::String方法的典型用法代码示例。如果您正苦于以下问题:C++ NFIDataList::String方法的具体用法?C++ NFIDataList::String怎么用?C++ NFIDataList::String使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NFIDataList
的用法示例。
在下文中一共展示了NFIDataList::String方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OnLoginEvent
int NFCLoginLogicModule::OnLoginEvent(const NFIDENTID& object, const int nEventID, const NFIDataList& var)
{
if (3 != var.GetCount()
|| !var.TypeEx(TDATA_TYPE::TDATA_OBJECT, TDATA_TYPE::TDATA_STRING, TDATA_TYPE::TDATA_STRING, TDATA_TYPE::TDATA_UNKNOWN))
{
return -1;
}
//////////////////////////////////////////////////////////////////////////
const NFIDENTID xIdent = var.Object(0);
const std::string& strAccount = var.String(1);
const std::string& strPassword = var.String(2);
int64_t nState = -1;
std::vector<std::string> xFieldVec;
std::vector<std::string> xValueVec;
xFieldVec.push_back("Password");
if (m_pClusterSqlModule->Query("AccountInfo", strAccount, xFieldVec, xValueVec)
&& xFieldVec.size() == xValueVec.size()
&& strPassword == xValueVec[0])
{
//µÇ¼³É¹¦
nState = 0;
}
NFCDataList valEventInfo;
valEventInfo << nState << xIdent << strAccount;
m_pEventProcessModule->DoEvent(NFIDENTID(), NFED_ON_CLIENT_LOGIN_RESULTS, valEventInfo);
return 0;
}
示例2: OnSelectWorldResultsEvent
int NFCLoginNet_ServerModule::OnSelectWorldResultsEvent(const NFIDENTID& object, const int nEventID, const NFIDataList& var)
{
if (7 != var.GetCount()
|| !var.TypeEx(TDATA_TYPE::TDATA_INT, TDATA_TYPE::TDATA_OBJECT, TDATA_TYPE::TDATA_INT, TDATA_TYPE::TDATA_STRING,
TDATA_TYPE::TDATA_STRING, TDATA_TYPE::TDATA_INT, TDATA_TYPE::TDATA_STRING, TDATA_TYPE::TDATA_UNKNOWN))
{
return -1;
}
const int nWorldID = var.Int(0);
const NFIDENTID xClientIdent = var.Object(1);
const int nLoginID = var.Int(2);
const std::string& strAccount = var.String(3);
const std::string& strWorldAddress = var.String(4);
int nPort = var.Int(5);
const std::string& strWorldKey = var.String(6);
NF_SHARE_PTR<int> xFD = mxClientIdent.GetElement(xClientIdent);
if (xFD)
{
NFMsg::AckConnectWorldResult xMsg;
xMsg.set_world_id(nWorldID);
xMsg.mutable_sender()->CopyFrom(NFToPB(xClientIdent));
xMsg.set_login_id(nLoginID);
xMsg.set_account(strAccount);
xMsg.set_world_ip(strWorldAddress);
xMsg.set_world_port(nPort);
xMsg.set_world_key(strWorldKey);
SendMsgPB(NFMsg::EGameMsgID::EGMI_ACK_CONNECT_WORLD, xMsg, *xFD);
}
return 0;
}
示例3: OnSelectServerResultsEvent
int NFCWorldToMasterModule::OnSelectServerResultsEvent(const NFIDENTID& object, const int nEventID, const NFIDataList& var)
{
if (var.GetCount() != 7
|| !var.TypeEx(TDATA_TYPE::TDATA_INT, TDATA_TYPE::TDATA_OBJECT,
TDATA_TYPE::TDATA_INT, TDATA_TYPE::TDATA_STRING, TDATA_TYPE::TDATA_STRING,
TDATA_TYPE::TDATA_INT, TDATA_TYPE::TDATA_STRING, TDATA_TYPE::TDATA_UNKNOWN))
{
return 0;
}
const int nWorldID = var.Int(0);
const NFIDENTID xClientIdent = var.Object(1);
const int nLoginID = var.Int(2);
const std::string& strAccount = var.String(3);
const std::string& strWorldAddress = var.String(4);
const int nPort = var.Int(5);
const std::string& strKey = var.String(6);
NFMsg::AckConnectWorldResult xMsg;
xMsg.set_world_id(nWorldID);
xMsg.set_login_id(nLoginID);
xMsg.set_world_port(nPort);
xMsg.mutable_sender()->CopyFrom(NFINetModule::NFToPB(xClientIdent));
xMsg.set_account(strAccount);
xMsg.set_world_ip(strWorldAddress);
xMsg.set_world_key(strKey);
SendSuitByPB(NFMsg::EGMI_ACK_CONNECT_WORLD, xMsg);
return 0;
}
示例4:
int HelloWorld3Module::OnEvent(const NFIDENTID& self, const int event, const NFIDataList& arg)
{
//事件回调函数
std::cout << "OnEvent EventID: " << event << " self: " << self.nData64 << " argList: " << arg.Int(0) << " " << " " << arg.String(1) << std::endl;
m_pKernelModule->SetPropertyInt(self, "Hello", arg.Int(0));
m_pKernelModule->SetPropertyString(self, "Hello", arg.String(1));
return 0;
}
示例5: OnPlayerChatEvent
int NFCGameScene::OnPlayerChatEvent(const int nEventID, const NFIDataList& varDataList)
{
const NFGUID &self = varDataList.Object(0);
Sprite *pPlayer = m_Players.GetElement(self);
auto pChat = ui::Text::create(varDataList.String(3), "", 16);
pChat->setAnchorPoint(Vec2(0.5, 0));
pChat->setPosition(Vec2(pPlayer->getAnchorPointInPoints().x, pPlayer->getContentSize().height+ pChat->getContentSize().height));
pPlayer->addChild(pChat);
pChat->runAction(Sequence::create(FadeIn::create(0.5), DelayTime::create(5.0f), FadeIn::create(0.5), RemoveSelf::create(), NULL));
pChat->runAction(MoveBy::create(0.5, Vec2(0, pChat->getContentSize().height)));
return 0;
}
示例6: OnLoginResultsEvent
int NFCLoginNet_ServerModule::OnLoginResultsEvent(const NFIDENTID& object, const int nEventID, const NFIDataList& var)
{
if (3 != var.GetCount()
|| !var.TypeEx(TDATA_TYPE::TDATA_INT, TDATA_TYPE::TDATA_OBJECT, TDATA_TYPE::TDATA_STRING, TDATA_TYPE::TDATA_UNKNOWN))
{
return -1;
}
const int nState = var.Int(0);
const NFIDENTID xIdent = var.Object(1);
const std::string& strAccount = var.String(2);
NF_SHARE_PTR<int> xFD = mxClientIdent.GetElement(xIdent);
if (xFD)
{
if (0 != nState)
{
//此帐号密码错误或者被封号
//登录失败
NFMsg::AckEventResult xMsg;
xMsg.set_event_code(NFMsg::EGEC_ACCOUNTPWD_INVALID);
SendMsgPB(NFMsg::EGameMsgID::EGMI_ACK_LOGIN, xMsg, *xFD);
return 0;
}
NetObject* pNetObject = GetNet()->GetNetObject(*xFD);
if (pNetObject)
{
//记录他登录过
pNetObject->SetConnectKeyState(1);
pNetObject->SetAccount(strAccount);
}
//把服务器列表广播下去
NFMsg::AckEventResult xData;
xData.set_event_code(NFMsg::EGEC_ACCOUNT_SUCCESS);
SendMsgPB(NFMsg::EGameMsgID::EGMI_ACK_LOGIN, xData, *xFD);
//SynWorldToClient(unAddress);
m_pLogModule->LogNormal(NFILogModule::NLL_INFO_NORMAL, NFIDENTID(0, *xFD), "Login successed :", strAccount.c_str());
}
return 0;
}
示例7: OnSelectServerEvent
int NFCWorldNet_ServerModule::OnSelectServerEvent(const NFIDENTID& object, const int nEventID, const NFIDataList& var)
{
if (4 != var.GetCount()
|| !var.TypeEx(TDATA_TYPE::TDATA_INT, TDATA_TYPE::TDATA_INT, TDATA_TYPE::TDATA_INT, TDATA_TYPE::TDATA_STRING, TDATA_TYPE::TDATA_UNKNOWN))
{
return 0;
}
const int nWorldID = var.Int(0);
const int nSenderAddress = var.Int(1);
const int nLoginID = var.Int(2);
const std::string& strAccount = var.String(3);
//////////////////////////////////////////////////////////////////////////
if (InThisWorld(strAccount))
{
return 0;
}
NF_SHARE_PTR<ServerData> pServerData = mProxyMap.First();
if (pServerData.get())
{
NFMsg::AckConnectWorldResult xData;
xData.set_world_id(nWorldID);
xData.set_sender_ip(nSenderAddress);
xData.set_login_id(nLoginID);
xData.set_account(strAccount);
xData.set_world_ip(pServerData->pData->server_ip());
xData.set_world_port(pServerData->pData->server_port());
xData.set_world_key(strAccount);
SendMsgPB(NFMsg::EGMI_ACK_CONNECT_WORLD, xData, pServerData->nFD);
//结果
NFCDataList varResult;
varResult << nWorldID << nSenderAddress << nLoginID << strAccount << pServerData->pData->server_ip() << pServerData->pData->server_port() << strAccount;
m_pEventProcessModule->DoEvent(NFIDENTID(), NFED_ON_CLIENT_SELECT_SERVER_RESULTS, varResult);
}
return 0;
}
示例8: OnRequireUseItemEvent
int NFCItemModule::OnRequireUseItemEvent( const NFGUID& self, const int nEventID, const NFIDataList& var )
{
if (var.GetCount() != 2
|| !var.TypeEx(TDATA_TYPE::TDATA_STRING, TDATA_TYPE::TDATA_STRING, TDATA_TYPE::TDATA_UNKNOWN))
{
return 0;
}
//EGameErrorCode errorCode = EGameErrorCode::EGEC_INVALID_ITEM;
const std::string& strItemID = var.String(0);
const NFGUID xTargetID = var.Object(0);
if(!m_pElementInfoModule->ExistElement(strItemID)
|| !m_pKernelModule->GetObject(xTargetID))
{
return 0;
}
NF_SHARE_PTR<NFIRecord> pRecordPack = m_pKernelModule->FindRecord(self, NFrame::Player::R_BagItemList());
if (nullptr != pRecordPack)
{
// const bool bRet = m_pPackModule->DeleteItem(self, strItemID, 1);
// if (bRet)
// {
// int nItemType = m_pElementInfoModule->GetPropertyInt(strItemID, "ItemType");
// NFIItemConsumeProcessModule* pConsumeProcessModule = m_pItemConsumeManagerModule->GetConsumeModule(nItemType);
// if (pConsumeProcessModule)
// {
// if (pConsumeProcessModule->ConsumeLegal(self, strItemID, xTargetID) > 0)
// {
// pConsumeProcessModule->ConsumeProcess(self, strItemID, xTargetID);
//
// return 0;
// }
// }
// }
}
return 0;
}
示例9: FindRowByColValue
int NFCRecord::FindRowByColValue(const int nCol, const NFIDataList& var, NFIDataList& varResult)
{
if (!ValidCol(nCol))
{
return -1;
}
TDATA_TYPE eType = var.Type(0);
if (eType != mVarRecordType->Type(nCol))
{
return -1;
}
switch (eType)
{
case TDATA_INT:
return FindInt(nCol, var.Int(nCol), varResult);
break;
case TDATA_FLOAT:
return FindFloat(nCol, var.Float(nCol), varResult);
break;
case TDATA_STRING:
return FindString(nCol, var.String(nCol).c_str(), varResult);
break;
case TDATA_OBJECT:
return FindObject(nCol, var.Object(nCol), varResult);
break;
default:
break;
}
return -1;
}
示例10: OnUseSkill
int NFCSkillModule::OnUseSkill(const NFGUID& self, const NFIDataList& var)
{
if ( var.GetCount() != 2)
{
return 1;
}
const std::string& strSkillID = var.String( 0 );
const NFGUID& nTargetID = var.Object(1);
NF_SHARE_PTR<NFIObject> pObejct = m_pKernelModule->GetObject(self);
if ( pObejct == NULL )
{
return 1;
}
//NF_SHARE_PTR<NFIRecord> pRecordSkill = pObejct->GetRecordManager()->GetElement( mstrSkillTableName );
//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( "SkillType" );
//if ( pItemTypeProperty == NULL )
//{
// return 1;
//}
//配置表中真的有这么个技能类别
//EGameSkillType eItemType = ( EGameSkillType )pItemTypeProperty->GetInt();
if (!m_pElementInfoModule->ExistElement(strSkillID))
{
return 1;
}
//NFISkillConsumeProcessModule* pConsumeProcessModule = m_pSkillConsumeManagerModule->GetConsumeModule( EGameSkillType::EGST_JOBSKILL_BRIEF );
//if ( pConsumeProcessModule == NULL )
//{
// 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), "HP", 0);
// damageValueList.AddInt(0);
// damageResultList.AddInt(0);
//}
int nCurHP = m_pKernelModule->GetPropertyInt(nTargetID, NFrame::NPC::HP());
if (nCurHP <= 0)
{
return 1;
}
m_pKernelModule->SetPropertyObject(nTargetID, NFrame::NPC::LastAttacker(), self);
m_pKernelModule->SetPropertyInt(nTargetID, NFrame::NPC::HP(), (nCurHP - 10) >= 0 ? (nCurHP - 10) : 0); // 暂时扣10点血
////结果事件--无论失败或者是成功,都会发下去--当然使用结果只对使用者下发--成果的结果,还得对被施放的人发
//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;
}
示例11: 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;
}
示例12: DoEvent
bool NFCEventProcessModule::DoEvent(const NFIDENTID& objectID, const int nEventID, const NFIDataList& valueList, const bool bSync)
{
if (bSync)
{
NF_SHARE_PTR<NFCObjectEventInfo> pObjectEventInfo = mObjectEventInfoMapEx.GetElement(objectID);
if (nullptr == pObjectEventInfo)
{
return false;
}
NF_SHARE_PTR<NFEventList> pEventInfo = pObjectEventInfo->GetElement(nEventID);
if (nullptr == pEventInfo)
{
return false;
}
EVENT_PROCESS_FUNCTOR_PTR cb;
bool bRet = pEventInfo->First(cb);
while (bRet)
{
cb.get()->operator()(objectID, nEventID, valueList);
bRet = pEventInfo->Next(cb);
}
}
else
{
NF_SHARE_PTR<NFCObjectAsyncEventInfo> pObjectEventInfo = mObjectSyncEventInfoMapEx.GetElement(objectID);
if (nullptr == pObjectEventInfo)
{
return false;
}
NF_SHARE_PTR<NFAsyncEventFunc> pEventInfo = pObjectEventInfo->GetElement(nEventID);
if (nullptr == pEventInfo)
{
return false;
}
pPluginManager->GetActorManager()->SendMsgToActor(pEventInfo->nActorID, objectID, nEventID, valueList.String(0), pEventInfo);
}
return true;
}