本文整理汇总了C++中NF_SHARE_PTR::IsUsed方法的典型用法代码示例。如果您正苦于以下问题:C++ NF_SHARE_PTR::IsUsed方法的具体用法?C++ NF_SHARE_PTR::IsUsed怎么用?C++ NF_SHARE_PTR::IsUsed使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NF_SHARE_PTR
的用法示例。
在下文中一共展示了NF_SHARE_PTR::IsUsed方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetOnlineMember
bool NFCGuildModule::GetOnlineMember( const NFGUID& self, const NFGUID& xGuild, NFDataList& varMemberList, NFDataList& varGameList)
{
NF_SHARE_PTR<NFIObject> pGuildObject = m_pGuildDataModule->GetGuild(xGuild);
if (!pGuildObject.get())
{
return false;
}
NF_SHARE_PTR<NFIRecord> pMemberRecord = m_pKernelModule->FindRecord(xGuild, NFrame::Guild::R_GuildMemberList());
if (!pMemberRecord.get())
{
return false;
}
for (int i = 0; i< pMemberRecord->GetRows(); i++)
{
if (!pMemberRecord->IsUsed(i))
{
continue;
}
const NFINT64 nOnline = pMemberRecord->GetInt(i, NFrame::Guild::GuildMemberList_Online);
const NFINT64 nGameID = pMemberRecord->GetInt(i, NFrame::Guild::GuildMemberList_GameID);
const NFGUID& xID = pMemberRecord->GetObject(i, NFrame::Guild::GuildMemberList_GUID);
if (nOnline > 0 && !xID.IsNull())
{
varMemberList.Add(xID);
varGameList.Add(nGameID);
}
}
return true;
}
示例2: GetMemberList
bool NFCTeamModule::GetMemberList(const NFGUID& self, const NFGUID& xTeam, std::vector<NFGUID>& xmemberList)
{
NF_SHARE_PTR<NFIRecordManager> pRecordManager = m_pCommonRedisModule->GetCacheRecordInfo(xTeam, NFrame::Team::ThisName());
if (!pRecordManager)
{
return false;
}
NF_SHARE_PTR<NFIRecord> pMemberRecord = pRecordManager->GetElement(NFrame::Team::MemberList::ThisName());
if (!pMemberRecord.get())
{
return false;
}
for (int i = 0; i < pMemberRecord->GetRows(); i++)
{
if (!pMemberRecord->IsUsed(i))
{
continue;
}
const NFINT64 nOnline = pMemberRecord->GetInt(i, NFrame::Team::MemberList::Online);
const NFINT64 nGameID = pMemberRecord->GetInt(i, NFrame::Team::MemberList::GameID);
const NFGUID& xID = pMemberRecord->GetObject(i, NFrame::Team::MemberList::GUID);
if (!xID.IsNull())
{
xmemberList.push_back(xID);
}
}
return true;
}
示例3: CheckProduceData
int NFCSLGBuildingModule::CheckProduceData( const NFGUID& self )
{
NF_SHARE_PTR<NFIRecord> pProduce = m_pKernelModule->FindRecord(self, "BuildingProduce");
if (NULL == pProduce.get())
{
m_pLogModule->LogNormal(NFILogModule::NLL_ERROR_NORMAL, self, "this is no [BuildingProduce] Record!", "", __FUNCTION__, __LINE__);
return false;
}
for (int i = 0; i < pProduce->GetRows(); i++)
{
if (!pProduce->IsUsed(i))
{
continue;
}
const int nNowTime = pPluginManager->GetNowTime();
const NFGUID xBuildID = pProduce->GetObject(i, "BuildingGUID");
const std::string strItemID = pProduce->GetString(i, "ItemID");
const int nLeftCount = pProduce->GetInt(i, "LeftCount");
const NFINT64 nLastOnceBeginTime = pProduce->GetInt(i, "OnceStartTime");
const NFINT64 nOnceTime = pProduce->GetInt(i, "OnceTime");
const int nPassTime = nNowTime - nLastOnceBeginTime;
if (nPassTime <= 0)
{
continue;
}
const int nCount = nPassTime/nOnceTime;
if (nCount >= nLeftCount)
{
//add Item
//TO ADD
pProduce->Remove(i);
}
else
{
//add Item
//TO ADD
pProduce->SetInt(i, "", nLeftCount - nCount);
//NFDataList varHeart;
//varHeart << xBuildID;
//varHeart << strItemID;
const std::string strHeartname = GetProduceHeartName(self, xBuildID, strItemID);
const int nTime = (nCount + 1) * nOnceTime - nPassTime;
m_pScheduleModule->AddSchedule(self, strHeartname, this, &NFCSLGBuildingModule::OnProduceHeartBeat, /*varHeart, */nTime, 1);
}
}
return 0;
}
示例4: CheckBuildingStatusEnd
int NFCSLGBuildingModule::CheckBuildingStatusEnd( const NFGUID& self )
{
NF_SHARE_PTR<NFIRecord> pRecord = m_pKernelModule->FindRecord(self, "BuildingList");
if (NULL == pRecord.get())
{
m_pLogModule->LogNormal(NFILogModule::NLL_ERROR_NORMAL, self, "this is no [BuildingList] Record!", "", __FUNCTION__, __LINE__);
return 1;
}
const NFINT64 nNowTime = pPluginManager->GetNowTime();
for (int i= 0; i < pRecord->GetRows(); i++)
{
if (!pRecord->IsUsed(i))
{
continue;
}
const NFINT64 nEndTime = pRecord->GetInt(i, "StateEndTime");
const NFGUID& xBuildID = pRecord->GetObject(i, "BuildingGUID");
const int& nStatus = pRecord->GetInt(i, "State");
float fTime = nEndTime - nNowTime;
if (fTime <= 0.0f)
{
fTime = 0.1f;
}
if (nStatus == NFMsg::EBS_IDLE)
{
continue;
}
else if(nStatus == NFMsg::EBS_UPGRADE)
{
//NFDataList varHeart;
//varHeart << xBuildID;
m_pScheduleModule->AddSchedule(self, "OnUpgradeHeartBeat", this, &NFCSLGBuildingModule::OnUpgradeHeartBeat, /*varHeart, */fTime, 1);
}
else if(nStatus == NFMsg::EBS_BOOST)
{
//NFDataList varHeart;
//varHeart << xBuildID;
m_pScheduleModule->AddSchedule(self, "OnUpgradeHeartBeat", this, &NFCSLGBuildingModule::OnUpgradeHeartBeat, /*varHeart, */fTime, 1);
}
}
return 0;
}
示例5: GetTeamInfo
bool NFCTeamModule::GetTeamInfo(const NFGUID& self, const NFGUID& xTeam, NFMsg::TeamInfo& xTeamInfo)
{
if (xTeam.IsNull())
{
return false;
}
NF_SHARE_PTR<NFIPropertyManager> pPropertyManager = m_pCommonRedisModule->GetCachePropertyInfo(xTeam, NFrame::Team::ThisName());
NF_SHARE_PTR<NFIRecordManager> pRecordManager = m_pCommonRedisModule->GetCacheRecordInfo(xTeam, NFrame::Team::ThisName());
if (!pPropertyManager)
{
return false;
}
if (!pRecordManager)
{
return false;
}
NF_SHARE_PTR<NFIRecord> pMemberRecord = pRecordManager->GetElement(NFrame::Team::MemberList::ThisName());
if (!pMemberRecord.get())
{
return false;
}
NFGUID xCaptain = pPropertyManager->GetPropertyObject(NFrame::Team::Captain());
if (!xCaptain.IsNull())
{
return false;
}
*xTeamInfo.mutable_team_id() = NFINetModule::NFToPB(xTeam);
*xTeamInfo.mutable_captain_id() = NFINetModule::NFToPB(xCaptain);
for (int i = 0; i < pMemberRecord->GetRows(); i++)
{
if (!pMemberRecord->IsUsed(i))
{
continue;
}
NFMsg::TeammemberInfo* pMemberinfo = xTeamInfo.add_teammemberinfo();
if (!pMemberinfo)
{
continue;
}
std::string strName = pMemberRecord->GetString(i, NFrame::Team::MemberList::Name);
const int nLevel = pMemberRecord->GetInt32(i, NFrame::Team::MemberList::Level);
const int nJob = pMemberRecord->GetInt32(i, NFrame::Team::MemberList::Job);
const NFGUID xPlayerID = pMemberRecord->GetObject(i, NFrame::Team::MemberList::GUID);
pMemberinfo->set_name(strName);
pMemberinfo->set_nlevel(nLevel);
pMemberinfo->set_job(nJob);
pMemberinfo->set_headicon("");
*pMemberinfo->mutable_player_id() = NFINetModule::NFToPB(xPlayerID);
}
return true;
}
示例6: ConvertRecordToPB
bool NFCCreateRoleModule::ConvertRecordToPB(const NF_SHARE_PTR<NFIRecord>& pRecord, NFMsg::ObjectRecordBase * pRecordData)
{
pRecordData->set_record_name(pRecord->GetName());
for (int iRow = 0; iRow < pRecord->GetRows(); iRow++)
{
if (!pRecord->IsUsed(iRow))
{
continue;
}
NFMsg::RecordAddRowStruct* pRowData = pRecordData->add_row_struct();
if (!pRowData)
{
continue;
}
pRowData->set_row(iRow);
for (int iCol = 0; iCol < pRecord->GetCols(); iCol++)
{
const int nType = pRecord->GetColType(iCol);
switch (nType)
{
case TDATA_INT:
{
NFMsg::RecordInt* pPropertyData = pRowData->add_record_int_list();
const NFINT64 xPropertyValue = pRecord->GetInt(iRow, iCol);
if (pPropertyData)
{
pPropertyData->set_col(iCol);
pPropertyData->set_row(iRow);
pPropertyData->set_data(xPropertyValue);
}
}
break;
case TDATA_FLOAT:
{
NFMsg::RecordFloat* pPropertyData = pRowData->add_record_float_list();
const double xPropertyValue = pRecord->GetFloat(iRow, iCol);
if (pPropertyData)
{
pPropertyData->set_col(iCol);
pPropertyData->set_row(iRow);
pPropertyData->set_data(xPropertyValue);
}
}
break;
case TDATA_STRING:
{
NFMsg::RecordString* pPropertyData = pRowData->add_record_string_list();
const std::string& xPropertyValue = pRecord->GetString(iRow, iCol);
if (pPropertyData)
{
pPropertyData->set_col(iCol);
pPropertyData->set_row(iRow);
pPropertyData->set_data(xPropertyValue);
}
}
break;
case TDATA_OBJECT:
{
NFMsg::RecordObject* pPropertyData = pRowData->add_record_object_list();
const NFGUID xPropertyValue = pRecord->GetObject(iRow, iCol);
if (pPropertyData)
{
pPropertyData->set_col(iCol);
pPropertyData->set_row(iRow);
*pPropertyData->mutable_data() = NFINetModule::NFToPB(xPropertyValue);
}
}
break;
case TDATA_VECTOR2:
{
NFMsg::RecordVector2* pPropertyData = pRowData->add_record_vector2_list();
const NFVector2 xPropertyValue = pRecord->GetVector2(iRow, iCol);
if (pPropertyData)
{
pPropertyData->set_col(iCol);
pPropertyData->set_row(iRow);
NFMsg::Vector2* pVec = pPropertyData->mutable_data();
pVec->set_x(xPropertyValue.X());
pVec->set_y(xPropertyValue.Y());
}
}
break;
case TDATA_VECTOR3:
{
NFMsg::RecordVector3* pPropertyData = pRowData->add_record_vector3_list();
const NFVector3 xPropertyValue = pRecord->GetVector3(iRow, iCol);
if (pPropertyData)
{
//.........这里部分代码省略.........
示例7: SaveDataToNoSql
const bool NFCObjectSaveModule::SaveDataToNoSql( const NFIDENTID& self )
{
NF_SHARE_PTR<NFIObject> pObject = m_pKernelModule->GetObject( self );
if ( pObject.get() )
{
NF_SHARE_PTR<NFIPropertyManager> pProManager = pObject->GetPropertyManager();
NF_SHARE_PTR<NFIRecordManager> pRecordManager = pObject->GetRecordManager();
std::vector<std::string> vFieldVec;
std::vector<std::string> vValueVec;
//witch property to save
std::string strName;
NF_SHARE_PTR<NFIProperty> xProperty = pProManager->First(strName);
while (xProperty)
{
if (xProperty->GetSave())
{
vFieldVec.push_back(strName);
vValueVec.push_back(xProperty->ToString());
}
strName.clear();
xProperty = pProManager->Next(strName);
}
//witch Record to save
NF_SHARE_PTR<NFIRecord> xRecord = pRecordManager->First(strName);
while (xRecord)
{
if (xRecord->GetSave())
{
NFMsg::PlayerRecordBase xRecordData;
xRecordData.set_record_name(strName);
for (int i = 0; i < xRecord->GetRows(); ++i)
{
if(xRecord->IsUsed(i))
{
for (int j = 0; j < xRecord->GetCols(); ++j)
{
switch (xRecord->GetColType(j))
{
case TDATA_INT:
{
NFMsg::RecordInt* pRecordInt = xRecordData.add_record_int_list();
pRecordInt->set_row(i);
pRecordInt->set_col(j);
pRecordInt->set_data(xRecord->GetInt(i, j));
}
break;
case TDATA_FLOAT:
{
NFMsg::RecordFloat* xRecordFloat = xRecordData.add_record_float_list();
xRecordFloat->set_row(i);
xRecordFloat->set_col(j);
xRecordFloat->set_data(xRecord->GetFloat(i, j));
}
break;
case TDATA_STRING:
{
NFMsg::RecordString* xRecordString = xRecordData.add_record_string_list();
xRecordString->set_row(i);
xRecordString->set_col(j);
xRecordString->set_data(xRecord->GetString(i, j));
}
break;
case TDATA_OBJECT:
{
NFMsg::RecordObject* xRecordObejct = xRecordData.add_record_object_list();
xRecordObejct->set_row(i);
xRecordObejct->set_col(j);
*xRecordObejct->mutable_data() = NFINetModule::NFToPB(xRecord->GetObject(i, j));
}
break;
default:
break;
}
}
}
}
std::string strRecordValue;
if(xRecordData.SerializeToString(&strRecordValue))
{
vFieldVec.push_back(strName);
vValueVec.push_back(strRecordValue);
}
}
strName.clear();
xRecord = pRecordManager->Next(strName);
}
const std::string& strClass = m_pKernelModule->GetPropertyString(self, "ClassName");
if(!m_pClusterSQLModule->Updata(strClass, self.ToString(), vFieldVec, vValueVec))
{
return false;
}
//.........这里部分代码省略.........