本文整理汇总了C++中P_CHAR::getStablemaster方法的典型用法代码示例。如果您正苦于以下问题:C++ P_CHAR::getStablemaster方法的具体用法?C++ P_CHAR::getStablemaster怎么用?C++ P_CHAR::getStablemaster使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类P_CHAR
的用法示例。
在下文中一共展示了P_CHAR::getStablemaster方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: addToStableMap
/*!
\author Luxor
*/
void addToStableMap(P_CHAR pet)
{
VALIDATEPC(pet);
SERIAL stablemaster=pet->getStablemaster();
if( stablemaster !=INVALID ) {
delFromStableMap( pet );
pStableMap[stablemaster].push_back(pet);
}
}
示例2: init
/*!
\brief initializes pointer maps
\author Luxor
*/
void init()
{
pStableMap.clear();
pContMap.clear();
pMounted.clear();
pOwnCharMap.clear();
pOwnItemMap.clear();
//Chars and Stablers
P_CHAR pc = 0;
cAllObjectsIter objs;
for( objs.rewind(); !objs.IsEmpty(); objs++ )
{
if( isCharSerial( objs.getSerial() ) ) {
pc=(P_CHAR)objs.getObject();
{
if( pc->isStabled() ) {
pStableMap[pc->getStablemaster()].push_back(pc);
}
if( pc->mounted )
pMounted[pc->getOwnerSerial32()]=pc;
P_CHAR own=pointers::findCharBySerial(pc->getOwnerSerial32());
pc->setOwnerSerial32( DEREF_P_CHAR(own), true );
}
}
else {
P_ITEM pi = (P_ITEM)objs.getObject();
updContMap(pi);
P_CHAR own=pointers::findCharBySerial(pi->getOwnerSerial32());
pi->setOwnerSerial32( DEREF_P_CHAR(own), true );
}
}
std::map< SERIAL, P_CHAR >::iterator iter( pMounted.begin() ), end( pMounted.end() );
for( ; iter!=end; iter++)
{
pc = pointers::findCharBySerial(iter->first);
if(ISVALIDPC(pc))
pc->setOnHorse();
}
}
示例3: delFromStableMap
/*!
\author Luxor
*/
void delFromStableMap(P_CHAR pet)
{
VALIDATEPC(pet);
SERIAL stablemaster=pet->getStablemaster();
if( stablemaster != INVALID ) {
std::map<SERIAL, vector <P_CHAR> >::iterator vect( pStableMap.find( stablemaster ) );
if( ( vect!=pStableMap.end() ) && !vect->second.empty() ) {
vector<P_CHAR>::iterator stableIter;
stableIter = find( vect->second.begin(), vect->second.end(), pet);
if( stableIter != vect->second.end())
vect->second.erase(stableIter);
}
}
}