void Game::close(const ContainerPtr& container) { if(!canPerformGameAction() || !container) return; m_protocolGame->sendCloseContainer(container->getId()); }
void Game::openParent(const ContainerPtr& container) { if(!canPerformGameAction() || !container) return; m_protocolGame->sendUpContainer(container->getId()); }
int Game::open(const ItemPtr& item, const ContainerPtr& previousContainer) { if(!canPerformGameAction() || !item) return -1; int id = 0; if(!previousContainer) id = findEmptyContainerId(); else id = previousContainer->getId(); m_protocolGame->sendUseItem(item->getPosition(), item->getId(), item->getStackPos(), id); return id; }
void Game::open(const ItemPtr& item, const ContainerPtr& previousContainer) { if(!canPerformGameAction() || !item) return; int id = 0; if(!previousContainer) { // find a free container id while(m_containers[id] != nullptr) id++; } else { id = previousContainer->getId(); } m_protocolGame->sendUseItem(item->getPosition(), item->getId(), item->getStackpos(), id); }
void Game::refreshContainer(const ContainerPtr& container) { if(!canPerformGameAction()) return; m_protocolGame->sendRefreshContainer(container->getId()); }