12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- extends Node2D
- class_name WaveManager
- var timer: Timer = Timer.new()
- var current_wave: int = -1
- var done = false
- @onready var logg = $"../../../UILayer/UI/Log/PC/MC/Label"
- @onready var time_label = $"../../../UILayer/UI/NextWave/HB/Label"
- var power_level: float = 1.0
- func _ready():
- add_child(timer)
- timer.set_one_shot(true)
- timer.connect("timeout", next_wave)
- logg.set_text("")
- next_wave()
-
- $"../../../UILayer/UI/NextWave/HB/Button".connect("pressed", next_wave)
- func _process(delta: float):
- time_label.set_text("in " + str(round(timer.get_time_left())) + "s")
- func _input(input: InputEvent):
- if input.is_action_pressed("wave_cheat"):
- current_wave += 1
- print("Skipped wave ", current_wave + 1)
- func next_wave():
- current_wave += 1
- if current_wave < get_children().size() - 1:
- var wave = get_child(current_wave)
- power_level = wave.power_level
- wave.activate()
- timer.set_wait_time(wave.duration)
- timer.start()
- if wave.title:
- logg.append_text("[color=#ffcccc]Wave " + str(current_wave + 1) + ":[/color] " + wave.title + "\n")
- else:
- logg.append_text("[color=#ffcccc]Wave " + str(current_wave + 1) + "[/color] " + "\n")
- logg.append_text(wave.get_log_data())
- else:
- done = true
- logg.append_text("[color=#ccffcc]No waves left[/color]\n")
- func is_done():
- return done
|