本文整理汇总了C++中Being::getId方法的典型用法代码示例。如果您正苦于以下问题:C++ Being::getId方法的具体用法?C++ Being::getId怎么用?C++ Being::getId使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Being
的用法示例。
在下文中一共展示了Being::getId方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
Being *BeingManager::findBeing(int id) const
{
for (Beings::const_iterator i = mBeings.begin(), i_end = mBeings.end();
i != i_end; ++i)
{
Being *being = (*i);
if (being->getId() == id)
return being;
}
return NULL;
}
示例2: handleMessage
void BuySellHandler::handleMessage(Net::MessageIn &msg)
{
Being *being = actorSpriteManager->findBeing(msg.readInt16());
if (!being || being->getType() != ActorSprite::NPC)
{
return;
}
int npcId = being->getId();
switch (msg.getId())
{
case GPMSG_NPC_BUY:
{
BuyDialog* dialog = new BuyDialog(npcId);
dialog->reset();
dialog->setMoney(PlayerInfo::getAttribute(MONEY));
while (msg.getUnreadLength())
{
int itemId = msg.readInt16();
int amount = msg.readInt16();
int value = msg.readInt16();
dialog->addItem(itemId, amount, value);
}
break;
}
case GPMSG_NPC_SELL:
{
SellDialog* dialog = new SellDialog(npcId);
dialog->reset();
dialog->setMoney(PlayerInfo::getAttribute(MONEY));
while (msg.getUnreadLength())
{
int itemId = msg.readInt16();
int amount = msg.readInt16();
int value = msg.readInt16();
dialog->addItem(new Item(itemId, amount, false), value);
}
break;
}
}
}
示例3: handleMessage
void BuySellHandler::handleMessage(MessageIn &msg)
{
Being *being = beingManager->findBeing(msg.readInt16());
if (!being || being->getType() != Being::NPC)
{
return;
}
current_npc = being->getId();
switch (msg.getId())
{
case GPMSG_NPC_BUY:
buyDialog->reset();
buyDialog->setMoney(player_node->getMoney());
buyDialog->setVisible(true);
while (msg.getUnreadLength())
{
int itemId = msg.readInt16();
int amount = msg.readInt16();
int value = msg.readInt16();
buyDialog->addItem(itemId, amount, value);
}
break;
case GPMSG_NPC_SELL:
sellDialog->setMoney(player_node->getMoney());
sellDialog->reset();
sellDialog->setVisible(true);
while (msg.getUnreadLength())
{
int itemId = msg.readInt16();
int amount = msg.readInt16();
int value = msg.readInt16();
sellDialog->addItem(new Item(itemId, amount, false), value);
}
break;
}
}
示例4: handleLink
//.........这里部分代码省略.........
{
}*/
/*
// Add Buddy action
else if ((link == "buddy") && being && being->isPlayer())
{
if (!buddyWindow->isVisible())
buddyWindow->setVisible(true);
buddyWindow->addBuddy(being->getName());
}*/
// Pick Up Floor Item action
else if ((link == "pickup") && mFloorItem)
{
player_node->pickUp(mFloorItem);
}
// Look To action
else if (link == "look")
{
}
else if (link == "use")
{
assert(mItem);
if (mItem->isEquipment())
{
if (mItem->isEquipped())
Net::getInventoryHandler()->unequipItem(mItem);
else
Net::getInventoryHandler()->equipItem(mItem);
}
else
{
Net::getInventoryHandler()->useItem(mItem);
}
}
else if (link == "chat")
{
chatWindow->addItemText(mItem->getInfo().getName());
}
else if (link == "split")
{
ItemAmountWindow::showWindow(ItemAmountWindow::ItemSplit,
inventoryWindow, mItem);
}
else if (link == "drop")
{
ItemAmountWindow::showWindow(ItemAmountWindow::ItemDrop,
inventoryWindow, mItem);
}
else if (link == "store")
{
ItemAmountWindow::showWindow(ItemAmountWindow::StoreAdd,
inventoryWindow, mItem);
}
else if (link == "retrieve")
{
ItemAmountWindow::showWindow(ItemAmountWindow::StoreRemove,
storageWindow, mItem);
}
else if (link == "party" && being && being->getType() == Being::PLAYER)
{
Net::getPartyHandler()->invite(dynamic_cast<Player*>(being));
}
else if (link == "name" && being)
{
const std::string &name = being->getName();
chatWindow->addInputText("/w "+name);
}
else if (link == "admin-kick" &&
being &&
(being->getType() == Being::PLAYER ||
being->getType() == Being::MONSTER))
{
Net::getAdminHandler()->kick(being->getId());
}
// Unknown actions
else if (link != "cancel")
{
logger->log("PopupMenu: Warning, unknown action '%s'", link.c_str());
}
setVisible(false);
mBeingId = 0;
mFloorItem = NULL;
mItem = NULL;
}
示例5: handleMessage
void TradeHandler::handleMessage(Net::MessageIn &msg)
{
switch (msg.getId())
{
case GPMSG_TRADE_REQUEST:
{
Being *being = actorSpriteManager->findBeing(msg.readInt16());
if (!being || !mAcceptTradeRequests)
{
respond(false);
break;
}
mTrading = true;
tradePartnerName = being->getName();
tradePartnerID = being->getId();
ConfirmDialog *dlg = new ConfirmDialog(_("Request for Trade"),
strprintf(_("%s wants to trade with you, do you accept?"),
tradePartnerName.c_str()));
dlg->addActionListener(&listener);
} break;
case GPMSG_TRADE_ADD_ITEM:
{
int type = msg.readInt16();
int amount = msg.readInt8();
tradeWindow->addItem(type, false, amount);
} break;
case GPMSG_TRADE_SET_MONEY:
tradeWindow->setMoney(msg.readInt32());
break;
case GPMSG_TRADE_START:
tradeWindow->reset();
tradeWindow->setCaption(strprintf(_("Trading with %s"),
tradePartnerName.c_str()));
tradeWindow->setVisible(true);
break;
case GPMSG_TRADE_BOTH_CONFIRM:
tradeWindow->receivedOk(false);
break;
case GPMSG_TRADE_AGREED:
tradeWindow->receivedOk(false);
break;
case GPMSG_TRADE_CANCEL:
SERVER_NOTICE(_("Trade canceled."))
tradeWindow->setVisible(false);
tradeWindow->reset();
mTrading = false;
break;
case GPMSG_TRADE_COMPLETE:
SERVER_NOTICE(_("Trade completed."))
tradeWindow->setVisible(false);
tradeWindow->reset();
mTrading = false;
break;
}
}
示例6: handle_mouse
void handle_mouse(Event *evt)
{
if (!mapEngine->mapLoaded())
return;
Point camPos = graphicsEngine->getCamera()->getPosition();
Point pos;
pos.x = evt->x + camPos.x;
pos.y = evt->y + camPos.y + mapEngine->getTileHeight();
// left mouse button has finished being pressed
if (evt->button == SDL_BUTTON_LEFT && evt->type == 1)
{
// check user clicked on map
Node *node = graphicsEngine->getNode(pos.x, pos.y);
if (node)
{
// show name if player/NPC is clicked
Being *being = beingManager->findBeing(node->getName());
if (being)
{
// toggle being name
being->toggleName();
if (being->isNPC() && withinReach(being->getPosition(), player->getSelectedCharacter()->getPosition()) && !being->isTalking())
{
Packet *p = new Packet(PGMSG_NPC_START_TALK);
p->setInteger(being->getId());
networkManager->sendPacket(p);
}
return;
}
Point pt = mapEngine->convertPixelToTile(pos.x, pos.y);
if (mapEngine->blocked(pt))
return;
// send move message
Packet *p = new Packet(PGMSG_PLAYER_MOVE);
p->setInteger(pt.x);
p->setInteger(pt.y);
networkManager->sendPacket(p);
//logger->logDebug("Sending move request");
// save destination for later
player->getSelectedCharacter()->saveDestination(pt);
}
}
if (evt->button == 0)
{
if (!interfaceManager->getMouse()->cursor)
return;
// pos.x += mapEngine->getTileWidth() >> 1;
int mapWidth = mapEngine->getWidth() * mapEngine->getTileWidth();
int mapHeight = mapEngine->getHeight() * mapEngine->getTileHeight();
if (pos.x > mapWidth || -pos.x > mapWidth)
return;
if (pos.y > mapHeight || pos.y < 0)
return;
Point tilePos = mapEngine->convertPixelToTile(pos.x, pos.y);
if (tilePos.x < 0 || tilePos.y < 0)
return;
if (tilePos.x == interfaceManager->getMouse()->cursorPos.x && tilePos.y == interfaceManager->getMouse()->cursorPos.y)
return;
interfaceManager->getMouse()->cursorPos = tilePos;
Point screenPos;
screenPos.x = 0.5 * (tilePos.x - tilePos.y) * mapEngine->getTileWidth();
screenPos.y = 0.5 * (tilePos.x + tilePos.y) * mapEngine->getTileHeight();
interfaceManager->getMouse()->cursor->moveNode(&screenPos);
}
}
示例7: logic
void TargetDebugTab::logic()
{
if (player_node && player_node->getTarget())
{
Being *target = player_node->getTarget();
mTargetLabel->setCaption(strprintf("%s %s (%d, %d)", _("Target:"),
target->getName().c_str(), target->getTileX(),
target->getTileY()));
mTargetIdLabel->setCaption(strprintf("%s %d",
_("Target Id:"), target->getId()));
if (target->getLevel())
{
mTargetLevelLabel->setCaption(strprintf("%s %d",
_("Target Level:"), target->getLevel()));
}
else
{
mTargetLevelLabel->setCaption(strprintf("%s ?",
_("Target Level:")));
}
mTargetRaceLabel->setCaption(strprintf("%s %s",
_("Target race:"), target->getRaceName().c_str()));
mTargetPartyLabel->setCaption(strprintf("%s %s", _("Target Party:"),
target->getPartyName().c_str()));
mTargetGuildLabel->setCaption(strprintf("%s %s", _("Target Guild:"),
target->getGuildName().c_str()));
mMinHitLabel->setCaption(strprintf("%s %d",
_("Minimal hit:"), target->getMinHit()));
mMaxHitLabel->setCaption(strprintf("%s %d",
_("Maximum hit:"), target->getMaxHit()));
mCriticalHitLabel->setCaption(strprintf("%s %d",
_("Critical hit:"), target->getCriticalHit()));
const int delay = target->getAttackDelay();
if (delay)
{
mAttackDelayLabel->setCaption(strprintf("%s %d",
_("Attack delay:"), delay));
}
else
{
mAttackDelayLabel->setCaption(strprintf(
"%s ?", _("Attack delay:")));
}
}
else
{
mTargetLabel->setCaption(strprintf("%s ?", _("Target:")));
mTargetIdLabel->setCaption(strprintf("%s ?", _("Target Id:")));
mTargetLevelLabel->setCaption(strprintf("%s ?", _("Target Level:")));
mTargetPartyLabel->setCaption(strprintf("%s ?", _("Target Party:")));
mTargetGuildLabel->setCaption(strprintf("%s ?", _("Target Guild:")));
mAttackDelayLabel->setCaption(strprintf("%s ?", _("Attack delay:")));
mMinHitLabel->setCaption(strprintf("%s ?", _("Minimal hit:")));
mMaxHitLabel->setCaption(strprintf("%s ?", _("Maximum hit:")));
mCriticalHitLabel->setCaption(strprintf("%s ?", _("Critical hit:")));
}
mTargetLabel->adjustSize();
mTargetIdLabel->adjustSize();
mTargetLevelLabel->adjustSize();
mTargetPartyLabel->adjustSize();
mTargetGuildLabel->adjustSize();
mAttackDelayLabel->adjustSize();
}
示例8: handleLink
//.........这里部分代码省略.........
player_node->inviteToGuild(being);
}
// Follow Player action
else if (link == "follow" && being)
{
player_node->setFollow(being->getName());
}
// Pick Up Floor Item action
else if ((link == "pickup") && mFloorItem)
{
player_node->pickUp(mFloorItem);
}
// Look To action
else if (link == "look")
{
}
else if (link == "use")
{
assert(mItem);
if (mItem->isEquipment())
{
if (mItem->isEquipped())
Net::getInventoryHandler()->unequipItem(mItem);
else
Net::getInventoryHandler()->equipItem(mItem);
}
else
{
Net::getInventoryHandler()->useItem(mItem);
}
}
else if (link == "chat")
{
if (mItem)
chatWindow->addItemText(mItem->getInfo().getName());
else if (mFloorItem)
chatWindow->addItemText(mFloorItem->getInfo().getName());
}
else if (link == "split")
{
ItemAmountWindow::showWindow(ItemAmountWindow::ItemSplit,
inventoryWindow, mItem);
}
else if (link == "drop")
{
ItemAmountWindow::showWindow(ItemAmountWindow::ItemDrop,
inventoryWindow, mItem);
}
else if (link == "store")
{
ItemAmountWindow::showWindow(ItemAmountWindow::StoreAdd,
inventoryWindow, mItem);
}
else if (link == "retrieve")
{
ItemAmountWindow::showWindow(ItemAmountWindow::StoreRemove, mWindow,
mItem);
}
else if (link == "party" && being &&
being->getType() == ActorSprite::PLAYER)
{
Net::getPartyHandler()->invite(being);
}
else if (link == "name" && being)
{
const std::string &name = being->getName();
chatWindow->addInputText(name);
}
else if (link == "admin-kick" &&
being &&
(being->getType() == ActorSprite::PLAYER ||
being->getType() == ActorSprite::MONSTER))
{
Net::getAdminHandler()->kick(being->getId());
}
// Unknown actions
else if (link != "cancel")
{
logger->log("PopupMenu: Warning, unknown action '%s'", link.c_str());
}
setVisible(false);
mBeingId = 0;
mFloorItem = NULL;
mItem = NULL;
}