Add includeInternal to C# NodeExtensions and fix get_child documentation

Node methods in C# extended to use generics
now have the optional parameter `includeInternal`
like their non-generic equivalents.

Also, fixed a typo in the `Node.get_child` documentation.
This commit is contained in:
Raul Santos 2022-02-25 01:10:02 +01:00
parent 70ceba2910
commit 7924d643e5
No known key found for this signature in database
GPG key ID: B532473AE3A803E4
2 changed files with 15 additions and 7 deletions

View file

@ -241,7 +241,7 @@
<description> <description>
Returns a child node by its index (see [method get_child_count]). This method is often used for iterating all children of a node. Returns a child node by its index (see [method get_child_count]). This method is often used for iterating all children of a node.
Negative indices access the children from the last one. Negative indices access the children from the last one.
If [param include_internal] is [code]true[/code], internal children are skipped (see [code]internal[/code] parameter in [method add_child]). If [param include_internal] is [code]false[/code], internal children are skipped (see [code]internal[/code] parameter in [method add_child]).
To access a child node via its name, use [method get_node]. To access a child node via its name, use [method get_node].
</description> </description>
</method> </method>

View file

@ -93,8 +93,12 @@ namespace Godot
/// Negative indices access the children from the last one. /// Negative indices access the children from the last one.
/// To access a child node via its name, use <see cref="GetNode"/>. /// To access a child node via its name, use <see cref="GetNode"/>.
/// </summary> /// </summary>
/// <seealso cref="GetChildOrNull{T}(int)"/> /// <seealso cref="GetChildOrNull{T}(int, bool)"/>
/// <param name="idx">Child index.</param> /// <param name="idx">Child index.</param>
/// <param name="includeInternal">
/// If <see langword="false"/>, internal children are skipped (see <c>internal</c>
/// parameter in <see cref="AddChild(Node, bool, InternalMode)"/>).
/// </param>
/// <exception cref="InvalidCastException"> /// <exception cref="InvalidCastException">
/// Thrown when the given the fetched node can't be casted to the given type <typeparamref name="T"/>. /// Thrown when the given the fetched node can't be casted to the given type <typeparamref name="T"/>.
/// </exception> /// </exception>
@ -102,9 +106,9 @@ namespace Godot
/// <returns> /// <returns>
/// The child <see cref="Node"/> at the given index <paramref name="idx"/>. /// The child <see cref="Node"/> at the given index <paramref name="idx"/>.
/// </returns> /// </returns>
public T GetChild<T>(int idx) where T : class public T GetChild<T>(int idx, bool includeInternal = false) where T : class
{ {
return (T)(object)GetChild(idx); return (T)(object)GetChild(idx, includeInternal);
} }
/// <summary> /// <summary>
@ -113,15 +117,19 @@ namespace Godot
/// Negative indices access the children from the last one. /// Negative indices access the children from the last one.
/// To access a child node via its name, use <see cref="GetNode"/>. /// To access a child node via its name, use <see cref="GetNode"/>.
/// </summary> /// </summary>
/// <seealso cref="GetChild{T}(int)"/> /// <seealso cref="GetChild{T}(int, bool)"/>
/// <param name="idx">Child index.</param> /// <param name="idx">Child index.</param>
/// <param name="includeInternal">
/// If <see langword="false"/>, internal children are skipped (see <c>internal</c>
/// parameter in <see cref="AddChild(Node, bool, InternalMode)"/>).
/// </param>
/// <typeparam name="T">The type to cast to. Should be a descendant of <see cref="Node"/>.</typeparam> /// <typeparam name="T">The type to cast to. Should be a descendant of <see cref="Node"/>.</typeparam>
/// <returns> /// <returns>
/// The child <see cref="Node"/> at the given index <paramref name="idx"/>, or <see langword="null"/> if not found. /// The child <see cref="Node"/> at the given index <paramref name="idx"/>, or <see langword="null"/> if not found.
/// </returns> /// </returns>
public T GetChildOrNull<T>(int idx) where T : class public T GetChildOrNull<T>(int idx, bool includeInternal = false) where T : class
{ {
return GetChild(idx) as T; return GetChild(idx, includeInternal) as T;
} }
/// <summary> /// <summary>