pollen-not-included/scenes/scripts/bee_spawner.gd
2024-05-08 14:03:38 +01:00

38 lines
979 B
GDScript

extends Node2D
class_name BeeSpawner
var bee = preload("res://entities/Bee.tscn")
@onready var beehive = get_node("../Beehive")
@onready var bee_sound = get_node("BigBeeSound")
@onready var small_bee_sound = get_node("BeeSound")
var bee_count = 0
var max_bees = 10
var spawn_interval = 0.5
var spawn_timer = 0.0
var bee_sound_timer = 0.0
func spawn_bee():
var bee_instance = bee.instantiate()
add_child(bee_instance)
bee_instance.position = beehive.global_position
func _process(delta):
spawn_timer += delta
if spawn_timer > spawn_interval and bee_count < max_bees and beehive.dancer_in_range:
spawn_bee()
spawn_timer = 0.0
bee_count += 1
Log.pr("Bee count: " + str(bee_count))
if bee_count > 0 and small_bee_sound.playing == false:
small_bee_sound.play()
func _physics_process(delta):
bee_sound_timer += delta
if bee_sound_timer > 1.0 and bee_count > 0:
bee_sound_timer = 0.0
if randf() > 0.9 and bee_sound.playing == false:
bee_sound.play()