starcheese/spawn_asteroid_button.gd

36 lines
943 B
GDScript3
Raw Permalink Normal View History

extends Button
2025-01-04 02:25:39 +01:00
@onready var reward_spawner = get_node("/root/Main/RewardSpawner")
func _ready():
2025-01-04 02:25:39 +01:00
pressed.connect(on_button_pressed)
func on_button_pressed():
2025-01-04 02:25:39 +01:00
if reward_spawner:
var spawn_position = get_debug_spawn_position()
reward_spawner.spawn_reward_directly("debug_asteroid", spawn_position)
else:
print("Error: RewardSpawner not found.")
2025-01-04 02:25:39 +01:00
disable_temporarily()
2025-01-04 02:25:39 +01:00
func disable_temporarily():
self.disabled = true
self.release_focus()
var timer = Timer.new()
2025-01-04 02:25:39 +01:00
timer.wait_time = 0.1
timer.one_shot = true
timer.timeout.connect(self.on_timeout)
add_child(timer)
timer.start()
func on_timeout():
self.disabled = false
2025-01-04 02:25:39 +01:00
func get_debug_spawn_position() -> Vector2:
var player = get_node_or_null("/root/Main/spaceship")
if player:
return player.global_position + Vector2(randf_range(-500, 500), randf_range(-500, 500))
else:
return Vector2(randf_range(0, get_viewport().size.x), randf_range(0, get_viewport().size.y))