Update weapon resources, default weapon loaded; implemented call weapon
by name.
This commit is contained in:
parent
cf172bc546
commit
d0664a87fa
8 changed files with 69 additions and 30 deletions
|
|
@ -1,16 +1,16 @@
|
|||
[gd_resource type="Resource" script_class="WeaponShot" format=3 uid="uid://b75ae840k03dy"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://ddpclu2vdy2ve" path="res://scenes/player_weapons/weapon_stock.tscn" id="1_by0nb"]
|
||||
[ext_resource type="Script" uid="uid://7n1itonn35fm" path="res://resources/player_weapon_resources/weapon_shot.gd" id="2_by0nb"]
|
||||
[ext_resource type="PackedScene" uid="uid://ddpclu2vdy2ve" path="res://scenes/player_weapons/weapon_stock.tscn" id="1_lcw6o"]
|
||||
[ext_resource type="Script" uid="uid://7n1itonn35fm" path="res://scripts/weapon_shot.gd" id="2_ym48c"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("2_by0nb")
|
||||
shot_name = "Stock Shot"
|
||||
bullet_scene = ExtResource("1_by0nb")
|
||||
script = ExtResource("2_ym48c")
|
||||
shot_name = "stock"
|
||||
bullet_scene = ExtResource("1_lcw6o")
|
||||
damage = 2
|
||||
speed = 500
|
||||
projectiles = 3
|
||||
spacing = 25.0
|
||||
origin = -12
|
||||
horizontal_offset = 8.0
|
||||
horizontal_offset = 7.5
|
||||
stagger_offset = 0.35
|
||||
metadata/_custom_type_script = "uid://7n1itonn35fm"
|
||||
17
resources/player_weapon_resources/tri.tres
Normal file
17
resources/player_weapon_resources/tri.tres
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
[gd_resource type="Resource" script_class="WeaponShot" format=3 uid="uid://cck3gmnhu5agc"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://clpyd8qfwthk2" path="res://scenes/player_weapons/weapon_spreadshot.tscn" id="1_07hyh"]
|
||||
[ext_resource type="Script" uid="uid://7n1itonn35fm" path="res://scripts/weapon_shot.gd" id="2_syw6j"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("2_syw6j")
|
||||
shot_name = "vanguard"
|
||||
bullet_scene = ExtResource("1_07hyh")
|
||||
damage = 3
|
||||
speed = 450
|
||||
projectiles = 3
|
||||
spacing = 30.0
|
||||
origin = -15
|
||||
horizontal_offset = 8.5
|
||||
stagger_offset = 0.2
|
||||
metadata/_custom_type_script = "uid://7n1itonn35fm"
|
||||
17
resources/player_weapon_resources/vanguard.tres
Normal file
17
resources/player_weapon_resources/vanguard.tres
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
[gd_resource type="Resource" script_class="WeaponShot" format=3 uid="uid://bhc6aja38vyr"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://clpyd8qfwthk2" path="res://scenes/player_weapons/weapon_spreadshot.tscn" id="1_hm46f"]
|
||||
[ext_resource type="Script" uid="uid://7n1itonn35fm" path="res://scripts/weapon_shot.gd" id="2_w7xlm"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("2_w7xlm")
|
||||
shot_name = "vanguard"
|
||||
bullet_scene = ExtResource("1_hm46f")
|
||||
damage = 5
|
||||
speed = 500
|
||||
projectiles = 5
|
||||
spacing = 30.0
|
||||
origin = -15
|
||||
horizontal_offset = 8.5
|
||||
stagger_offset = 0.2
|
||||
metadata/_custom_type_script = "uid://7n1itonn35fm"
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
[gd_resource type="Resource" script_class="WeaponShot" format=3 uid="uid://bhc6aja38vyr"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://ddpclu2vdy2ve" path="res://scenes/player_weapons/weapon_stock.tscn" id="1_bullet"]
|
||||
[ext_resource type="Script" uid="uid://7n1itonn35fm" path="res://resources/player_weapon_resources/weapon_shot.gd" id="2_script"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("2_script")
|
||||
shot_name = "Spread Shot"
|
||||
bullet_scene = ExtResource("1_bullet")
|
||||
damage = 1
|
||||
speed = 450
|
||||
projectiles = 5
|
||||
spacing = 30.0
|
||||
origin = -15
|
||||
horizontal_offset = 10.0
|
||||
stagger_offset = 0.2
|
||||
metadata/_custom_type_script = "uid://7n1itonn35fm"
|
||||
|
|
@ -8,9 +8,10 @@
|
|||
[ext_resource type="Script" uid="uid://c0rikbakpcags" path="res://scripts/movement_component.gd" id="5_ur7pv"]
|
||||
[ext_resource type="Script" uid="uid://suynuijl68qp" path="res://scripts/shoot_component.gd" id="6_y4r1p"]
|
||||
[ext_resource type="Script" uid="uid://ylmao2ndp22y" path="res://scripts/weapon_component.gd" id="7_d2wvv"]
|
||||
[ext_resource type="Resource" uid="uid://b75ae840k03dy" path="res://resources/player_weapon_resources/weapon_shot_stock.tres" id="8_stock"]
|
||||
[ext_resource type="Resource" uid="uid://bhc6aja38vyr" path="res://resources/player_weapon_resources/weapon_shot_spread.tres" id="9_ur7pv"]
|
||||
[ext_resource type="Script" uid="uid://7n1itonn35fm" path="res://resources/player_weapon_resources/weapon_shot.gd" id="10_d2wvv"]
|
||||
[ext_resource type="Resource" uid="uid://b75ae840k03dy" path="res://resources/player_weapon_resources/stock.tres" id="8_stock"]
|
||||
[ext_resource type="Resource" uid="uid://bhc6aja38vyr" path="res://resources/player_weapon_resources/vanguard.tres" id="9_ur7pv"]
|
||||
[ext_resource type="Script" uid="uid://7n1itonn35fm" path="res://scripts/weapon_shot.gd" id="10_d2wvv"]
|
||||
[ext_resource type="Resource" uid="uid://cck3gmnhu5agc" path="res://resources/player_weapon_resources/tri.tres" id="11_3v2ag"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_tuyoq"]
|
||||
atlas = ExtResource("5_qlg0r")
|
||||
|
|
@ -152,8 +153,8 @@ script = ExtResource("6_y4r1p")
|
|||
[node name="WeaponComponent" type="Node" parent="." unique_id=1648685183]
|
||||
unique_name_in_owner = true
|
||||
script = ExtResource("7_d2wvv")
|
||||
weapon_data = ExtResource("9_ur7pv")
|
||||
available_weapons = Array[ExtResource("10_d2wvv")]([ExtResource("8_stock"), ExtResource("9_ur7pv")])
|
||||
weapon_data = ExtResource("8_stock")
|
||||
available_weapons = Array[ExtResource("10_d2wvv")]([ExtResource("8_stock"), ExtResource("11_3v2ag"), ExtResource("9_ur7pv")])
|
||||
metadata/_custom_type_script = "uid://ylmao2ndp22y"
|
||||
|
||||
[connection signal="timeout" from="WeaponCooldown" to="." method="_on_weapon_cooldown_timeout"]
|
||||
|
|
|
|||
|
|
@ -5,13 +5,34 @@ class_name WeaponComponent extends Node
|
|||
|
||||
var _current_weapon_index: int = 0
|
||||
|
||||
func _ready() -> void:
|
||||
|
||||
# Set the default weapon to be stock, i.e. index 1
|
||||
if weapon_data and not available_weapons.is_empty():
|
||||
for i in range(available_weapons.size()):
|
||||
if available_weapons[i] == weapon_data:
|
||||
_current_weapon_index = i
|
||||
return
|
||||
|
||||
|
||||
func get_bullet_scene() -> PackedScene:
|
||||
return weapon_data.bullet_scene if weapon_data else null
|
||||
|
||||
func get_weapon_resource() -> Resource:
|
||||
return weapon_data
|
||||
|
||||
func cycle_weapon() -> void:
|
||||
func select_weapon_by_name(name: String) -> bool:
|
||||
for i in range(available_weapons.size()):
|
||||
if available_weapons[i].shot_name == name:
|
||||
_current_weapon_index = i
|
||||
weapon_data = available_weapons[i]
|
||||
print("Switched to: ", name)
|
||||
return true
|
||||
return false
|
||||
|
||||
|
||||
|
||||
func cycle_weapon() -> void: # Used for testing weapon cycling
|
||||
if available_weapons.is_empty():
|
||||
return
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue