Fixed weapons scenes inheritance
This commit is contained in:
@@ -5,14 +5,16 @@ extends Node2D
|
||||
enum Belonging { PLAYER, ENEMY }
|
||||
|
||||
|
||||
@export var belonging: Belonging
|
||||
@export_range(1, 100) var bullet_per_shot : int = 1
|
||||
@export_range(0, 360) var sector_angle : int
|
||||
|
||||
@export var bullet_per_shot : int = 1
|
||||
@export var sector_angle : int = 0
|
||||
@export var Projectile : PackedScene
|
||||
@export var reloaders : Array[AbstractReloader]
|
||||
|
||||
|
||||
var belonging: Belonging
|
||||
|
||||
|
||||
var _reloaders : Array[AbstractReloader]
|
||||
|
||||
|
||||
@@ -26,28 +28,31 @@ func _physics_process(delta: float) -> void:
|
||||
reloader.process(delta)
|
||||
|
||||
|
||||
func shoot() -> void:
|
||||
func shoot(ship_velocity: Vector2) -> void:
|
||||
if not _can_shoot(): return
|
||||
|
||||
for i in range(bullet_per_shot):
|
||||
var projectile := _create_projectile()
|
||||
var projectile := _create_projectile(ship_velocity)
|
||||
get_tree().current_scene.add_child(projectile)
|
||||
|
||||
for reloader in _reloaders:
|
||||
reloader.shoot()
|
||||
|
||||
|
||||
func _create_projectile() -> Node:
|
||||
var projectile := Projectile.instantiate()
|
||||
func _create_projectile(ship_velocity: Vector2) -> Node:
|
||||
var projectile : AbstractProjectile = Projectile.instantiate()
|
||||
projectile.global_position = global_position
|
||||
projectile.ship_velocity = ship_velocity
|
||||
|
||||
match belonging:
|
||||
Belonging.PLAYER:
|
||||
projectile.direction = Vector2.RIGHT
|
||||
projectile.collide_enemies = true
|
||||
projectile.rotation_degrees = 90
|
||||
Belonging.ENEMY:
|
||||
projectile.direction = Vector2.LEFT
|
||||
projectile.collide_player = true
|
||||
projectile.rotation_degrees = -90
|
||||
|
||||
if sector_angle > 0:
|
||||
var sector_rad := deg_to_rad(sector_angle)
|
||||
|
||||
Reference in New Issue
Block a user