Set up a revised player scene with a component based apparoach; shooting
functionality incomplete.
This commit is contained in:
parent
8d89271074
commit
9b3841775c
13 changed files with 331 additions and 0 deletions
33
scripts/player_revision.gd
Normal file
33
scripts/player_revision.gd
Normal 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
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue