1
Fork 0
mirror of https://github.com/Steffo99/hella-farm.git synced 2024-11-28 19:14:23 +00:00
hella-farm/behaviours/sampler_priority.gd

29 lines
711 B
GDScript3
Raw Normal View History

2024-04-16 03:08:25 +00:00
extends Sampler
class_name SamplerPriority
## Always sample the object with the highest priority in the queue.
## Get a reference.
func sample() -> Priority:
if len(possibilities) == 0:
return null
# FIXME: Change this to something more efficient when needed
var highest_possibility: Priority = null
for possibility in possibilities:
if highest_possibility == null or possibility.priority > highest_possibility.priority:
highest_possibility = possibility
if highest_possibility == null:
return null
return highest_possibility.get_ref()
func get_all_refs() -> Array[Node]:
var refs: Array[Node] = []
for possibility in possibilities:
refs.append(possibility.get_ref())
return refs