public final class Maps extends ResourcesContainer<IMap>
Modifier and Type | Class and Description |
---|---|
class |
Maps.MapGenerator
This class provides the API to simplify the generation of map resources from code.
|
Modifier and Type | Method and Description |
---|---|
Maps.MapGenerator |
generate(IMapOrientation orientation,
java.lang.String name,
int width,
int height,
int tileWidth,
int tileHeight,
ITileset... tilesets)
Starts a process that allows the generation of maps from code.
|
protected java.lang.String |
getAlias(java.lang.String resourceName,
IMap resource)
Gets an alias for the specified resourceName.
|
static boolean |
isSupported(java.lang.String fileName) |
protected IMap |
load(java.net.URL resourceName) |
add, add, addClearedListener, addContainerListener, clear, contains, contains, contains, count, get, get, get, get, get, get, get, getAll, getAsync, getAsync, getResources, remove, remove, removeClearedListener, removeContainerListener, tryGet, tryGet
public static boolean isSupported(java.lang.String fileName)
public Maps.MapGenerator generate(IMapOrientation orientation, java.lang.String name, int width, int height, int tileWidth, int tileHeight, ITileset... tilesets)
Notice that you must call this within a try-with block or ensure that Maps.MapGenerator.close()
is called before
using the generated map instance.
Example usage:
IMap map; try (MapGenerator generator = Resources.maps().generate("name", 50, 50, 16, 16, Resources.tilesets().get("tileset.tsx"))) { ITileLayer tileLayer = generator.addTileLayer(RenderType.GROUND, (x, y) -> { if (x == y) { // draw a diagonal in another tile color return 2; } // fill the entire map with this tile return 1; }); // set an explicit tile at a location tileLayer.setTile(10, 10, 3); // add a collision box to the map generator.add(new CollisionBox(0, 64, 100, 10)); map = generator.getMap(); }
orientation
- The orientation of the map to be generated.name
- The name of the map to be generated.width
- The width (in tiles).height
- The height (in tiles).tileWidth
- The width of a tile (in pixels).tileHeight
- The height of a tile (in pixels).tilesets
- Tilesets that will be used by the map.MapGenerator
instance used to add additional layers or objects to the map.protected IMap load(java.net.URL resourceName) throws java.io.IOException, java.net.URISyntaxException
load
in class ResourcesContainer<IMap>
java.io.IOException
java.net.URISyntaxException
protected java.lang.String getAlias(java.lang.String resourceName, IMap resource)
ResourcesContainer
getAlias
in class ResourcesContainer<IMap>
resourceName
- The original name of the resource.resource
- The resource.