当前位置: 首页>>代码示例>>C++>>正文


C++ InventoryItem::getItem方法代码示例

本文整理汇总了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();
}
开发者ID:Capeguy,项目名称:GPAssignment2,代码行数:39,代码来源:Inventory.cpp

示例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();
}
开发者ID:kerlw,项目名称:Dawn,代码行数:39,代码来源:inventory.cpp

示例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();
}
开发者ID:kerlw,项目名称:Dawn,代码行数:23,代码来源:inventory.cpp

示例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)
//.........这里部分代码省略.........
开发者ID:Capeguy,项目名称:GPAssignment2,代码行数:101,代码来源:player.cpp


注:本文中的InventoryItem::getItem方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。