You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-08 12:40:44 +00:00
Clarified behavior of a few methods. Added implementation notes so
that developers not familiar with RNGs are alerted to common pitfalls.
(cherry picked from commit ae1393acae)
67 lines
2.2 KiB
XML
67 lines
2.2 KiB
XML
<?xml version="1.0" encoding="UTF-8" ?>
|
|
<class name="RandomNumberGenerator" inherits="Reference" category="Core" version="3.1">
|
|
<brief_description>
|
|
A class for generating pseudo-random numbers.
|
|
</brief_description>
|
|
<description>
|
|
RandomNumberGenerator is a class for generating pseudo-random numbers. It currently uses PCG32. The underlying algorithm is an implementation detail. As a result, it should not be depended upon for reproducible random streams across Godot versions.
|
|
</description>
|
|
<tutorials>
|
|
</tutorials>
|
|
<demos>
|
|
</demos>
|
|
<methods>
|
|
<method name="randf">
|
|
<return type="float">
|
|
</return>
|
|
<description>
|
|
Generates pseudo-random float between '0.0' and '1.0', inclusive.
|
|
</description>
|
|
</method>
|
|
<method name="randf_range">
|
|
<return type="float">
|
|
</return>
|
|
<argument index="0" name="from" type="float">
|
|
</argument>
|
|
<argument index="1" name="to" type="float">
|
|
</argument>
|
|
<description>
|
|
Generates pseudo-random float between [code]from[/code] and [code]to[/code], inclusive.
|
|
</description>
|
|
</method>
|
|
<method name="randi">
|
|
<return type="int">
|
|
</return>
|
|
<description>
|
|
Generates pseudo-random 32-bit unsigned integer between '0' and '4294967295', inclusive.
|
|
</description>
|
|
</method>
|
|
<method name="randi_range">
|
|
<return type="int">
|
|
</return>
|
|
<argument index="0" name="from" type="int">
|
|
</argument>
|
|
<argument index="1" name="to" type="int">
|
|
</argument>
|
|
<description>
|
|
Generates pseudo-random 32-bit signed integer between [code]from[/code] and [code]to[/code] (inclusive).
|
|
</description>
|
|
</method>
|
|
<method name="randomize">
|
|
<return type="void">
|
|
</return>
|
|
<description>
|
|
Setups a time-based seed to generator.
|
|
</description>
|
|
</method>
|
|
</methods>
|
|
<members>
|
|
<member name="seed" type="int" setter="set_seed" getter="get_seed">
|
|
The seed used by the random number generator. A given seed will give a reproducible sequence of pseudo-random numbers.
|
|
[b]Note:[/b] The RNG does not have an avalanche effect, and can output similar random streams given similar seeds. Consider using a hash function to improve your seed quality if they're sourced externally.
|
|
</member>
|
|
</members>
|
|
<constants>
|
|
</constants>
|
|
</class>
|