//TemplatesDBManager functions: QList<AbstractListEntry*>* TemplatesDBManager::getAllElements(int* state) { //нужно проверять результат обращения к БД!! //DBManager::connect(); std::vector<std::pair<std::string, std::string>> columns = { {"title", "text"}, {"template_text", "text"} }; DBManager::createTable("Templates", { {"title", "text"}, {"template_text", "text"}, {"number", "int default -1"} }); createTriggers(); QList<AbstractListEntry*> * templates = new QList<AbstractListEntry*>; std::vector<std::vector<std::string>> result = std::move(select("Templates", {"title", "template_text", "id"})); for (std::vector<std::vector<std::string>>::iterator rowIter = result.begin(); rowIter != result.end(); ++rowIter) { templates->append(new TemplateEntry(QString::fromStdString(rowIter->at(0)), QString::fromStdString(rowIter->at(1)), std::stoi(rowIter->at(2)))); } //DBManager::close(); return templates; }
GameMap::GameMap(GameWorld* const game_world) : _game_world(game_world), _trigger_system(new TriggerSystem()) { _tile_map = cocos2d::TMXTiledMap::create("tilemap/100_160_2.tmx"); //_tile_map = cocos2d::TMXTiledMap::create("tilemap/diablo2_outdoor_remove_walls.tmx"); auto ms = _tile_map->getMapSize(); auto ts = _tile_map->getTileSize(); _sizeX = (ms.width + 0.5f) * ts.width; _sizeY = (ms.height + 1) * ts.height / 2; CCLOG("%f %f %f %f", _sizeX, _sizeY, ts.width, ts.height); _agent_cell_space.reset( new AgentCellSpace( _sizeX, _sizeY, Prm.NumCellsX, Prm.NumCellsY, Prm.NumMaxAgentCellSpace)); createCollisionAreas(); createStructures(); /*_trigger_system->registerTrigger( new TriggerHealthGiver( _game_world, new geometry::Circle(Vec2(500, 500), 300), "health_trigger1", Vec2(500, 500), Vec2(1,1), 200, 0, 0, 1000));*/ //first of all read and create the navgraph. This must be done before //the entities are read from the map file because many of the entities //will be linked to a graph node (the graph node will own a pointer //to an instance of the entity) _nav_graph.reset(new NavGraph(false)); createGraph(); //_nav_graph->render(); CCLOG("Node : %d Edge : %d", _nav_graph->numActiveNodes(), _nav_graph->numEdges()); //determine the average distance between graph nodes so that we can //partition them efficiently _cellspace_neighbor_range = calculateAverageGraphEdgeLength(*_nav_graph) + 1; //partition the graph nodes partitionNavGraph(); createTriggers(); partitionCollisionArea(); }
bool ThumbnailSchemaUpdater::createDatabase() { if ( createTables() && createIndices() && createTriggers()) { m_currentVersion = schemaVersion(); m_currentRequiredVersion = 1; return true; } else { return false; } }
void Map::load(b2World* world, ContactListener* listener, sf::RenderWindow* window, LoadSettings& lsettings, EngineSettings& esettings) { _world = world; _cListener = listener; _window = window; _campaign = lsettings._campaignVector[lsettings._campaign]; _level = lsettings._levelVector[lsettings._level]; _debug = esettings.debug; _esettings = &esettings; _backGroundObject.clear(); _mapObject.clear(); _foregroundObject.clear(); _triggerObject.clear(); _backGroundObject.reserve(esettings.backgroundObjectLimit); _mapObject.reserve(esettings.mapObjectLimit); _foregroundObject.reserve(esettings.foregroundObjectLimit); _triggerObject.reserve(esettings.triggerObjectLimit); createBackgrounds(); createStatics(); createForeground(); createTriggers(); sManager.loadSounds(lsettings, esettings); sManager.loadStreams(lsettings, esettings); sManager.playStream(); sManager.playSound(); }
void testObj::test<5>(void) { ensure_equals("no triggers created", createTriggers("testdata/multiple_receivers.xml"), 1u); }
void testObj::test<4>(void) { ensure_equals("no triggers created", createTriggers("testdata/double_valid_config.xml"), 2u); }
void testObj::test<3>(void) { ensure_equals("no triggers created", createTriggers("testdata/minimal_valid_config.xml"), 1u); }