2017-09-13 04:42:36 +08:00
<?xml version="1.0" encoding="UTF-8" ?>
2022-02-14 21:18:53 +08:00
<class name= "TileMap" inherits= "Node2D" version= "4.0" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation= "../class.xsd" >
2017-09-13 04:42:36 +08:00
<brief_description >
Node for 2D tile-based maps.
</brief_description>
<description >
2021-09-06 17:56:31 +08:00
Node for 2D tile-based maps. Tilemaps use a [TileSet] which contain a list of tiles which are used to create grid-based maps. A TileMap may have several layers, layouting tiles on top of each other.
2017-09-13 04:42:36 +08:00
</description>
<tutorials >
2021-11-15 17:43:07 +08:00
<link title= "Using Tilemaps" > $DOCS_URL/tutorials/2d/using_tilemaps.html</link>
2020-10-01 16:34:47 +08:00
<link title= "2D Platformer Demo" > https://godotengine.org/asset-library/asset/120</link>
<link title= "2D Isometric Demo" > https://godotengine.org/asset-library/asset/112</link>
<link title= "2D Hexagonal Demo" > https://godotengine.org/asset-library/asset/111</link>
<link title= "2D Navigation Astar Demo" > https://godotengine.org/asset-library/asset/519</link>
<link title= "2D Role Playing Game Demo" > https://godotengine.org/asset-library/asset/520</link>
<link title= "2D Kinematic Character Demo" > https://godotengine.org/asset-library/asset/113</link>
2017-09-13 04:42:36 +08:00
</tutorials>
<methods >
2021-10-22 22:32:06 +08:00
<method name= "_tile_data_runtime_update" qualifiers= "virtual" >
<return type= "void" />
<argument index= "0" name= "layer" type= "int" />
<argument index= "1" name= "coords" type= "Vector2i" />
<argument index= "2" name= "tile_data" type= "TileData" />
<description >
Called with a TileData object about to be used internally by the TileMap, allowing its modification at runtime.
This method is only called if [method _use_tile_data_runtime_update] is implemented and returns [code]true[/code] for the given tile [code]coords[/coords] and [code]layer[/code].
[b]Warning:[/b] The [code]tile_data[/code] object's sub-resources are the same as the one in the TileSet. Modifying them might impact the whole TileSet. Instead, make sure to duplicate those resources.
[b]Note:[/b] If the properties of [code]tile_data[/code] object should change over time, use [method force_update] to trigger a TileMap update.
</description>
</method>
<method name= "_use_tile_data_runtime_update" qualifiers= "virtual" >
<return type= "bool" />
<argument index= "0" name= "layer" type= "int" />
<argument index= "1" name= "coords" type= "Vector2i" />
<description >
Should return [code]true[/code] if the tile at coordinates [code]coords[/coords] on layer [code]layer[/code] requires a runtime update.
[b]Warning:[/b] Make sure this function only return [code]true[/code] when needed. Any tile processed at runtime without a need for it will imply a significant performance penalty.
</description>
</method>
2021-08-31 16:48:45 +08:00
<method name= "add_layer" >
<return type= "void" />
2021-09-06 17:56:31 +08:00
<argument index= "0" name= "to_position" type= "int" />
2021-08-31 16:48:45 +08:00
<description >
2021-09-06 17:56:31 +08:00
Adds a layer at the given position [code]to_position[/code] in the array. If [code]to_position[/code] is -1, adds it at the end of the array.
2021-08-31 16:48:45 +08:00
</description>
</method>
2017-09-13 04:42:36 +08:00
<method name= "clear" >
2021-07-30 21:28:05 +08:00
<return type= "void" />
2017-09-13 04:42:36 +08:00
<description >
2018-05-13 08:58:45 +08:00
Clears all cells.
2017-09-13 04:42:36 +08:00
</description>
</method>
2021-09-15 21:23:58 +08:00
<method name= "clear_layer" >
<return type= "void" />
<argument index= "0" name= "layer" type= "int" />
<description >
Clears all cells on the given layer.
</description>
</method>
2022-03-02 02:25:18 +08:00
<method name= "erase_cell" >
<return type= "void" />
<argument index= "0" name= "layer" type= "int" />
<argument index= "1" name= "coords" type= "Vector2i" />
<description >
Erases the cell on layer [code]layer[/code] at coordinates [code]coords[/code].
</description>
</method>
2018-02-24 13:56:48 +08:00
<method name= "fix_invalid_tiles" >
2021-07-30 21:28:05 +08:00
<return type= "void" />
2018-02-24 13:56:48 +08:00
<description >
2018-05-13 08:58:45 +08:00
Clears cells that do not exist in the tileset.
2018-02-24 13:56:48 +08:00
</description>
</method>
2021-10-22 22:32:06 +08:00
<method name= "force_update" >
<return type= "void" />
<argument index= "0" name= "layer" type= "int" default= "-1" />
<description >
Triggers an update of the TileMap. If [code]layer[/code] is provided, only updates the given layer.
[b]Note:[/b] The TileMap node updates automatically when one of its properties is modified. A manual update is only needed if runtime modifications (implemented in [method _tile_data_runtime_update]) need to be applied.
Fix various typos
Found via ` codespell -q 3 -S ./thirdparty,*.po,./DONORS.md -L ackward,ang,ans,ba,beng,cas,childs,childrens,dof,doubleclick,expct,fave,findn,gird,hist,inout,leapyear,lod,nd,numer,ois,ony,paket,seeked,sinc,switchs,te,uint,varn`
Update editor/import/resource_importer_layered_texture.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update doc/classes/TileSetScenesCollectionSource.xml
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/gui/graph_edit.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/resources/animation.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/resources/animation.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/resources/animation.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/gui/rich_text_label.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Revert previously committed change
2022-01-02 14:03:58 +08:00
[b]Warning:[/b] Updating the TileMap is a performance demanding task. Limit occurrences of those updates to the minimum and limit the amount tiles they impact (by segregating tiles updated often to a dedicated layer for example).
2021-10-22 22:32:06 +08:00
</description>
</method>
2021-05-07 21:41:39 +08:00
<method name= "get_cell_alternative_tile" qualifiers= "const" >
2021-07-30 21:28:05 +08:00
<return type= "int" />
2021-07-29 00:10:01 +08:00
<argument index= "0" name= "layer" type= "int" />
<argument index= "1" name= "coords" type= "Vector2i" />
<argument index= "2" name= "use_proxies" type= "bool" />
2017-09-13 04:42:36 +08:00
<description >
2021-09-06 17:56:31 +08:00
Returns the tile alternative ID of the cell on layer [code]layer[/code] at [code]coords[/code]. If [code]use_proxies[/code] is [code]false[/code], ignores the [TileSet]'s tile proxies, returning the raw alternative identifier. See [method TileSet.map_tile_proxy].
2017-09-13 04:42:36 +08:00
</description>
</method>
2021-05-07 21:41:39 +08:00
<method name= "get_cell_atlas_coords" qualifiers= "const" >
2021-07-30 21:28:05 +08:00
<return type= "Vector2i" />
2021-07-29 00:10:01 +08:00
<argument index= "0" name= "layer" type= "int" />
<argument index= "1" name= "coords" type= "Vector2i" />
<argument index= "2" name= "use_proxies" type= "bool" />
2018-12-27 18:10:09 +08:00
<description >
2021-09-06 17:56:31 +08:00
Returns the tile atlas coordinates ID of the cell on layer [code]layer[/code] at coordinates [code]coords[/code]. If [code]use_proxies[/code] is [code]false[/code], ignores the [TileSet]'s tile proxies, returning the raw alternative identifier. See [method TileSet.map_tile_proxy].
2018-12-27 18:10:09 +08:00
</description>
</method>
2021-05-07 21:41:39 +08:00
<method name= "get_cell_source_id" qualifiers= "const" >
2021-07-30 21:28:05 +08:00
<return type= "int" />
2021-07-29 00:10:01 +08:00
<argument index= "0" name= "layer" type= "int" />
<argument index= "1" name= "coords" type= "Vector2i" />
<argument index= "2" name= "use_proxies" type= "bool" />
<description >
2021-09-06 17:56:31 +08:00
Returns the tile source ID of the cell on layer [code]layer[/code] at coordinates [code]coords[/code]. If [code]use_proxies[/code] is [code]false[/code], ignores the [TileSet]'s tile proxies, returning the raw alternative identifier. See [method TileSet.map_tile_proxy].
2021-07-29 00:10:01 +08:00
</description>
</method>
2021-09-15 21:23:58 +08:00
<method name= "get_coords_for_body_rid" >
<return type= "Vector2i" />
<argument index= "0" name= "body" type= "RID" />
<description >
Fix various typos
Found via ` codespell -q 3 -S ./thirdparty,*.po,./DONORS.md -L ackward,ang,ans,ba,beng,cas,childs,childrens,dof,doubleclick,expct,fave,findn,gird,hist,inout,leapyear,lod,nd,numer,ois,ony,paket,seeked,sinc,switchs,te,uint,varn`
Update editor/import/resource_importer_layered_texture.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update doc/classes/TileSetScenesCollectionSource.xml
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/gui/graph_edit.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/resources/animation.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/resources/animation.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/resources/animation.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/gui/rich_text_label.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Revert previously committed change
2022-01-02 14:03:58 +08:00
Returns the coordinates of the tile for given physics body RID. Such RID can be retrieved from [method KinematicCollision2D.get_collider_rid], when colliding with a tile.
2021-09-15 21:23:58 +08:00
</description>
</method>
2021-10-10 23:04:25 +08:00
<method name= "get_layer_modulate" qualifiers= "const" >
<return type= "Color" />
<argument index= "0" name= "layer" type= "int" />
<description >
Returns a TileMap layer's modulate.
</description>
</method>
2021-07-29 00:10:01 +08:00
<method name= "get_layer_name" qualifiers= "const" >
<return type= "String" />
<argument index= "0" name= "layer" type= "int" />
<description >
2021-09-06 17:56:31 +08:00
Returns a TileMap layer's name.
2021-07-29 00:10:01 +08:00
</description>
</method>
<method name= "get_layer_y_sort_origin" qualifiers= "const" >
<return type= "int" />
<argument index= "0" name= "layer" type= "int" />
<description >
2021-09-06 17:56:31 +08:00
Returns a TileMap layer's Y sort origin.
2021-07-29 00:10:01 +08:00
</description>
</method>
2021-09-06 17:56:31 +08:00
<method name= "get_layer_z_index" qualifiers= "const" >
2021-07-29 00:10:01 +08:00
<return type= "int" />
<argument index= "0" name= "layer" type= "int" />
2017-09-13 04:42:36 +08:00
<description >
2021-09-06 17:56:31 +08:00
Returns a TileMap layer's Z-index value.
2017-09-13 04:42:36 +08:00
</description>
</method>
2021-08-31 16:48:45 +08:00
<method name= "get_layers_count" qualifiers= "const" >
<return type= "int" />
<description >
</description>
</method>
2021-05-07 21:41:39 +08:00
<method name= "get_neighbor_cell" qualifiers= "const" >
2021-07-30 21:28:05 +08:00
<return type= "Vector2i" />
<argument index= "0" name= "coords" type= "Vector2i" />
<argument index= "1" name= "neighbor" type= "int" enum= "TileSet.CellNeighbor" />
2017-09-13 04:42:36 +08:00
<description >
Fix various typos
Found via ` codespell -q 3 -S ./thirdparty,*.po,./DONORS.md -L ackward,ang,ans,ba,beng,cas,childs,childrens,dof,doubleclick,expct,fave,findn,gird,hist,inout,leapyear,lod,nd,numer,ois,ony,paket,seeked,sinc,switchs,te,uint,varn`
Update editor/import/resource_importer_layered_texture.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update doc/classes/TileSetScenesCollectionSource.xml
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/gui/graph_edit.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/resources/animation.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/resources/animation.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/resources/animation.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/gui/rich_text_label.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Revert previously committed change
2022-01-02 14:03:58 +08:00
Returns the neighboring cell to the one at coordinates [code]coords[/code], identified by the [code]neighbor[/code] direction. This method takes into account the different layouts a TileMap can take.
2017-09-13 04:42:36 +08:00
</description>
</method>
2021-09-29 23:48:27 +08:00
<method name= "get_pattern" >
<return type= "TileMapPattern" />
<argument index= "0" name= "layer" type= "int" />
<argument index= "1" name= "coords_array" type= "Vector2i[]" />
<description >
Creates a new [TileMapPattern] from the given layer and set of cells.
</description>
</method>
2021-05-07 21:41:39 +08:00
<method name= "get_surrounding_tiles" >
2021-07-30 21:28:05 +08:00
<return type= "Vector2i[]" />
<argument index= "0" name= "coords" type= "Vector2i" />
2017-09-13 04:42:36 +08:00
<description >
2021-09-06 17:56:31 +08:00
Returns the list of all neighbourings cells to the one at [code]coords[/code]
2017-09-13 04:42:36 +08:00
</description>
</method>
<method name= "get_used_cells" qualifiers= "const" >
2021-07-30 21:28:05 +08:00
<return type= "Vector2i[]" />
2021-07-29 00:10:01 +08:00
<argument index= "0" name= "layer" type= "int" />
2017-09-13 04:42:36 +08:00
<description >
2021-09-06 17:56:31 +08:00
Returns a [Vector2] array with the positions of all cells containing a tile in the given layer. A cell is considered empty if its source identifier equals -1, its atlas coordinates identifiers is [code]Vector2(-1, -1)[/code] and its alternative identifier is -1.
2017-09-13 04:42:36 +08:00
</description>
</method>
<method name= "get_used_rect" >
2021-07-30 21:28:05 +08:00
<return type= "Rect2" />
2017-09-13 04:42:36 +08:00
<description >
2021-09-06 17:56:31 +08:00
Returns a rectangle enclosing the used (non-empty) tiles of the map, including all layers.
2017-09-13 04:42:36 +08:00
</description>
</method>
2021-07-29 00:10:01 +08:00
<method name= "is_layer_enabled" qualifiers= "const" >
<return type= "bool" />
<argument index= "0" name= "layer" type= "int" />
<description >
2021-09-06 17:56:31 +08:00
Returns if a layer is enabled.
2021-07-29 00:10:01 +08:00
</description>
</method>
<method name= "is_layer_y_sort_enabled" qualifiers= "const" >
<return type= "bool" />
<argument index= "0" name= "layer" type= "int" />
<description >
2021-09-06 17:56:31 +08:00
Returns if a layer Y-sorts its tiles.
2021-07-29 00:10:01 +08:00
</description>
</method>
2021-09-29 23:48:27 +08:00
<method name= "map_pattern" >
<return type= "Vector2i" />
<argument index= "0" name= "position_in_tilemap" type= "Vector2i" />
<argument index= "1" name= "coords_in_pattern" type= "Vector2i" />
<argument index= "2" name= "pattern" type= "TileMapPattern" />
<description >
Fix various typos
Found via ` codespell -q 3 -S ./thirdparty,*.po,./DONORS.md -L ackward,ang,ans,ba,beng,cas,childs,childrens,dof,doubleclick,expct,fave,findn,gird,hist,inout,leapyear,lod,nd,numer,ois,ony,paket,seeked,sinc,switchs,te,uint,varn`
Update editor/import/resource_importer_layered_texture.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update doc/classes/TileSetScenesCollectionSource.xml
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/gui/graph_edit.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/resources/animation.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/resources/animation.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/resources/animation.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/gui/rich_text_label.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Revert previously committed change
2022-01-02 14:03:58 +08:00
Returns for the given coordinate [code]coords_in_pattern[/code] in a [TileMapPattern] the corresponding cell coordinates if the pattern was pasted at the [code]position_in_tilemap[/code] coordinates (see [method set_pattern]). This mapping is required as in half-offset tile shapes, the mapping might not work by calculating [code]position_in_tile_map + coords_in_pattern[/code]
2021-09-29 23:48:27 +08:00
</description>
</method>
2017-09-13 04:42:36 +08:00
<method name= "map_to_world" qualifiers= "const" >
2021-07-30 21:28:05 +08:00
<return type= "Vector2" />
<argument index= "0" name= "map_position" type= "Vector2i" />
2017-09-13 04:42:36 +08:00
<description >
2022-01-24 20:59:24 +08:00
Returns a local position of the center of the cell at the given tilemap (grid-based) coordinates.
[b]Note:[/b] This doesn't correspond to the visual position of the tile, i.e. it ignores the [member TileData.texture_offset] property of individual tiles.
2017-09-13 04:42:36 +08:00
</description>
</method>
2021-08-31 16:48:45 +08:00
<method name= "move_layer" >
<return type= "void" />
2021-09-06 17:56:31 +08:00
<argument index= "0" name= "layer" type= "int" />
<argument index= "1" name= "to_position" type= "int" />
2021-08-31 16:48:45 +08:00
<description >
2021-09-06 17:56:31 +08:00
Moves the layer at index [code]layer_index[/code] to the given position [code]to_position[/code] in the array.
2021-08-31 16:48:45 +08:00
</description>
</method>
<method name= "remove_layer" >
<return type= "void" />
2021-09-06 17:56:31 +08:00
<argument index= "0" name= "layer" type= "int" />
2021-08-31 16:48:45 +08:00
<description >
2022-02-01 07:27:24 +08:00
Removes the layer at index [code]layer[/code].
2021-08-31 16:48:45 +08:00
</description>
</method>
2017-09-13 04:42:36 +08:00
<method name= "set_cell" >
2021-07-30 21:28:05 +08:00
<return type= "void" />
2021-07-29 00:10:01 +08:00
<argument index= "0" name= "layer" type= "int" />
<argument index= "1" name= "coords" type= "Vector2i" />
<argument index= "2" name= "source_id" type= "int" default= "-1" />
<argument index= "3" name= "atlas_coords" type= "Vector2i" default= "Vector2i(-1, -1)" />
2022-03-02 02:25:18 +08:00
<argument index= "4" name= "alternative_tile" type= "int" default= "0" />
2017-12-17 03:34:16 +08:00
<description >
2021-09-06 17:56:31 +08:00
Sets the tile indentifiers for the cell on layer [code]layer[/code] at coordinates [code]coords[/code]. Each tile of the [TileSet] is identified using three parts:
Fix various typos
Found via ` codespell -q 3 -S ./thirdparty,*.po,./DONORS.md -L ackward,ang,ans,ba,beng,cas,childs,childrens,dof,doubleclick,expct,fave,findn,gird,hist,inout,leapyear,lod,nd,numer,ois,ony,paket,seeked,sinc,switchs,te,uint,varn`
Update editor/import/resource_importer_layered_texture.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update doc/classes/TileSetScenesCollectionSource.xml
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/gui/graph_edit.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/resources/animation.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/resources/animation.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/resources/animation.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/gui/rich_text_label.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Revert previously committed change
2022-01-02 14:03:58 +08:00
- The source identifier [code]source_id[/code] identifies a [TileSetSource] identifier. See [method TileSet.set_source_id],
2021-09-06 17:56:31 +08:00
- The atlas coordinates identifier [code]atlas_coords[/code] identifies a tile coordinates in the atlas (if the source is a [TileSetAtlasSource]. For [TileSetScenesCollectionSource] it should be 0),
- The alternative tile identifier [code]alternative_tile[/code] identifies a tile alternative the source is a [TileSetAtlasSource], and the scene for a [TileSetScenesCollectionSource].
2017-12-17 03:34:16 +08:00
</description>
</method>
2021-10-21 22:42:06 +08:00
<method name= "set_cells_from_surrounding_terrains" >
<return type= "void" />
<argument index= "0" name= "layer" type= "int" />
<argument index= "1" name= "cells" type= "Vector2i[]" />
<argument index= "2" name= "terrain_set" type= "int" />
<argument index= "3" name= "ignore_empty_terrains" type= "bool" default= "true" />
<description >
Updates all the cells in the [code]cells[/code] coordinates array and replace them by tiles that matches the surrounding cells terrains. Only cells form the given [code]terrain_set[/code] are considered.
If [code]ignore_empty_terrains[/code] is true, zones with no terrain defined are ignored to select the tiles.
</description>
</method>
2021-07-29 00:10:01 +08:00
<method name= "set_layer_enabled" >
<return type= "void" />
<argument index= "0" name= "layer" type= "int" />
<argument index= "1" name= "enabled" type= "bool" />
<description >
2021-09-06 17:56:31 +08:00
Enables or disables the layer [code]layer[/code]. A disabled layer is not processed at all (no rendering, no physics, etc...).
2021-07-29 00:10:01 +08:00
</description>
</method>
2021-10-10 23:04:25 +08:00
<method name= "set_layer_modulate" >
<return type= "void" />
<argument index= "0" name= "layer" type= "int" />
<argument index= "1" name= "enabled" type= "Color" />
<description >
Sets a layer's color. It will be multiplied by tile's color and TileMap's modulate.
</description>
</method>
2021-07-29 00:10:01 +08:00
<method name= "set_layer_name" >
<return type= "void" />
<argument index= "0" name= "layer" type= "int" />
<argument index= "1" name= "name" type= "String" />
<description >
2021-09-06 17:56:31 +08:00
Sets a layer's name. This is mostly useful in the editor.
2021-07-29 00:10:01 +08:00
</description>
</method>
<method name= "set_layer_y_sort_enabled" >
2021-07-30 21:28:05 +08:00
<return type= "void" />
2021-07-29 00:10:01 +08:00
<argument index= "0" name= "layer" type= "int" />
<argument index= "1" name= "y_sort_enabled" type= "bool" />
<description >
2021-09-06 17:56:31 +08:00
Enables or disables a layer's Y-sorting. If a layer is Y-sorted, the layer will behave as a CanvasItem node where each of its tile gets Y-sorted.
Y-sorted layers should usually be on different Z-index values than not Y-sorted layers, otherwise, each of those layer will be Y-sorted as whole with the Y-sorted one. This is usually an undesired behvaior.
2021-07-29 00:10:01 +08:00
</description>
</method>
<method name= "set_layer_y_sort_origin" >
<return type= "void" />
<argument index= "0" name= "layer" type= "int" />
<argument index= "1" name= "y_sort_origin" type= "int" />
<description >
2021-09-06 17:56:31 +08:00
Sets a layer's Y-sort origin value. This Y-sort origin value is added to each tile's Y-sort origin value.
This allows, for example, to fake a different height level on each layer. This can be useful for top-down view games.
2021-07-29 00:10:01 +08:00
</description>
</method>
<method name= "set_layer_z_index" >
<return type= "void" />
<argument index= "0" name= "layer" type= "int" />
<argument index= "1" name= "z_index" type= "int" />
2018-07-22 21:26:14 +08:00
<description >
2021-09-06 17:56:31 +08:00
Sets a layers Z-index value. This Z-index is added to each tile's Z-index value.
2018-07-22 21:26:14 +08:00
</description>
</method>
2021-09-29 23:48:27 +08:00
<method name= "set_pattern" >
<return type= "void" />
<argument index= "0" name= "layer" type= "int" />
<argument index= "1" name= "position" type= "Vector2i" />
<argument index= "2" name= "pattern" type= "TileMapPattern" />
<description >
Paste the given [TileMapPattern] at the given [code]position[/code] and [code]layer[/code] in the tile map.
</description>
</method>
2017-09-13 04:42:36 +08:00
<method name= "world_to_map" qualifiers= "const" >
2021-07-30 21:28:05 +08:00
<return type= "Vector2i" />
<argument index= "0" name= "world_position" type= "Vector2" />
2017-09-13 04:42:36 +08:00
<description >
2019-01-19 22:23:49 +08:00
Returns the tilemap (grid-based) coordinates corresponding to the given local position.
2017-09-13 04:42:36 +08:00
</description>
</method>
</methods>
<members >
2019-06-29 18:38:01 +08:00
<member name= "cell_quadrant_size" type= "int" setter= "set_quadrant_size" getter= "get_quadrant_size" default= "16" >
2019-06-29 21:24:23 +08:00
The TileMap's quadrant size. Optimizes drawing by batching, using chunks of this size.
2017-09-13 04:42:36 +08:00
</member>
2021-09-15 21:23:58 +08:00
<member name= "collision_animatable" type= "bool" setter= "set_collision_animatable" getter= "is_collision_animatable" default= "false" >
If enabled, the TileMap will see its collisions synced to the physics tick and change its collision type from static to kinematic. This is required to create TileMap-based moving platform.
[b]Note:[/b] Enabling [code]collision_animatable[/code] may have a small performance impact, only do it if the TileMap is moving and has colliding tiles.
</member>
2021-07-29 00:10:01 +08:00
<member name= "collision_visibility_mode" type= "int" setter= "set_collision_visibility_mode" getter= "get_collision_visibility_mode" enum= "TileMap.VisibilityMode" default= "0" >
2022-04-15 21:47:40 +08:00
Show or hide the TileMap's collision shapes. If set to [constant VISIBILITY_MODE_DEFAULT], this depends on the show collision debug settings.
2021-07-29 00:10:01 +08:00
</member>
<member name= "navigation_visibility_mode" type= "int" setter= "set_navigation_visibility_mode" getter= "get_navigation_visibility_mode" enum= "TileMap.VisibilityMode" default= "0" >
2022-04-15 21:47:40 +08:00
Show or hide the TileMap's collision shapes. If set to [constant VISIBILITY_MODE_DEFAULT], this depends on the show navigation debug settings.
2021-05-24 18:33:22 +08:00
</member>
2019-07-16 02:42:47 +08:00
<member name= "tile_set" type= "TileSet" setter= "set_tileset" getter= "get_tileset" >
2017-09-13 04:42:36 +08:00
The assigned [TileSet].
</member>
</members>
<signals >
2021-05-07 21:41:39 +08:00
<signal name= "changed" >
2017-09-13 04:42:36 +08:00
<description >
2020-06-30 14:34:15 +08:00
Emitted when the [TileSet] of this TileMap changes.
2017-09-13 04:42:36 +08:00
</description>
</signal>
</signals>
<constants >
2021-05-24 18:33:22 +08:00
<constant name= "VISIBILITY_MODE_DEFAULT" value= "0" enum= "VisibilityMode" >
2021-09-06 17:56:31 +08:00
Use the debug settings to determine visibility.
2021-05-24 18:33:22 +08:00
</constant>
<constant name= "VISIBILITY_MODE_FORCE_HIDE" value= "2" enum= "VisibilityMode" >
2021-09-06 17:56:31 +08:00
Always hide.
2021-05-24 18:33:22 +08:00
</constant>
<constant name= "VISIBILITY_MODE_FORCE_SHOW" value= "1" enum= "VisibilityMode" >
2021-09-06 17:56:31 +08:00
Always show.
2021-05-24 18:33:22 +08:00
</constant>
2017-09-13 04:42:36 +08:00
</constants>
</class>