mirror of
https://github.com/Steffo99/hella-farm.git
synced 2024-11-21 23:54:23 +00:00
24 lines
535 B
GDScript
24 lines
535 B
GDScript
class_name Random
|
|
|
|
## Random number generator utilities
|
|
|
|
## Lazy init [RandomNumberGenerator].
|
|
static var rng: RandomNumberGenerator = null:
|
|
get:
|
|
if rng == null:
|
|
rng = RandomNumberGenerator.new()
|
|
return rng
|
|
set(value):
|
|
rng = value
|
|
|
|
|
|
static func sample(array: Array[Variant], imin = null, imax = null) -> Variant:
|
|
if len(array) == 0:
|
|
Log.w(null, "Sampling from an empty array.")
|
|
return null
|
|
if imin == null:
|
|
imin = 0
|
|
if imax == null:
|
|
imax = len(array) - 1
|
|
var idx = rng.randi_range(imin, imax)
|
|
return array[idx]
|