diff --git a/base/scripts/weapons/barrel.gd b/base/scripts/weapons/barrel.gd new file mode 100644 index 0000000..1d7904a --- /dev/null +++ b/base/scripts/weapons/barrel.gd @@ -0,0 +1,6 @@ +extends Node3D + +class_name Barrel + +func can_fire() -> bool: + return true diff --git a/base/scripts/weapons/barrel.gd.uid b/base/scripts/weapons/barrel.gd.uid new file mode 100644 index 0000000..a954a2c --- /dev/null +++ b/base/scripts/weapons/barrel.gd.uid @@ -0,0 +1 @@ +uid://bvurg687pt06s diff --git a/base/scripts/weapons/fire_mode/base_fire_mode.gd b/base/scripts/weapons/fire_mode/base_fire_mode.gd new file mode 100644 index 0000000..96d1458 --- /dev/null +++ b/base/scripts/weapons/fire_mode/base_fire_mode.gd @@ -0,0 +1,24 @@ +extends Resource + +## Base class for all fire modes +class_name BaseFireMode + +## Assigned barrel to shoot out of +var barrel : Barrel + + +## Fires projectile out of barrel [br] +## Returns [color=green]true[/color] if barrel can shoot,[br] +## Returns [color=red]false[/color] if barrel cannot shoot +func _fire() -> bool: + return true + + +## Invoked when fire button is just pressed or reload ended while fire button is still pressed +func _on_fire_begin() -> void: + pass + + +## Invoked when fire button is just released or reload started while fire button is still pressed +func _on_fire_end() -> void: + pass diff --git a/base/scripts/weapons/fire_mode/base_fire_mode.gd.uid b/base/scripts/weapons/fire_mode/base_fire_mode.gd.uid new file mode 100644 index 0000000..0d5852f --- /dev/null +++ b/base/scripts/weapons/fire_mode/base_fire_mode.gd.uid @@ -0,0 +1 @@ +uid://icsatakb034w