void Game::processCloseContainer(int containerId) { ContainerPtr container = getContainer(containerId); if(!container) { g_logger.traceError("container not found"); return; } m_containers[containerId] = nullptr; container->onClose(); }
void Game::processOpenContainer(int containerId, const ItemPtr& containerItem, const std::string& name, int capacity, bool hasParent, const std::vector<ItemPtr>& items) { ContainerPtr previousContainer = getContainer(containerId); ContainerPtr container = ContainerPtr(new Container(containerId, capacity, name, containerItem, hasParent)); m_containers[containerId] = container; container->onAddItems(items); container->onOpen(previousContainer); if(previousContainer) previousContainer->onClose(); }
void Game::processCloseContainer(int containerId) { ContainerPtr container = getContainer(containerId); if(!container) { /* happens if you close and restart client with container opened * g_logger.traceError("container not found"); */ return; } m_containers[containerId] = nullptr; container->onClose(); }
void Game::processOpenContainer(int containerId, const ItemPtr& containerItem, const std::string& name, int capacity, bool hasParent, const std::vector<ItemPtr>& items, bool isUnlocked, bool hasPages, int containerSize, int firstIndex) { ContainerPtr previousContainer = getContainer(containerId); ContainerPtr container = ContainerPtr(new Container(containerId, capacity, name, containerItem, hasParent, isUnlocked, hasPages, containerSize, firstIndex)); m_containers[containerId] = container; container->onAddItems(items); // we might want to close a container here enableBotCall(); container->onOpen(previousContainer); disableBotCall(); if(previousContainer) previousContainer->onClose(); }