Set up a revised player scene with a component based apparoach; shooting

functionality incomplete.
This commit is contained in:
Henry 2026-04-06 01:30:53 +01:00
parent 8d89271074
commit 9b3841775c
13 changed files with 331 additions and 0 deletions

View file

@ -0,0 +1,33 @@
class_name Player extends Area2D
@onready var input_component: InputComponent = %InputComponent
@onready var movement_component: MovementComponent = %MovementComponent
@onready var shoot_component: ShootComponent = %ShootComponent
@onready var weapon_component: WeaponComponent = %WeaponComponent
@export var can_shoot: bool = true
@export var is_shooting: bool = false
var previous_position: Vector2
var ship_displacement: float
var travel: float = 0
func _process(delta) -> void:
# Read Controls
input_component.update()
# Read Movement Component
movement_component.input = input_component.move_dir
movement_component.tick(delta)
# Set up shooting
if input_component.shooting:
is_shooting = true
if travel > weapon_component.bullet_data.projectile_spacing:
shoot_component.shoot()
travel -= weapon_component.bullet_data.projectile_spacing
else: is_shooting = false