本文整理汇总了C++中InventoryItem::getItem方法的典型用法代码示例。如果您正苦于以下问题:C++ InventoryItem::getItem方法的具体用法?C++ InventoryItem::getItem怎么用?C++ InventoryItem::getItem使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类InventoryItem
的用法示例。
在下文中一共展示了InventoryItem::getItem方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: getInventoryString
string Inventory::getInventoryString()
{
stringstream result;
result << "{";
vector<Entity*> inventoryItems = getVectorItems();
for (vector<Entity*>::iterator i = inventoryItems.begin(); i != inventoryItems.end(); i++)
{
Entity* theItem = *i;
InventoryItem* theInventoryItem = theItem->getInventoryItem();
if (theInventoryItem->getType() == "INVENTORYFOOD")
{
result << "F";
result << theInventoryItem->getItem()->getID() << ":";
result << theInventoryItem->getCurrentStackCount() << ":";
result << ((InventoryFood*)theInventoryItem)->getFoodState();
}
else if (theInventoryItem->getType() == "INVENTORYEQUIPMENT")
{
result << "E";
result << theInventoryItem->getItem()->getID() << ":";
result << theInventoryItem->getCurrentStackCount() << ":";
result << ((InventoryEquipment*)theInventoryItem)->getSmithingMaterial()->getID();
}
else if (theInventoryItem->getType() == "INVENTORYBOOST")
{
result << "B";
result << theInventoryItem->getItem()->getID() << ":";
result << theInventoryItem->getCurrentStackCount() << ":";
}
else
{
result << theInventoryItem->getItem()->getID() << ":";
result << theInventoryItem->getCurrentStackCount() << ":";
}
result << ",";
}
result << "}";
return result.str();
}
示例2: getReloadText
std::string Inventory::getReloadText()
{
std::ostringstream oss;
oss << "-- Player's inventory" << std::endl;
oss << "-- Items in Backpack" << std::endl;
for( size_t backpackNr=0; backpackNr<backpackItems.size(); ++backpackNr )
{
InventoryItem* curBackpackItem = backpackItems[ backpackNr ];
Item* curItem = curBackpackItem->getItem();
oss << "DawnInterface.restoreItemInBackpack( itemDatabase[\""
<< curItem->getID() << "\"], "
<< curBackpackItem->getInventoryPosX()
<< ", " << curBackpackItem->getInventoryPosY() << ", "
<< curBackpackItem->getCurrentStackSize() << " );"
<< std::endl;
}
oss << "-- equipped Items" << std::endl;
size_t numEquippable = static_cast<size_t>( ItemSlot::COUNT );
for( size_t curEquippable=0; curEquippable<numEquippable; ++curEquippable )
{
if( equippedItems[ curEquippable ] != NULL )
{
Item* curItem = equippedItems[ curEquippable ]->getItem();
/* if the item is two-handed and we're inspecting the off-hand slot
don't output it. */
if( !( curItem->isTwoHandedWeapon() == true &&
curEquippable == static_cast<size_t>( ItemSlot::OFF_HAND ) ) )
{
oss << "DawnInterface.restoreWieldItem( " << curEquippable << ", "
<< "itemDatabase[\"" << curItem->getID() << "\"] " << ");"
<< std::endl;
}
}
}
return oss.str();
}
示例3: getItemAt
InventoryItem* Inventory::getItemAt( size_t invPosX, size_t invPosY )
{
assert( !isPositionFree( invPosX, invPosY ) );
size_t numBackItems = backpackItems.size();
for( size_t curBackItemNr=0; curBackItemNr<numBackItems; ++curBackItemNr )
{
InventoryItem* curItem = backpackItems[ curBackItemNr ];
size_t itemPosX = curItem->getInventoryPosX();
size_t itemPosY = curItem->getInventoryPosY();
size_t itemSizeX = curItem->getItem()->getSizeX();
size_t itemSizeY = curItem->getItem()->getSizeY();
if( itemPosX <= invPosX && itemPosX + itemSizeX > invPosX &&
itemPosY <= invPosY && itemPosY + itemSizeY > invPosY )
{
return curItem;
}
}
// should have found an item so should never reach here
abort();
}
示例4: update
void Player::update(float frameTime, LevelController* lc) {
// 1-Press NoClip
if (noClipButtonReleased && input->isKeyDown(VK_F2)) {
noClip = !noClip;
noClipButtonReleased = false;
} else {
noClipButtonReleased = true;
}
velocityX = getVelocity().x;
velocityY = getVelocity().y;
// Handle NoClip
if (noClip) {
if (input->isKeyDown(PLAYER_RIGHT)) {
velocityX = playerNS::NOCLIP_SPEED * frameTime;
orientation = Right;
} else if (input->isKeyDown(PLAYER_LEFT)) {
velocityX = -playerNS::NOCLIP_SPEED * frameTime;
orientation = Left;
} else {
velocityX = 0;
}
if (input->isKeyDown(PLAYER_UP)) {
velocityY = -playerNS::NOCLIP_SPEED * frameTime;
orientation = Up;
} else if (input->isKeyDown(PLAYER_DOWN)) {
velocityY = playerNS::NOCLIP_SPEED * frameTime;
orientation = Down;
} else {
velocityY = 0;
}
velocity = VECTOR2(velocityX, velocityY);
frameDelay = 1000000;
Item* activeItem = inventory->getActiveItem()->getItem();
if (inventory->getActiveItem()->getItem()->getItemType() == Item::Equipable) {
Gun* gun = dynamic_cast<Gun*>(activeItem);
if (gun != 0) {
gun->update(frameTime, orientation, getX(), getY(), input, lc);
}
}
Entity::update(frameTime);
return;
}
// Set Obj Vars
levelController = lc;
// Debug Messages
OSD::instance()->addLine("Jump Distance: " + std::to_string(jumpdistance) + " / " + std::to_string(playerNS::JUMP_HEIGHT));
OSD::instance()->addLine("Can | Left: " + std::to_string(canMoveLeft(true)) + " | Right: " + std::to_string(canMoveRight(true)) + " | Up: " + std::to_string(canMoveUp(true)) + " | Down: " + std::to_string(canMoveDown(true)));
// Stuck Hotfix
if (!canMoveLeft() && !canMoveRight() && !canMoveUp() && !canMoveDown()) {
setX(spawnPos.x);
setY(spawnPos.y);
}
// Update Guns
inventory->update(frameTime, input);
// Boss Audio
if (lc->getMapX() * -1.0 > 1900) {
audio->stopCue(BK_MUSIC);
audio->playCue(BOSS_MUSIC);
}
// Start of Player Movement
if (healthStatus != Dead) {
if (!canMoveDown()) {
if (!input->isKeyDown(PLAYER_UP) && !input->isKeyDown(PLAYER_JUMP))
canJump = true;
canFall = false;
falling = false;
} else {
canFall = true;
falling = true;
}
// Move Left and Right
if (input->isKeyDown(PLAYER_RIGHT) && canMoveRight()) {
velocityX = playerNS::SPEED * frameTime;
while (!canMoveRight()) {
spriteData.x -= 0.1;
velocityX = 0;
}
orientation = Right;
} else if (input->isKeyDown(PLAYER_LEFT) && canMoveLeft()) {
velocityX = -playerNS::SPEED * frameTime;
while (!canMoveLeft()) {
spriteData.x += 0.1;
velocityX = 0;
}
orientation = Left;
} else {
velocityX = 0;
if (input->isKeyDown(PLAYER_UP)) {
orientation = Up;
}
if (input->isKeyDown(PLAYER_DOWN)) {
orientation = Down;
}
}
// Handle Jumping
if (jumping || (((input->isKeyDown(PLAYER_JUMP) || input->isKeyDown(PLAYER_UP)) && canMoveUp() && canJump))) {
jumpdistance = jumpOriginY - getY();
if (canJump && !jumping)
//.........这里部分代码省略.........