コード例 #1
0
bool M_PathFinding::LoadMapData()
{
	bool ret = true;
	LOG("-- Pathfinding: Loading meta data");
	C_List_item<MapLayer*>* item;
	for (item = App->map->data.layers.start; item; item = item->next)
	{
		if (item->data->name == "Test")
		{
			mapData.height = item->data->height;
			mapData.width = item->data->width;
			mapData.data = new uint[mapData.height*mapData.width];
			for (int i = 0; i < mapData.width * mapData.height; i++)
			{
				int id = item->data->data[i];
				TileSet* tileset = App->map->GetTilesetFromTileId(id);
				Tile* tile = tileset->GetTileFromId(id);
				if (tile)
				{
					if (tile->properties.GetProperty("Walkable") == 1)
						mapData.data[i] = 1;
					else
						mapData.data[i] = 0;
				}

			}
			ret = true;
		}
	}
	if (!ret)
		LOG("-- Pathfinding: Could not load meta tileset --");
	else
		LOG("-- Pathfinding: Meta tilesed loaded correctly --");
	return ret;

}