]> purplebirdman git - frog-ninja.git/blob - asset/projectile/projectile.gd
Squashed commit of the following:
[frog-ninja.git] / asset / projectile / projectile.gd
1 extends Node3D
2 class_name Projectile
3
4
5 ## Linear speed of the projectile
6 @export var speed := 10.0
7
8 ## Direction the projectile will travel in
9 @export var direction: Vector3:
10         set(v):
11                 model.last_movement_vector  = v
12         get:
13                 return model.last_movement_vector
14
15 ## Maximum distance from the origin point that the projectile will travel
16 @export var max_range := 30.0
17
18 ## Weapon which emitted the projectile
19 var weapon: Weapon
20
21 ## Collision layer for projectile
22 var collision_layer: int:
23         set(c):
24                 model.collision_layer = c
25         get:
26                 return model.collision_layer
27                 
28
29 ## Collision mask for projectile
30 var collision_mask: int:
31         set(c):
32                 model.collision_mask = c
33         get:
34                 return model.collision_mask
35
36
37 @onready var model: ProjectileModel = $Model
38
39
40 func _process(delta: float) -> void:
41         model.update(delta)