Skip to content

Commit bc2e347

Browse files
authored
Merge pull request #11302 from Calinou/gdscript-static-typing-global-scope-methods
Document global scope methods in Static typing in GDScript
2 parents 717e580 + f3fd393 commit bc2e347

File tree

1 file changed

+80
-0
lines changed

1 file changed

+80
-0
lines changed

tutorials/scripting/gdscript/static_typing.rst

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -479,6 +479,86 @@ Currently, ``UNSAFE_*`` warnings do not cover all cases that unsafe lines cover.
479479
Common unsafe operations and their safe counterparts
480480
----------------------------------------------------
481481

482+
Global scope methods
483+
~~~~~~~~~~~~~~~~~~~~
484+
485+
The following global scope methods are not statically typed, but they have
486+
typed counterparts available. These methods return statically typed values:
487+
488+
+------------------------------------------------------+-------------------------------------------------------------------------------------+
489+
| Method | Statically typed equivalents |
490+
+======================================================+=====================================================================================+
491+
| :ref:`abs()<class_@GlobalScope_method_abs>` | | :ref:`absf() <class_@GlobalScope_method_absf>`, |
492+
| | :ref:`absi() <class_@GlobalScope_method_absi>` |
493+
| | | :ref:`Vector2.abs() <class_Vector2_method_abs>`, |
494+
| | :ref:`Vector2i.abs() <class_Vector2i_method_abs>` |
495+
| | | :ref:`Vector3.abs() <class_Vector3_method_abs>`, |
496+
| | :ref:`Vector3i.abs() <class_Vector3i_method_abs>` |
497+
| | | :ref:`Vector4.abs() <class_Vector4_method_abs>`, |
498+
| | :ref:`Vector4i.abs() <class_Vector4i_method_abs>` |
499+
+------------------------------------------------------+-------------------------------------------------------------------------------------+
500+
| :ref:`ceil() <class_@GlobalScope_method_ceil>` | | :ref:`ceilf() <class_@GlobalScope_method_ceilf>`, |
501+
| | :ref:`ceili() <class_@GlobalScope_method_ceili>` |
502+
| | | :ref:`Vector2.ceil() <class_Vector2_method_ceil>` |
503+
| | | :ref:`Vector3.ceil() <class_Vector3_method_ceil>` |
504+
| | | :ref:`Vector4.ceil() <class_Vector4_method_ceil>` |
505+
+------------------------------------------------------+-------------------------------------------------------------------------------------+
506+
| :ref:`clamp() <class_@GlobalScope_method_clamp>` | | :ref:`clampf() <class_@GlobalScope_method_clampf>`, |
507+
| | :ref:`clampi() <class_@GlobalScope_method_clampi>` |
508+
| | | :ref:`Vector2.clamp() <class_Vector2_method_clamp>`, |
509+
| | :ref:`Vector2i.clamp() <class_Vector2i_method_clamp>` |
510+
| | | :ref:`Vector3.clamp() <class_Vector3_method_clamp>`, |
511+
| | :ref:`Vector3i.clamp() <class_Vector3i_method_clamp>` |
512+
| | | :ref:`Vector4.clamp() <class_Vector4_method_clamp>`, |
513+
| | :ref:`Vector4i.clamp() <class_Vector4i_method_clamp>` |
514+
| | | :ref:`Color.clamp() <class_Color_method_clamp>` |
515+
| | | (untyped ``clamp()`` does not work on Color) |
516+
+------------------------------------------------------+-------------------------------------------------------------------------------------+
517+
| :ref:`floor() <class_@GlobalScope_method_floor>` | | :ref:`floorf() <class_@GlobalScope_method_floorf>`, |
518+
| | :ref:`floori() <class_@GlobalScope_method_floori>` |
519+
| | | :ref:`Vector2.floor() <class_Vector2_method_floor>` |
520+
| | | :ref:`Vector3.floor() <class_Vector3_method_floor>` |
521+
| | | :ref:`Vector4.floor() <class_Vector4_method_floor>` |
522+
+------------------------------------------------------+-------------------------------------------------------------------------------------+
523+
| :ref:`lerp() <class_@GlobalScope_method_lerp>` | | :ref:`lerpf() <class_@GlobalScope_method_lerpf>` |
524+
| | | :ref:`Vector2.lerp() <class_Vector2_method_lerp>` |
525+
| | | :ref:`Vector3.lerp() <class_Vector3_method_lerp>` |
526+
| | | :ref:`Vector4.lerp() <class_Vector4_method_lerp>` |
527+
| | | :ref:`Color.lerp() <class_Color_method_lerp>` |
528+
| | | :ref:`Quaternion.slerp() <class_Quaternion_method_slerp>` |
529+
| | | :ref:`Basis.slerp() <class_Basis_method_slerp>` |
530+
| | | :ref:`Transform2D.interpolate_with() <class_Transform2D_method_interpolate_with>` |
531+
| | | :ref:`Transform3D.interpolate_with() <class_Transform3D_method_interpolate_with>` |
532+
+------------------------------------------------------+-------------------------------------------------------------------------------------+
533+
| :ref:`round() <class_@GlobalScope_method_round>` | | :ref:`roundf() <class_@GlobalScope_method_roundf>`, |
534+
| | :ref:`roundi() <class_@GlobalScope_method_roundi>` |
535+
| | | :ref:`Vector2.round() <class_Vector2_method_round>` |
536+
| | | :ref:`Vector3.round() <class_Vector3_method_round>` |
537+
| | | :ref:`Vector4.round() <class_Vector4_method_round>` |
538+
+------------------------------------------------------+-------------------------------------------------------------------------------------+
539+
| :ref:`sign() <class_@GlobalScope_method_sign>` | | :ref:`signf() <class_@GlobalScope_method_signf>` |
540+
| | | :ref:`signi() <class_@GlobalScope_method_signi>` |
541+
| | | :ref:`Vector2.sign() <class_Vector2_method_sign>`, |
542+
| | :ref:`Vector2i.sign() <class_Vector2i_method_sign>` |
543+
| | | :ref:`Vector3.sign() <class_Vector3_method_sign>`, |
544+
| | :ref:`Vector3i.sign() <class_Vector3i_method_sign>` |
545+
| | | :ref:`Vector4.sign() <class_Vector4_method_sign>`, |
546+
| | :ref:`Vector4i.sign() <class_Vector4i_method_sign>` |
547+
+------------------------------------------------------+-------------------------------------------------------------------------------------+
548+
| :ref:`snapped() <class_@GlobalScope_method_snapped>` | | :ref:`snappedf() <class_@GlobalScope_method_snappedf>` |
549+
| | | :ref:`snappedi() <class_@GlobalScope_method_snappedi>` |
550+
| | | :ref:`Vector2.snapped() <class_Vector2_method_snapped>`, |
551+
| | :ref:`Vector2i.snapped() <class_Vector2i_method_snapped>` |
552+
| | | :ref:`Vector3.snapped() <class_Vector3_method_snapped>`, |
553+
| | :ref:`Vector3i.snapped() <class_Vector3i_method_snapped>` |
554+
| | | :ref:`Vector4.snapped() <class_Vector4_method_snapped>`, |
555+
| | :ref:`Vector4i.snapped() <class_Vector4i_method_snapped>` |
556+
+------------------------------------------------------+-------------------------------------------------------------------------------------+
557+
558+
When using static typing, use the typed global scope methods whenever possible.
559+
This ensures you have safe lines and benefit from typed instructions for
560+
better performance.
561+
482562
``UNSAFE_PROPERTY_ACCESS`` and ``UNSAFE_METHOD_ACCESS`` warnings
483563
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
484564

0 commit comments

Comments
 (0)