12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- extends Node2D
-
- export (Array,PackedScene) var scenes
-
- var random_scene = RandomNumberGenerator.new()
- var scene_index = 0;
- var last_object
- var end_of_game = false
- var spawner_enabled = false
- var timer_speed = 0.99
- var random_threshold = 50
- var scenes_offset = 0
-
- func _ready():
- Signals.connect("die",self,"game_over")
- Signals.connect("win",self,"game_over")
-
-
- func _on_Timer_timeout():
- if spawner_enabled:
- random_scene.randomize()
- scene_index = random_scene.randi_range(1,100)
- if(scene_index >= random_threshold):
- scene_index = 1
- else:
- scene_index = 0
- var tmp = scenes[scene_index+scenes_offset*2].instance()
- $items.add_child(tmp)
- last_object = tmp
- if(self.get_node("Timer").wait_time <= 1):
- self.get_node("Timer").wait_time = 1
- else:
- self.get_node("Timer").wait_time *= timer_speed
- self.get_node("Timer").start()
-
-
- func game_over():
- self.get_node("Timer").set_paused(true)
- last_object.queue_free()
-
-
- func start(difficulty, version):
- match difficulty:
- "easy":
- timer_speed = 0.99
- random_threshold = 50
- "hard":
- timer_speed = 0.95
- random_threshold = 33
- _:
- pass
- scenes_offset = version
- spawner_enabled = true
- self.get_node("Timer").set_paused(false)
-
-
- func stop():
- spawner_enabled = false
- for obj in $items.get_children():
- remove_child(obj)
- obj.queue_free()
|