|
@@ -3,11 +3,13 @@ extends Node2D
|
|
|
signal get_firing
|
|
|
signal is_full
|
|
|
signal gain_new_bullet
|
|
|
+signal interrupt_wave
|
|
|
|
|
|
enum State {
|
|
|
READY,
|
|
|
FIRING,
|
|
|
WAITING,
|
|
|
+ INTERRUPTING,
|
|
|
}
|
|
|
|
|
|
export var BULLET_SPEED = 500.0
|
|
@@ -41,6 +43,9 @@ func trigger(aim:Vector2):
|
|
|
current_state = State.FIRING
|
|
|
target.position = aim
|
|
|
emit_signal("get_firing")
|
|
|
+ elif (current_state == State.WAITING):
|
|
|
+ current_state = State.INTERRUPTING
|
|
|
+ emit_signal("interrupt_wave")
|
|
|
|
|
|
|
|
|
func shoot():
|
|
@@ -51,6 +56,7 @@ func shoot():
|
|
|
add_child(bullet)
|
|
|
bullet.connect("tree_exited", self, "_on_Ball_tree_exited")
|
|
|
bullet.connect("kace_contact", grid, "_on_Ball_kace_contact")
|
|
|
+ self.connect("interrupt_wave", bullet, "_on_Launcher_interrupt_wave")
|
|
|
|
|
|
|
|
|
func gain_new_bullet():
|