示例#1
0
void LoadedMap::loadTiles(XMLElement *element, TileSet *target)
{
    Logger.logMessage(LOG_STATE, LOG_MAP, "LoadedMap::loadTiles start\n");

    assert(target);

    while(element != NULL)
    {
        Tile parsed_tile;

        stringstream tile_id (element->Attribute(XML_TILE_ID.c_str()));
        tile_id >> parsed_tile.id; 

        string tile_terrains = element->Attribute(XML_TILE_TERRAIN.c_str());
        mapTilesToTerrainPointers(tile_terrains, target, &parsed_tile);

        target->tiles.push_back(parsed_tile);

        element = element->NextSiblingElement();
    }

    Logger.logMessage(LOG_DEBUG, LOG_MAP, "LoadedMap::loadTiles: Loaded %d tiles for %s\n",
                      target->tiles.size(), target->name.c_str());
    Logger.logMessage(LOG_STATE, LOG_MAP, "LoadedMap::loadTiles start end\n");
}
示例#2
0
		void set_slope2d( int id1 , int id2 )
		{
			tile_id( id1 , id2 );
			m_tile[id1].is_slope = true;
			m_tile[id2].is_slope = true;
			m_tile[id1].slope_type = SLOPE_2_D_1;
			m_tile[id2].slope_type = SLOPE_2_D_2;
		}
示例#3
0
		void set_slope4u( int id1 , int id2, int id3 , int id4 )
		{
			tile_id( id1 , id2 , id3 , id4 );
			m_tile[id1].is_slope = true;
			m_tile[id2].is_slope = true;
			m_tile[id3].is_slope = true;
			m_tile[id4].is_slope = true;
			m_tile[id1].slope_type = SLOPE_4_U_1;
			m_tile[id2].slope_type = SLOPE_4_U_2;
			m_tile[id3].slope_type = SLOPE_4_U_3;
			m_tile[id4].slope_type = SLOPE_4_U_4;
		}
示例#4
0
		void set_wall( int id )
		{
			tile_id( id );
			m_tile[id].is_wall = true;
		}
示例#5
0
		void set_spike( int id )
		{
			tile_id( id );
			m_tile[id].is_wall  = true;
			m_tile[id].is_spike = true;
		}
示例#6
0
		void set_pit( int id )
		{
			tile_id( id );
			m_tile[id].is_pit = true;
		}