2017-09-12 22:42:36 +02:00
<?xml version="1.0" encoding="UTF-8" ?>
2017-11-24 09:16:52 +01:00
<class name= "GridMap" inherits= "Spatial" category= "Core" version= "3.0-beta" >
2017-09-12 22:42:36 +02:00
<brief_description >
2017-10-08 12:14:09 +02:00
Node for 3D tile-based maps.
2017-09-12 22:42:36 +02:00
</brief_description>
<description >
2017-10-08 12:14:09 +02:00
GridMap lets you place meshes on a grid interactively. It works both from the editor and can help you create in-game level editors.
GridMaps use a [MeshLibrary] which contain a list of tiles: meshes with materials plus optional collisions and extra elements.
A GridMap contains a collection of cells. Each grid cell refers to a [MeshLibrary] item. All cells in the map have the same dimensions.
A GridMap is split into a sparse collection of octants for efficient rendering and physics processing. Every octant has the same dimensions and can contain several cells.
2017-09-12 22:42:36 +02:00
</description>
<tutorials >
</tutorials>
<demos >
</demos>
<methods >
<method name= "clear" >
<return type= "void" >
</return>
<description >
2017-10-08 12:14:09 +02:00
Clear all cells.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "get_cell_item" qualifiers= "const" >
<return type= "int" >
</return>
<argument index= "0" name= "x" type= "int" >
</argument>
<argument index= "1" name= "y" type= "int" >
</argument>
<argument index= "2" name= "z" type= "int" >
</argument>
<description >
2017-10-08 12:14:09 +02:00
The [MeshLibrary] item index located at the grid-based X, Y and Z coordinates. If the cell is empty, [INVALID_CELL_ITEM] will be returned.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "get_cell_item_orientation" qualifiers= "const" >
<return type= "int" >
</return>
<argument index= "0" name= "x" type= "int" >
</argument>
<argument index= "1" name= "y" type= "int" >
</argument>
<argument index= "2" name= "z" type= "int" >
</argument>
<description >
2017-10-08 12:14:09 +02:00
The orientation of the cell at the grid-based X, Y and Z coordinates. -1 is retuned if the cell is empty.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "get_cell_size" qualifiers= "const" >
<return type= "Vector3" >
</return>
<description >
2017-10-08 12:14:09 +02:00
The dimensions of the grid's cells.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "get_center_x" qualifiers= "const" >
<return type= "bool" >
</return>
<description >
2017-10-08 12:14:09 +02:00
Returns whether or not grid items are centered on the X axis.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "get_center_y" qualifiers= "const" >
<return type= "bool" >
</return>
<description >
2017-10-08 12:14:09 +02:00
Returns whether or not grid items are centered on the Y axis.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "get_center_z" qualifiers= "const" >
<return type= "bool" >
</return>
<description >
2017-10-08 12:14:09 +02:00
Returns whether or not grid items are centered on the Z axis.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "get_meshes" >
<return type= "Array" >
</return>
<description >
2017-10-08 12:14:09 +02:00
Array of [Transform] and [Mesh] references corresponding to the non empty cells in the grid. The transforms are specified in world space.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "get_octant_size" qualifiers= "const" >
<return type= "int" >
</return>
<description >
2017-10-08 12:14:09 +02:00
The size of each octant measured in number of cells. This applies to all three axis.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "get_theme" qualifiers= "const" >
<return type= "MeshLibrary" >
</return>
<description >
2017-10-08 12:14:09 +02:00
The assigned [MeshLibrary].
2017-09-12 22:42:36 +02:00
</description>
</method>
2017-10-11 23:54:43 +02:00
<method name= "get_used_cells" qualifiers= "const" >
<return type= "Array" >
</return>
<description >
2017-10-08 12:14:09 +02:00
Array of [Vector3] with the non empty cell coordinates in the grid map.
2017-10-11 23:54:43 +02:00
</description>
</method>
2017-10-21 12:02:08 +02:00
<method name= "map_to_world" qualifiers= "const" >
<return type= "Vector3" >
</return>
<argument index= "0" name= "x" type= "int" >
</argument>
<argument index= "1" name= "y" type= "int" >
</argument>
<argument index= "2" name= "z" type= "int" >
</argument>
<description >
</description>
</method>
2017-09-12 22:42:36 +02:00
<method name= "resource_changed" >
<return type= "void" >
</return>
<argument index= "0" name= "resource" type= "Resource" >
</argument>
<description >
</description>
</method>
<method name= "set_cell_item" >
<return type= "void" >
</return>
<argument index= "0" name= "x" type= "int" >
</argument>
<argument index= "1" name= "y" type= "int" >
</argument>
<argument index= "2" name= "z" type= "int" >
</argument>
<argument index= "3" name= "item" type= "int" >
</argument>
<argument index= "4" name= "orientation" type= "int" default= "0" >
</argument>
<description >
2017-10-08 12:14:09 +02:00
Set the mesh index for the cell referenced by its grid-based X, Y and Z coordinates.
A negative item index will clear the cell.
Optionally, the item's orientation can be passed.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "set_cell_size" >
<return type= "void" >
</return>
<argument index= "0" name= "size" type= "Vector3" >
</argument>
<description >
2017-10-08 12:14:09 +02:00
Sets the height, width and depth of the grid's cells.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "set_center_x" >
<return type= "void" >
</return>
<argument index= "0" name= "enable" type= "bool" >
</argument>
<description >
2017-10-08 12:14:09 +02:00
Set grid items to be centered on the X axis. By default it is enabled.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "set_center_y" >
<return type= "void" >
</return>
<argument index= "0" name= "enable" type= "bool" >
</argument>
<description >
2017-10-08 12:14:09 +02:00
Set grid items to be centered on the Y axis. By default it is enabled.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "set_center_z" >
<return type= "void" >
</return>
<argument index= "0" name= "enable" type= "bool" >
</argument>
<description >
2017-10-08 12:14:09 +02:00
Set grid items to be centered on the Z axis. By default it is enabled.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "set_clip" >
<return type= "void" >
</return>
<argument index= "0" name= "enabled" type= "bool" >
</argument>
<argument index= "1" name= "clipabove" type= "bool" default= "true" >
</argument>
<argument index= "2" name= "floor" type= "int" default= "0" >
</argument>
<argument index= "3" name= "axis" type= "int" enum= "Vector3.Axis" default= "0" >
</argument>
<description >
</description>
</method>
<method name= "set_octant_size" >
<return type= "void" >
</return>
<argument index= "0" name= "size" type= "int" >
</argument>
<description >
2017-10-08 12:14:09 +02:00
Sets the size for each octant measured in number of cells. This applies to all three axis.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "set_theme" >
<return type= "void" >
</return>
<argument index= "0" name= "theme" type= "MeshLibrary" >
</argument>
<description >
2017-10-08 12:14:09 +02:00
Sets the collection of meshes for the map.
2017-09-12 22:42:36 +02:00
</description>
</method>
2017-10-21 12:02:08 +02:00
<method name= "world_to_map" qualifiers= "const" >
<return type= "Vector3" >
</return>
<argument index= "0" name= "pos" type= "Vector3" >
</argument>
<description >
</description>
</method>
2017-09-12 22:42:36 +02:00
</methods>
<constants >
2017-11-24 23:16:30 +01:00
<constant name= "INVALID_CELL_ITEM" value= "-1" >
2017-10-08 12:14:09 +02:00
Invalid cell item that can be used in [method set_cell_item] to clear cells (or represent an empty cell in [method get_cell_item]).
2017-09-12 22:42:36 +02:00
</constant>
</constants>
</class>