Set up power up spawner to test weapon collection functions.
This commit is contained in:
parent
3ec8cb8095
commit
8fe05e0c70
8 changed files with 156 additions and 2 deletions
|
|
@ -5,6 +5,7 @@ class_name Player extends Area2D
|
|||
@onready var movement_component: MovementComponent = %MovementComponent
|
||||
@onready var shoot_component: ShootComponent = %ShootComponent
|
||||
@onready var weapon_component: WeaponComponent = %WeaponComponent
|
||||
@onready var powerup_spawner := _find_powerup_spawner()
|
||||
|
||||
# Get the viewport size for positioning
|
||||
@onready var screensize = get_viewport().content_scale_size
|
||||
|
|
@ -55,3 +56,20 @@ func _process(delta) -> void:
|
|||
if input_component.cycle_weapon:
|
||||
weapon_component.cycle_weapon()
|
||||
$EffectsComponent.apply_effect(flash_effect)
|
||||
|
||||
func _on_help_box_area_entered(area: Area2D) -> void:
|
||||
# Check if the colliding area is a powerup pickup.
|
||||
if not area.has_meta("weapon_shot"):
|
||||
return
|
||||
var weapon_shot: WeaponShot = area.get_meta("weapon_shot")
|
||||
weapon_component.collect_weapon(weapon_shot)
|
||||
powerup_spawner.pickup_collected()
|
||||
area.queue_free()
|
||||
|
||||
|
||||
func _find_powerup_spawner() -> PowerUpSpawner:
|
||||
# The spawner is a sibling under Level — find it by searching parent.
|
||||
var level: Node2D = get_parent() as Node2D
|
||||
if level == null:
|
||||
return null
|
||||
return level.get_node_or_null("PowerupSpawner") as PowerUpSpawner
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue