bool MapComposite::activate() { assert(!isActive()); if (!mMap) return false; initializeContent(); std::string sPvP = mMap->getProperty("pvp"); if (sPvP.empty()) sPvP = Configuration::getValue("game_defaultPvp", std::string()); if (sPvP == "free") mPvPRules = PVP_FREE; else mPvPRules = PVP_NONE; mActive = true; if (!mInitializeCallback.isValid()) { LOG_WARN("No callback for map initialization found"); } else { Script *s = ScriptManager::currentState(); s->prepare(mInitializeCallback); s->execute(this); } return true; }
ContainerContentWindow::ContainerContentWindow(Container* container, InventoryWindow* parent) : AbstractWindow("containercontentwindow.xml", WIT_MOUSE_INPUT), mContainer(container), mInventoryWindow(parent) { mContentWindow = getWindow("ContainerContentWindow/Content"); mContentWindow->setUserData(container); mContentWindow->subscribeEvent( Window::EventDragDropItemDropped, boost::bind(&ContainerContentWindow::handleItemDroppedOnContainer, this, _1)); mContentWindow->subscribeEvent( Window::EventDragDropItemEnters, boost::bind(&ContainerContentWindow::handleItemEntersContainer, this, _1)); mContentWindow->subscribeEvent( Window::EventDragDropItemLeaves, boost::bind(&ContainerContentWindow::handleItemLeavesContainer, this, _1)); UVector2 size = UVector2( cegui_absdim(container->getVolume().first*30), cegui_absdim(container->getVolume().second*30)); mContentWindow->setSize(size); size.d_x += cegui_absdim(40); size.d_y += cegui_absdim(50); mContentWindow->getParent()->setMaxSize(size); mContentWindow->getParent()->setMinSize(size); initializeContent(); bindDestroyWindowToXButton(); }