本文整理汇总了C++中Equipment::occupiesOffhand方法的典型用法代码示例。如果您正苦于以下问题:C++ Equipment::occupiesOffhand方法的具体用法?C++ Equipment::occupiesOffhand怎么用?C++ Equipment::occupiesOffhand使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Equipment
的用法示例。
在下文中一共展示了Equipment::occupiesOffhand方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: addEntityInventoryItem
bool Inventory::addEntityInventoryItem(int i, Entity* ii)
{
if (slotList.size() < maxSlotListCount)
{
if (!hasEntityInventoryItem(i))
{
if (ii->getInventoryItem()->getType() == "INVENTORYEQUIPMENT")
{//is equipment
Equipment* eq = (Equipment*)ii->getInventoryItem()->getItem();
if (eq->occupiesBody())
{//is body armor
if (getSlotBody() == nullptr || getSlotBody()->getInventoryItem()->getCost() < ii->getInventoryItem()->getCost())
{//if new armor is better (more expensive)
slot_body = i;
}
}
else if (eq->occupiesHand())
{
if (eq->occupiesOffhand())
{//normal weapon
if (getSlotHand() == nullptr || getSlotHand()->getInventoryItem()->getCost() < ii->getInventoryItem()->getCost())
{//if new weapon is better (more expensive)
slot_hand = i;
}
}
}
else
{//shield
if (getSlotOffHand() == nullptr || getSlotOffHand()->getInventoryItem()->getCost() < ii->getInventoryItem()->getCost())
{//if new shield is better (more expensive)
slot_offhand = i;
}
}
}
int row = i / inventoryColumns + 1;
int col = i % inventoryColumns + 1;
ii->setX(xDrawPosition + col*ii->getInventoryItem()->getItem()->getSpriteWidth() + magicPadding);
ii->setY(yDrawPosition + row*ii->getInventoryItem()->getItem()->getSpriteHeight() + magicPadding);
slotList[i] = ii;
return true;
}
}
return false;
}