2020-01-14 21:20:17 +00:00
|
|
|
extends Node
|
|
|
|
|
2020-01-15 14:44:46 +00:00
|
|
|
export (PackedScene) var Tower = preload("res://Tower.tscn");
|
|
|
|
|
2020-01-14 21:20:17 +00:00
|
|
|
onready var screen_size = Vector2(ProjectSettings.get("display/window/size/width"), ProjectSettings.get("display/window/size/height"))
|
|
|
|
|
2020-01-29 20:51:40 +00:00
|
|
|
export var tower_density = 250
|
2020-04-08 10:40:43 +00:00
|
|
|
|
|
|
|
signal spawn
|
|
|
|
|
2020-04-09 16:30:56 +00:00
|
|
|
var last_built = 300
|
|
|
|
|
|
|
|
var towers = []
|
2020-01-15 14:44:46 +00:00
|
|
|
|
|
|
|
func build_tower():
|
|
|
|
var tower = Tower.instance()
|
|
|
|
tower.connect("exit", self, "_on_Tower_exit")
|
2020-01-29 20:51:40 +00:00
|
|
|
|
|
|
|
var pos = Vector2(last_built, (randf() * (screen_size.y * 0.7)) + screen_size.y * 0.15) # The player's movement vector.
|
|
|
|
|
2020-01-15 14:44:46 +00:00
|
|
|
tower.position = pos
|
2020-04-09 16:30:56 +00:00
|
|
|
towers.append(tower)
|
2020-01-15 14:44:46 +00:00
|
|
|
|
2020-04-08 10:40:43 +00:00
|
|
|
emit_signal("spawn", tower.get_global_transform().get_origin().x)
|
2020-01-15 14:44:46 +00:00
|
|
|
add_child(tower)
|
|
|
|
last_built += tower_density
|
|
|
|
|
2020-04-09 16:30:56 +00:00
|
|
|
func build_all_towers():
|
|
|
|
while towers.size() > 0:
|
|
|
|
towers.pop_back().queue_free()
|
|
|
|
|
|
|
|
last_built = 300
|
|
|
|
while last_built < screen_size.x * 3:
|
|
|
|
build_tower()
|
|
|
|
|
2020-01-14 21:20:17 +00:00
|
|
|
func _ready():
|
2020-04-08 10:40:43 +00:00
|
|
|
var ui = get_node("UI")
|
|
|
|
var player = get_node("Player")
|
2020-04-09 16:30:56 +00:00
|
|
|
player.connect("start", self, "build_all_towers")
|
2020-04-08 10:40:43 +00:00
|
|
|
player.connect("start", ui, "_on_Player_start")
|
|
|
|
player.connect("hit", ui, "_on_Player_hit")
|
|
|
|
player.connect("passed", ui, "_on_Player_passed")
|
|
|
|
connect("spawn", player, "_on_Tower_spawn")
|
2020-01-15 14:44:46 +00:00
|
|
|
randomize()
|
|
|
|
|
|
|
|
func _on_Tower_exit():
|
2020-04-09 16:30:56 +00:00
|
|
|
towers.pop_front()
|
2020-01-15 14:44:46 +00:00
|
|
|
build_tower()
|