FuncIt/source/assets/scripts/shooting/Gun_.gd
2021-11-09 10:13:47 +02:00

35 lines
1.1 KiB
GDScript

extends AnimatedSprite
var trajectory:String = 'line'
var bullet_trajectory = {
'line' : preload("res://source/entities/shooting/Line_Trajectory/Line_Env.tscn"),
'sine' : preload("res://source/entities/shooting/Sine_Trajectory/Sine_Env.tscn"),
'parab' : preload("res://source/entities/shooting/Parabolic_Trajectory/Parabolic_Env.tscn"),
'hyper' : preload("res://source/entities/shooting/Hyperbolic_Trajectory/Hyperbolic_Env.tscn")
}
func choose_trajectory():
if Input.is_action_just_pressed("line"):
trajectory = 'line'
elif Input.is_action_just_pressed("sine"):
trajectory = 'sine'
elif Input.is_action_just_pressed("parab"):
trajectory = 'parab'
elif Input.is_action_just_pressed("hyper"):
trajectory = 'hyper'
func shoot(trajectory:String):
var bullet = bullet_trajectory[trajectory].instance()
get_parent().get_parent().get_parent().add_child(bullet)
bullet.global_position = $Position2D.global_position
bullet.global_rotation = $Position2D.global_rotation
pass
func _process(delta):
choose_trajectory()
if Input.is_action_just_pressed("input_shoot"):
shoot(trajectory)