本文整理汇总了C++中BStringVector::size方法的典型用法代码示例。如果您正苦于以下问题:C++ BStringVector::size方法的具体用法?C++ BStringVector::size怎么用?C++ BStringVector::size使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BStringVector
的用法示例。
在下文中一共展示了BStringVector::size方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: handleObjectMenuSelect
void InsuranceTerminal::handleObjectMenuSelect(uint8 messageType,Object* srcObject)
{
PlayerObject* playerObject = (PlayerObject*)srcObject;
if (playerObject && playerObject->isConnected())
{
// Fetch all items that can be insured.
BStringVector insuranceList;
this->getUninsuredItems(playerObject, &insuranceList);
if (gWorldConfig->isTutorial())
{
// We do a simpleified version of insurance when using the terminal in the Tutorial.
if (this->getParentId() && gWorldManager->getObjectById(this->getParentId())->getParentId())
{
// We are located inside a building.
// Insure all insurable items.
if (mSortedInsuranceList.size() == 0)
{
// You do not have any items that can be insured. BUT.. we ignore this for now when running the tutorial.
// gMessageLib->sendSystemMessage(playerObject, L"", "terminal_ui", "no_insurable_items");
}
else
{
// Insure all the items.
// Let's warn about the fatal error conditions first (object destroyed or invalid type),
SortedInventoryItemList::iterator it = mSortedInsuranceList.begin();
while (it != mSortedInsuranceList.end())
{
string selectedItemm = (*it).first;
selectedItemm.convert(BSTRType_Unicode16);
Object* object = gWorldManager->getObjectById((*it).second);
if (!object)
{
// Invalid object, we send a warning about this error.
gMessageLib->sendSystemMessage(playerObject, L"", "error_message", "insure_fail");
}
else
{
TangibleObject* tangibleObject = dynamic_cast<TangibleObject*>(object);
if (!tangibleObject)
{
// Not a tangible object, we send a warning about this error.
gMessageLib->sendSystemMessage(playerObject, L"", "error_message", "insure_fail");
}
else if (!tangibleObject->hasInternalAttribute("insured"))
{
// This is not a fatal error, but should never happen.
// [Insurance] Item uninsurable: %TT.
gMessageLib->sendSystemMessage(playerObject,L"","error_message","prose_item_uninsurable", "","", L"", 0, "", "", selectedItemm);
}
else if (tangibleObject->getInternalAttribute<bool>("insured"))
{
// This is not a fatal error, but should never happen.
// [Insurance] Item already insured: %TT.
gMessageLib->sendSystemMessage(playerObject,L"","error_message","prose_item_already_insured", "","", L"", 0, "", "", selectedItemm);
}
else
{
// Update attribute.
tangibleObject->setInternalAttribute("insured","1");
gWorldManager->getDatabase()->ExecuteSqlAsync(NULL,NULL,"UPDATE item_attributes SET value=1 WHERE item_id=%"PRIu64" AND attribute_id=%u",tangibleObject->getId(), 1270);
tangibleObject->setTypeOptions(tangibleObject->getTypeOptions() | 4);
// Update insurance status.
(void)gMessageLib->sendUpdateTypeOption(tangibleObject, playerObject);
}
}
it++;
}
}
// Always display success when doing the tutorial.
// Insurance transaction successfully completed.
gMessageLib->sendSystemMessage(playerObject,L"","base_player","insure_success");
// Inform Tutorial about the insurance.
playerObject->getTutorial()->tutorialResponse("insureItemsDone");
}
}
else
{
switch(messageType)
{
case radId_itemUse:
{
if (playerObject->getNewPlayerExemptions())
{
// player have free deatchs left.
gUIManager->createNewMessageBox(this,"","@base_player:noob_confirm_insure_title","@base_player:noob_confirm_insure_prompt",playerObject, SUI_Window_Insurance_Newbie_MessageBox, SUI_MB_YESNO);
}
else
{
// We should display all uninsured items that can be insured, and that are wearing or carrying in our inventory.
//.........这里部分代码省略.........
示例2: handleUIEvent
void InsuranceTerminal::handleUIEvent(uint32 action,int32 element,string inputStr,UIWindow* window)
{
// gLogger->logMsgF("InsuranceTerminal::handleUIEvent You are here!",MSG_NORMAL);
if(window == NULL)
{
return;
}
PlayerObject* playerObject = window->getOwner(); // window owner
if(playerObject == NULL || !playerObject->isConnected() || playerObject->getSamplingState() || playerObject->isIncapacitated() || playerObject->isDead()|| playerObject->checkState(CreatureState_Combat))
{
return;
}
switch(window->getWindowType())
{
case SUI_Window_Insurance_Newbie_MessageBox: // Tried to insure item when still having free rounds left.
{
switch(action)
{
case 0: // Yes
{
// Player selected to continue with insurance of item even if no need for.
// gLogger->logMsgF("SUI_Window_Insurance_Newbie_MessageBox Yes",MSG_NORMAL);
// Build the items list and optional use error-messages if needed.
BStringVector insuranceList;
this->getUninsuredItems(playerObject, &insuranceList);
// We should display all uninsured items that can be insured, and that are wearing or carrying in our inventory.
// Items in backpackage or in other containers within our inventory shall also be handled.
gUIManager->createNewListBox(this,"insure","@sui:mnu_insure","Select an item to insure.",insuranceList,playerObject,SUI_Window_Insurance_ListBox, SUI_MB_OKCANCEL);
}
break;
case 1: // No
{
// Player selected to abort, since all items are still treated as insured.
// gLogger->logMsgF("SUI_Window_Insurance_Newbie_MessageBox No",MSG_NORMAL);
}
break;
default:
{
gLogger->logMsgF("SUI_Window_Insurance_Newbie_MessageBox Invalid selection!",MSG_NORMAL);
}
break;
}
}
break;
case SUI_Window_Insurance_ListBox:
{
switch (action)
{
case 0: // OK
{
// Insure one item.
// gLogger->logMsgF("SUI_Window_Insurance_ListBox OK",MSG_NORMAL);
Inventory* inventoryObject = dynamic_cast<Inventory*>(playerObject->getEquipManager()->getEquippedObject(CreatureEquipSlot_Inventory));
Bank* bankObject = dynamic_cast<Bank*>(playerObject->getEquipManager()->getEquippedObject(CreatureEquipSlot_Bank));
if(!inventoryObject || !bankObject)
return;
int32 creditsInInventory = inventoryObject->getCredits();
int32 creditsAtBank = bankObject->getCredits();
if (mSortedInsuranceList.size() == 0)
{
// You have no insurable items.
gMessageLib->sendSystemMessage(playerObject, L"", "error_message", "no_insurables");
}
else if (element > (int32)mSortedInsuranceList.size() - 1 || element < 0)
{
// Unable to process insure item request.
gMessageLib->sendSystemMessage(playerObject, L"", "error_message", "bad_insure_request");
}
else
{
string selectedItemm((mSortedInsuranceList.at(element).first).getAnsi());
selectedItemm.convert(BSTRType_Unicode16);
Object* object = gWorldManager->getObjectById(mSortedInsuranceList.at(element).second);
if (!object)
{
// Invalid object.
// Insure attempt failed.
gMessageLib->sendSystemMessage(playerObject, L"", "error_message", "insure_fail");
break;
}
TangibleObject* tangibleObject = dynamic_cast<TangibleObject*>(object);
if (!tangibleObject)
{
// Not a tangible object.
// Insure attempt failed.
gMessageLib->sendSystemMessage(playerObject, L"", "error_message", "insure_fail");
//.........这里部分代码省略.........