diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/classes/@GlobalScope.xml | 6 | ||||
-rw-r--r-- | doc/classes/AStarGrid2D.xml | 62 | ||||
-rw-r--r-- | doc/classes/EditorPlugin.xml | 1 | ||||
-rw-r--r-- | doc/classes/HSplitContainer.xml | 3 | ||||
-rw-r--r-- | doc/classes/PhysicsServer2DManager.xml | 30 | ||||
-rw-r--r-- | doc/classes/PhysicsServer3DManager.xml | 30 | ||||
-rw-r--r-- | doc/classes/SplitContainer.xml | 3 | ||||
-rw-r--r-- | doc/classes/StyleBox.xml | 7 | ||||
-rw-r--r-- | doc/classes/StyleBoxFlat.xml | 20 | ||||
-rw-r--r-- | doc/classes/StyleBoxTexture.xml | 17 | ||||
-rw-r--r-- | doc/classes/VSplitContainer.xml | 3 |
11 files changed, 152 insertions, 30 deletions
diff --git a/doc/classes/@GlobalScope.xml b/doc/classes/@GlobalScope.xml index 86804e2c4c..41d1ccf2ea 100644 --- a/doc/classes/@GlobalScope.xml +++ b/doc/classes/@GlobalScope.xml @@ -1302,9 +1302,15 @@ <member name="PhysicsServer2D" type="PhysicsServer2D" setter="" getter=""> The [PhysicsServer2D] singleton. </member> + <member name="PhysicsServer2DManager" type="PhysicsServer2DManager" setter="" getter=""> + The [PhysicsServer2DManager] singleton. + </member> <member name="PhysicsServer3D" type="PhysicsServer3D" setter="" getter=""> The [PhysicsServer3D] singleton. </member> + <member name="PhysicsServer3DManager" type="PhysicsServer3DManager" setter="" getter=""> + The [PhysicsServer3DManager] singleton. + </member> <member name="ProjectSettings" type="ProjectSettings" setter="" getter=""> The [ProjectSettings] singleton. </member> diff --git a/doc/classes/AStarGrid2D.xml b/doc/classes/AStarGrid2D.xml index ae696eb468..19cd9d21d7 100644 --- a/doc/classes/AStarGrid2D.xml +++ b/doc/classes/AStarGrid2D.xml @@ -1,8 +1,19 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="AStarGrid2D" inherits="RefCounted" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> <brief_description> + A* (or "A-Star") pathfinding tailored to find the shortest paths on 2D grids. </brief_description> <description> + Compared to [AStar2D] you don't need to manually create points or connect them together. It also supports multiple type of heuristics and modes for diagonal movement. This class also provides a jumping mode which is faster to calculate than without it in the [AStar2D] class. + In contrast to [AStar2D], you only need set the [member size] of the grid, optionally set the [member cell_size] and then call the [method update] method: + [codeblock] + var astar_grid = AStarGrid2D.new() + astar_grid.size = Vector2i(32, 32) + astar_grid.cell_size = Vector2(16, 16) + astar_grid.update() + print(astar_grid.get_id_path(Vector2i(0, 0), Vector2i(3, 4))) # prints (0, 0), (1, 1), (2, 2), (3, 3), (3, 4) + print(astar_grid.get_point_path(Vector2i(0, 0), Vector2i(3, 4))) # prints (0, 0), (16, 16), (32, 32), (48, 48), (48, 64) + [/codeblock] </description> <tutorials> </tutorials> @@ -12,6 +23,8 @@ <param index="0" name="from_id" type="Vector2i" /> <param index="1" name="to_id" type="Vector2i" /> <description> + Called when computing the cost between two connected points. + Note that this function is hidden in the default [code]AStarGrid2D[/code] class. </description> </method> <method name="_estimate_cost" qualifiers="virtual const"> @@ -19,11 +32,14 @@ <param index="0" name="from_id" type="Vector2i" /> <param index="1" name="to_id" type="Vector2i" /> <description> + Called when estimating the cost between a point and the path's ending point. + Note that this function is hidden in the default [code]AStarGrid2D[/code] class. </description> </method> <method name="clear"> <return type="void" /> <description> + Clears the grid and sets the [member size] to [constant Vector2i.ZERO]. </description> </method> <method name="get_id_path"> @@ -31,6 +47,7 @@ <param index="0" name="from_id" type="Vector2i" /> <param index="1" name="to_id" type="Vector2i" /> <description> + Returns an array with the IDs of the points that form the path found by AStar2D between the given points. The array is ordered from the starting point to the ending point of the path. </description> </method> <method name="get_point_path"> @@ -38,11 +55,14 @@ <param index="0" name="from_id" type="Vector2i" /> <param index="1" name="to_id" type="Vector2i" /> <description> + Returns an array with the points that are in the path found by AStarGrid2D between the given points. The array is ordered from the starting point to the ending point of the path. + [b]Note:[/b] This method is not thread-safe. If called from a [Thread], it will return an empty [PackedVector3Array] and will print an error message. </description> </method> <method name="is_dirty" qualifiers="const"> <return type="bool" /> <description> + Indicates that the grid parameters were changed and [method update] needs to be called. </description> </method> <method name="is_in_bounds" qualifiers="const"> @@ -50,18 +70,21 @@ <param index="0" name="x" type="int" /> <param index="1" name="y" type="int" /> <description> + Returns [code]true[/code] if the [param x] and [param y] is a valid grid coordinate (id). </description> </method> <method name="is_in_boundsv" qualifiers="const"> <return type="bool" /> <param index="0" name="id" type="Vector2i" /> <description> + Returns [code]true[/code] if the [param id] vector is a valid grid coordinate. </description> </method> <method name="is_point_solid" qualifiers="const"> <return type="bool" /> <param index="0" name="id" type="Vector2i" /> <description> + Returns [code]true[/code] if a point is disabled for pathfinding. By default, all points are enabled. </description> </method> <method name="set_point_solid"> @@ -69,48 +92,87 @@ <param index="0" name="id" type="Vector2i" /> <param index="1" name="solid" type="bool" default="true" /> <description> + Disables or enables the specified point for pathfinding. Useful for making an obstacle. By default, all points are enabled. </description> </method> <method name="update"> <return type="void" /> <description> + Updates the internal state of the grid according to the parameters to prepare it to search the path. Needs to be called if parameters like [member size], [member cell_size] or [member offset] are changed. [method is_dirty] will return [code]true[/code] if this is the case and this needs to be called. </description> </method> </methods> <members> <member name="cell_size" type="Vector2" setter="set_cell_size" getter="get_cell_size" default="Vector2(1, 1)"> + The size of the point cell which will be applied to calculate the resulting point position returned by [method get_point_path]. If changed, [method update] needs to be called before finding the next path. </member> <member name="default_heuristic" type="int" setter="set_default_heuristic" getter="get_default_heuristic" enum="AStarGrid2D.Heuristic" default="0"> + The default [enum Heuristic] which will be used to calculate the path if [method _compute_cost] and/or [method _estimate_cost] were not overridden. </member> <member name="diagonal_mode" type="int" setter="set_diagonal_mode" getter="get_diagonal_mode" enum="AStarGrid2D.DiagonalMode" default="0"> + A specific [enum DiagonalMode] mode which will force the path to avoid or accept the specified diagonals. </member> <member name="jumping_enabled" type="bool" setter="set_jumping_enabled" getter="is_jumping_enabled" default="false"> + Enables or disables jumping to skip up the intermediate points and speeds up the searching algorithm. </member> <member name="offset" type="Vector2" setter="set_offset" getter="get_offset" default="Vector2(0, 0)"> + The offset of the grid which will be applied to calculate the resulting point position returned by [method get_point_path]. If changed, [method update] needs to be called before finding the next path. </member> <member name="size" type="Vector2i" setter="set_size" getter="get_size" default="Vector2i(0, 0)"> + The size of the grid (number of cells of size [member cell_size] on each axis). If changed, [method update] needs to be called before finding the next path. </member> </members> <constants> <constant name="HEURISTIC_EUCLIDEAN" value="0" enum="Heuristic"> + The Euclidean heuristic to be used for the pathfinding using the following formula: + [codeblock] + dx = abs(to_id.x - from_id.x) + dy = abs(to_id.y - from_id.y) + result = sqrt(dx * dx + dy * dy) + [/codeblock] </constant> <constant name="HEURISTIC_MANHATTAN" value="1" enum="Heuristic"> + The Manhattan heuristic to be used for the pathfinding using the following formula: + [codeblock] + dx = abs(to_id.x - from_id.x) + dy = abs(to_id.y - from_id.y) + result = dx + dy + [/codeblock] </constant> <constant name="HEURISTIC_OCTILE" value="2" enum="Heuristic"> + The Octile heuristic to be used for the pathfinding using the following formula: + [codeblock] + dx = abs(to_id.x - from_id.x) + dy = abs(to_id.y - from_id.y) + f = sqrt(2) - 1 + result = (dx < dy) ? f * dx + dy : f * dy + dx; + [/codeblock] </constant> <constant name="HEURISTIC_CHEBYSHEV" value="3" enum="Heuristic"> + The Chebyshev heuristic to be used for the pathfinding using the following formula: + [codeblock] + dx = abs(to_id.x - from_id.x) + dy = abs(to_id.y - from_id.y) + result = max(dx, dy) + [/codeblock] </constant> <constant name="HEURISTIC_MAX" value="4" enum="Heuristic"> + Represents the size of the [enum Heuristic] enum. </constant> <constant name="DIAGONAL_MODE_ALWAYS" value="0" enum="DiagonalMode"> + The pathfinding algorithm will ignore solid neighbors around the target cell and allow passing using diagonals. </constant> <constant name="DIAGONAL_MODE_NEVER" value="1" enum="DiagonalMode"> + The pathfinding algorithm will ignore all diagonals and the way will be always orthogonal. </constant> <constant name="DIAGONAL_MODE_AT_LEAST_ONE_WALKABLE" value="2" enum="DiagonalMode"> + The pathfinding algorithm will avoid using diagonals if at least two obstacles have been placed around the neighboring cells of the specific path segment. </constant> <constant name="DIAGONAL_MODE_ONLY_IF_NO_OBSTACLES" value="3" enum="DiagonalMode"> + The pathfinding algorithm will avoid using diagonals if any obstacle has been placed around the neighboring cells of the specific path segment. </constant> <constant name="DIAGONAL_MODE_MAX" value="4" enum="DiagonalMode"> + Represents the size of the [enum DiagonalMode] enum. </constant> </constants> </class> diff --git a/doc/classes/EditorPlugin.xml b/doc/classes/EditorPlugin.xml index 418b44e74b..3c0d3ec6be 100644 --- a/doc/classes/EditorPlugin.xml +++ b/doc/classes/EditorPlugin.xml @@ -406,6 +406,7 @@ When a given node or resource is selected, the base type will be instantiated (e.g. "Node3D", "Control", "Resource"), then the script will be loaded and set to this object. You can use the virtual method [method _handles] to check if your custom object is being edited by checking the script or using the [code]is[/code] keyword. During run-time, this will be a simple object with a script so this function does not need to be called then. + [b]Note:[/b] Custom types added this way are not true classes. They are just a helper to create a node with specific script. </description> </method> <method name="add_debugger_plugin"> diff --git a/doc/classes/HSplitContainer.xml b/doc/classes/HSplitContainer.xml index 8137e26b8c..13915bd762 100644 --- a/doc/classes/HSplitContainer.xml +++ b/doc/classes/HSplitContainer.xml @@ -13,6 +13,9 @@ <theme_item name="autohide" data_type="constant" type="int" default="1"> Boolean value. If 1 ([code]true[/code]), the grabber will hide automatically when it isn't under the cursor. If 0 ([code]false[/code]), it's always visible. </theme_item> + <theme_item name="minimum_grab_thickness" data_type="constant" type="int" default="6"> + The minimum thickness of the area users can click on to grab the splitting line. If [theme_item separation] or [theme_item grabber]'s thickness are too small, this ensure that the splitting line can still be dragged. + </theme_item> <theme_item name="separation" data_type="constant" type="int" default="12"> The space between sides of the container. </theme_item> diff --git a/doc/classes/PhysicsServer2DManager.xml b/doc/classes/PhysicsServer2DManager.xml new file mode 100644 index 0000000000..328ac93ce3 --- /dev/null +++ b/doc/classes/PhysicsServer2DManager.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="PhysicsServer2DManager" inherits="Object" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> + <brief_description> + Manager for 2D physics server implementations. + </brief_description> + <description> + [PhysicsServer2DManager] is the API for registering [PhysicsServer2D] implementations, and for setting the default implementation. + [b]Note:[/b] It is not possible to switch physics servers at runtime. This class is only used on startup at the server initialization level, by Godot itself and possibly by GDExtensions. + </description> + <tutorials> + </tutorials> + <methods> + <method name="register_server"> + <return type="void" /> + <param index="0" name="name" type="String" /> + <param index="1" name="create_callback" type="Callable" /> + <description> + Register a [PhysicsServer2D] implementation by passing a [param name] and a [Callable] that returns a [PhysicsServer2D] object. + </description> + </method> + <method name="set_default_server"> + <return type="void" /> + <param index="0" name="name" type="String" /> + <param index="1" name="priority" type="int" /> + <description> + Set the default [PhysicsServer2D] implementation to the one identified by [param name], if [param priority] is greater than the priority of the current default implementation. + </description> + </method> + </methods> +</class> diff --git a/doc/classes/PhysicsServer3DManager.xml b/doc/classes/PhysicsServer3DManager.xml new file mode 100644 index 0000000000..3ec03fede4 --- /dev/null +++ b/doc/classes/PhysicsServer3DManager.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="PhysicsServer3DManager" inherits="Object" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> + <brief_description> + Manager for 3D physics server implementations. + </brief_description> + <description> + [PhysicsServer3DManager] is the API for registering [PhysicsServer3D] implementations, and for setting the default implementation. + [b]Note:[/b] It is not possible to switch physics servers at runtime. This class is only used on startup at the server initialization level, by Godot itself and possibly by GDExtensions. + </description> + <tutorials> + </tutorials> + <methods> + <method name="register_server"> + <return type="void" /> + <param index="0" name="name" type="String" /> + <param index="1" name="create_callback" type="Callable" /> + <description> + Register a [PhysicsServer3D] implementation by passing a [param name] and a [Callable] that returns a [PhysicsServer2D] object. + </description> + </method> + <method name="set_default_server"> + <return type="void" /> + <param index="0" name="name" type="String" /> + <param index="1" name="priority" type="int" /> + <description> + Set the default [PhysicsServer3D] implementation to the one identified by [param name], if [param priority] is greater than the priority of the current default implementation. + </description> + </method> + </methods> +</class> diff --git a/doc/classes/SplitContainer.xml b/doc/classes/SplitContainer.xml index f5646e9e97..f0998deeae 100644 --- a/doc/classes/SplitContainer.xml +++ b/doc/classes/SplitContainer.xml @@ -55,6 +55,9 @@ <theme_item name="autohide" data_type="constant" type="int" default="1"> Boolean value. If 1 ([code]true[/code]), the grabber will hide automatically when it isn't under the cursor. If 0 ([code]false[/code]), it's always visible. </theme_item> + <theme_item name="minimum_grab_thickness" data_type="constant" type="int" default="6"> + The minimum thickness of the area users can click on to grab the splitting line. If [theme_item separation] or [theme_item h_grabber] / [theme_item v_grabber]'s thickness are too small, this ensure that the splitting line can still be dragged. + </theme_item> <theme_item name="separation" data_type="constant" type="int" default="12"> The space between sides of the container. </theme_item> diff --git a/doc/classes/StyleBox.xml b/doc/classes/StyleBox.xml index d9c19a0c86..8656cde4a0 100644 --- a/doc/classes/StyleBox.xml +++ b/doc/classes/StyleBox.xml @@ -97,6 +97,13 @@ Sets the default value of the specified [enum Side] to [param offset] pixels. </description> </method> + <method name="set_default_margin_all"> + <return type="void" /> + <param index="0" name="offset" type="float" /> + <description> + Sets the default margin to [param offset] pixels for all sides. + </description> + </method> <method name="test_mask" qualifiers="const"> <return type="bool" /> <param index="0" name="point" type="Vector2" /> diff --git a/doc/classes/StyleBoxFlat.xml b/doc/classes/StyleBoxFlat.xml index c4024fa4b5..7f6628f8ee 100644 --- a/doc/classes/StyleBoxFlat.xml +++ b/doc/classes/StyleBoxFlat.xml @@ -81,16 +81,6 @@ Sets the corner radius to [param radius] pixels for all corners. </description> </method> - <method name="set_corner_radius_individual"> - <return type="void" /> - <param index="0" name="radius_top_left" type="int" /> - <param index="1" name="radius_top_right" type="int" /> - <param index="2" name="radius_bottom_right" type="int" /> - <param index="3" name="radius_bottom_left" type="int" /> - <description> - Sets the corner radius for each corner to [param radius_top_left], [param radius_top_right], [param radius_bottom_right], and [param radius_bottom_left] pixels. - </description> - </method> <method name="set_expand_margin"> <return type="void" /> <param index="0" name="margin" type="int" enum="Side" /> @@ -106,16 +96,6 @@ Sets the expand margin to [param size] pixels for all margins. </description> </method> - <method name="set_expand_margin_individual"> - <return type="void" /> - <param index="0" name="size_left" type="float" /> - <param index="1" name="size_top" type="float" /> - <param index="2" name="size_right" type="float" /> - <param index="3" name="size_bottom" type="float" /> - <description> - Sets the expand margin for each margin to [param size_left], [param size_top], [param size_right], and [param size_bottom] pixels. - </description> - </method> </methods> <members> <member name="anti_aliasing" type="bool" setter="set_anti_aliased" getter="is_anti_aliased" default="true"> diff --git a/doc/classes/StyleBoxTexture.xml b/doc/classes/StyleBoxTexture.xml index 7db70e630d..aeba777b43 100644 --- a/doc/classes/StyleBoxTexture.xml +++ b/doc/classes/StyleBoxTexture.xml @@ -30,16 +30,6 @@ Sets the expand margin to [param size] pixels for all margins. </description> </method> - <method name="set_expand_margin_individual"> - <return type="void" /> - <param index="0" name="size_left" type="float" /> - <param index="1" name="size_top" type="float" /> - <param index="2" name="size_right" type="float" /> - <param index="3" name="size_bottom" type="float" /> - <description> - Sets the expand margin for each margin to [param size_left], [param size_top], [param size_right], and [param size_bottom] pixels. - </description> - </method> <method name="set_expand_margin_size"> <return type="void" /> <param index="0" name="margin" type="int" enum="Side" /> @@ -56,6 +46,13 @@ Sets the margin to [param size] pixels for the specified [enum Side]. </description> </method> + <method name="set_margin_size_all"> + <return type="void" /> + <param index="0" name="size" type="float" /> + <description> + Sets the margin to [param size] pixels for all sides. + </description> + </method> </methods> <members> <member name="axis_stretch_horizontal" type="int" setter="set_h_axis_stretch_mode" getter="get_h_axis_stretch_mode" enum="StyleBoxTexture.AxisStretchMode" default="0"> diff --git a/doc/classes/VSplitContainer.xml b/doc/classes/VSplitContainer.xml index b933fb2805..c60d15d9c9 100644 --- a/doc/classes/VSplitContainer.xml +++ b/doc/classes/VSplitContainer.xml @@ -13,6 +13,9 @@ <theme_item name="autohide" data_type="constant" type="int" default="1"> Boolean value. If 1 ([code]true[/code]), the grabber will hide automatically when it isn't under the cursor. If 0 ([code]false[/code]), it's always visible. </theme_item> + <theme_item name="minimum_grab_thickness" data_type="constant" type="int" default="6"> + The minimum thickness of the area users can click on to grab the splitting line. If [theme_item separation] or [theme_item grabber]'s thickness are too small, this ensure that the splitting line can still be dragged. + </theme_item> <theme_item name="separation" data_type="constant" type="int" default="12"> The space between sides of the container. </theme_item> |