Esempio n. 1
0
//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;
}
Esempio n. 2
0
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();
}
Esempio n. 3
0
bool ThumbnailSchemaUpdater::createDatabase()
{
    if ( createTables()
         && createIndices()
         && createTriggers())
    {
        m_currentVersion = schemaVersion();
        m_currentRequiredVersion = 1;
        return true;
    }
    else
    {
        return false;
    }
}
Esempio n. 4
0
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();
}
Esempio n. 5
0
void testObj::test<5>(void)
{
  ensure_equals("no triggers created", createTriggers("testdata/multiple_receivers.xml"), 1u);
}
Esempio n. 6
0
void testObj::test<4>(void)
{
  ensure_equals("no triggers created", createTriggers("testdata/double_valid_config.xml"), 2u);
}
Esempio n. 7
0
void testObj::test<3>(void)
{
  ensure_equals("no triggers created", createTriggers("testdata/minimal_valid_config.xml"), 1u);
}