1
Fork 0
mirror of https://github.com/Steffo99/hella-farm.git synced 2024-11-21 15:44:23 +00:00
hella-farm/random.gd

23 lines
488 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:
return null
if imin == null:
imin = 0
if imax == null:
imax = len(array) - 1
var idx = rng.randi_range(imin, imax)
return array[idx]