Pular para o conteúdo
AstraDOCS

Astra.RandomStream

Astra atual · C# · 06 out. 2026Referência de assinaturas

Deterministic, per-owner random stream. State is explicitly capturable for replay/save. PCG-XSH-RR 32; Godot 4.5 RandomNumberGenerator is the capability reference. Algorithm/version belongs to Astra and is not sequence-compatible with Godot or Unity.

Namespace: Astra · Assembly: Astra.Scripting · Tipo: Class

class Astra.RandomStream

Deterministic, per-owner random stream. State is explicitly capturable for replay/save. PCG-XSH-RR 32; Godot 4.5 RandomNumberGenerator is the capability reference. Algorithm/version belongs to Astra and is not sequence-compatible with Godot or Unity.

Membro Categoria
AlgorithmVersion Field
.ctor Method
Capture Method
Gaussian Method
InsideUnitCircle Method
InsideUnitSphere Method
NextUInt Method
OnUnitSphere Method
Range Method
Range Method
Restore Method
Shuffle Method
Value Property

AlgorithmVersion

public const uint AlgorithmVersion = 1

.ctor

public RandomStream(ulong seed, ulong stream = 0)
Parâmetro Tipo Contrato
seed ulong
stream ulong · Opcional: 0

Capture

public Astra.RandomStream.Snapshot Capture()

Gaussian

public float Gaussian(float mean = 0, float standardDeviation = 1)

Normal distribution using Box-Muller; zero deviation returns the mean.

Parâmetro Tipo Contrato
mean float · Opcional: 0
standardDeviation float · Opcional: 1

InsideUnitCircle

public System.Numerics.Vector2 InsideUnitCircle()

InsideUnitSphere

public System.Numerics.Vector3 InsideUnitSphere()

Uniform volume distribution, not a uniform radius.

NextUInt

public uint NextUInt()

OnUnitSphere

public System.Numerics.Vector3 OnUnitSphere()

Uniform direction on the unit sphere (no rejection loop).

Range

public int Range(int minimumInclusive, int maximumExclusive)

Uniform integer range [minimumInclusive, maximumExclusive), without modulo bias.

Parâmetro Tipo Contrato
minimumInclusive int
maximumExclusive int

Range

public float Range(float minimumInclusive, float maximumExclusive)

Finite float range [minimumInclusive, maximumExclusive). Equal endpoints return the endpoint.

Parâmetro Tipo Contrato
minimumInclusive float
maximumExclusive float

Restore

public void Restore(Astra.RandomStream.Snapshot snapshot)
Parâmetro Tipo Contrato
snapshot Astra.RandomStream.Snapshot

Shuffle

public void Shuffle<T>(System.Span<T> values)

Fisher-Yates shuffle, unbiased bounded indices.

Parâmetro Tipo Contrato
values System.Span&lt;T&gt;

Value

public float Value { get; }

Uniform [0,1), using 24 random bits exactly representable by float.