No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

spawner.gd 873B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. extends Node2D
  2. export (Array,PackedScene) var scenes
  3. var random_scene = RandomNumberGenerator.new()
  4. var scene_index = 0;
  5. var last_object
  6. var end_of_game = false
  7. var spawner_enabled = false
  8. func _ready():
  9. Signals.connect("die",self,"game_over")
  10. Signals.connect("win",self,"game_over")
  11. func _on_Timer_timeout():
  12. if spawner_enabled:
  13. random_scene.randomize()
  14. scene_index = random_scene.randi_range(0,scenes.size()-1)
  15. var tmp = scenes[scene_index].instance()
  16. $items.add_child(tmp)
  17. last_object = tmp
  18. self.get_node("Timer").wait_time *= 0.99
  19. self.get_node("Timer").start()
  20. func game_over():
  21. self.get_node("Timer").set_paused(true)
  22. last_object.queue_free()
  23. func start():
  24. spawner_enabled = true
  25. self.get_node("Timer").set_paused(false)
  26. func stop():
  27. spawner_enabled = false
  28. for obj in $items.get_children():
  29. remove_child(obj)
  30. obj.queue_free()