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"]
|
[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="PackedScene" uid="uid://ddpclu2vdy2ve" path="res://scenes/player_weapons/weapon_stock.tscn" id="1_lcw6o"]
|
||||||
[ext_resource type="Script" uid="uid://7n1itonn35fm" path="res://resources/player_weapon_resources/weapon_shot.gd" id="2_by0nb"]
|
[ext_resource type="Script" uid="uid://7n1itonn35fm" path="res://scripts/weapon_shot.gd" id="2_ym48c"]
|
||||||
|
|
||||||
[resource]
|
[resource]
|
||||||
script = ExtResource("2_by0nb")
|
script = ExtResource("2_ym48c")
|
||||||
shot_name = "Stock Shot"
|
shot_name = "stock"
|
||||||
bullet_scene = ExtResource("1_by0nb")
|
bullet_scene = ExtResource("1_lcw6o")
|
||||||
|
damage = 2
|
||||||
speed = 500
|
speed = 500
|
||||||
projectiles = 3
|
|
||||||
spacing = 25.0
|
spacing = 25.0
|
||||||
origin = -12
|
origin = -12
|
||||||
horizontal_offset = 8.0
|
horizontal_offset = 7.5
|
||||||
stagger_offset = 0.35
|
stagger_offset = 0.35
|
||||||
metadata/_custom_type_script = "uid://7n1itonn35fm"
|
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://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://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="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://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/weapon_shot_spread.tres" id="9_ur7pv"]
|
[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://resources/player_weapon_resources/weapon_shot.gd" id="10_d2wvv"]
|
[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"]
|
[sub_resource type="AtlasTexture" id="AtlasTexture_tuyoq"]
|
||||||
atlas = ExtResource("5_qlg0r")
|
atlas = ExtResource("5_qlg0r")
|
||||||
|
|
@ -152,8 +153,8 @@ script = ExtResource("6_y4r1p")
|
||||||
[node name="WeaponComponent" type="Node" parent="." unique_id=1648685183]
|
[node name="WeaponComponent" type="Node" parent="." unique_id=1648685183]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
script = ExtResource("7_d2wvv")
|
script = ExtResource("7_d2wvv")
|
||||||
weapon_data = ExtResource("9_ur7pv")
|
weapon_data = ExtResource("8_stock")
|
||||||
available_weapons = Array[ExtResource("10_d2wvv")]([ExtResource("8_stock"), ExtResource("9_ur7pv")])
|
available_weapons = Array[ExtResource("10_d2wvv")]([ExtResource("8_stock"), ExtResource("11_3v2ag"), ExtResource("9_ur7pv")])
|
||||||
metadata/_custom_type_script = "uid://ylmao2ndp22y"
|
metadata/_custom_type_script = "uid://ylmao2ndp22y"
|
||||||
|
|
||||||
[connection signal="timeout" from="WeaponCooldown" to="." method="_on_weapon_cooldown_timeout"]
|
[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
|
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:
|
func get_bullet_scene() -> PackedScene:
|
||||||
return weapon_data.bullet_scene if weapon_data else null
|
return weapon_data.bullet_scene if weapon_data else null
|
||||||
|
|
||||||
func get_weapon_resource() -> Resource:
|
func get_weapon_resource() -> Resource:
|
||||||
return weapon_data
|
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():
|
if available_weapons.is_empty():
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue