34 lines
964 B
GDScript
34 lines
964 B
GDScript
class_name WeaponComponent extends Node
|
|
|
|
enum WeaponType {
|
|
STOCK,
|
|
NONE,
|
|
}
|
|
|
|
@export_enum("STOCK", "NONE") var loaded_weapon: int = WeaponType.STOCK
|
|
|
|
var data: WeaponShot = load("res://resources/player_weapon_resources/weapon_shot_stock.tres")
|
|
|
|
func get_bullet_scene() -> PackedScene:
|
|
if loaded_weapon == WeaponType.STOCK:
|
|
return preload("res://scenes/player_weapons/weapon_stock.tscn")
|
|
else:
|
|
return null
|
|
|
|
func get_weapon_resource() -> Resource:
|
|
var weapon_resource_path: String
|
|
|
|
if loaded_weapon == WeaponType.STOCK:
|
|
weapon_resource_path = "res://resources/player_weapon_resources/weapon_shot_stock.tres"
|
|
data = load(weapon_resource_path)
|
|
return data
|
|
else:
|
|
return null
|
|
|
|
|
|
#var data : WeaponShot = load("res://resources/player_weapon_resources/weapon_shot_stock.tres")
|
|
|
|
|
|
|
|
#func get_bullet_scene() -> PackedScene:
|
|
#return data.weapon_shot # Reference to the Shot scene from the resource
|