inching towards better class inheritence and multiplayer compatibility
This commit is contained in:
26
Scenes/Weapons/hitscan_weapon.tscn
Normal file
26
Scenes/Weapons/hitscan_weapon.tscn
Normal file
@ -0,0 +1,26 @@
|
||||
[gd_scene load_steps=4 format=3 uid="uid://difwo7wlyqr3h"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://b7nargdyg28fj" path="res://Scenes/Weapons/weapon.tscn" id="1_s865l"]
|
||||
[ext_resource type="Script" path="res://Scripts/Weapons/hitscan_weapon.gd" id="2_nyich"]
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_1ucq4"]
|
||||
transparency = 1
|
||||
cull_mode = 1
|
||||
shading_mode = 0
|
||||
albedo_color = Color(1, 0, 0.415686, 0.223529)
|
||||
|
||||
[node name="HitscanWeapon" node_paths=PackedStringArray("raycast", "range_debug_indicator") instance=ExtResource("1_s865l")]
|
||||
script = ExtResource("2_nyich")
|
||||
raycast = NodePath("RayCast3D")
|
||||
range_debug_indicator = NodePath("CSGSphere3D")
|
||||
|
||||
[node name="RayCast3D" type="RayCast3D" parent="." index="2"]
|
||||
target_position = Vector3(0, 0, -1)
|
||||
collision_mask = 4
|
||||
|
||||
[node name="CSGSphere3D" type="CSGSphere3D" parent="." index="3"]
|
||||
visible = false
|
||||
radius = 4.104
|
||||
radial_segments = 16
|
||||
rings = 16
|
||||
material = SubResource("StandardMaterial3D_1ucq4")
|
8
Scenes/Weapons/projectile_weapon.tscn
Normal file
8
Scenes/Weapons/projectile_weapon.tscn
Normal file
@ -0,0 +1,8 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://bqdllitxbbpyp"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://b7nargdyg28fj" path="res://Scenes/Weapons/weapon.tscn" id="1_nbhwa"]
|
||||
[ext_resource type="Script" path="res://Scripts/Weapons/projectile_weapon.gd" id="2_5ekyi"]
|
||||
|
||||
[node name="ProjectileWeapon" instance=ExtResource("1_nbhwa")]
|
||||
script = ExtResource("2_5ekyi")
|
||||
projectile_scene = null
|
8
Scenes/Weapons/status_applying_weapon.tscn
Normal file
8
Scenes/Weapons/status_applying_weapon.tscn
Normal file
@ -0,0 +1,8 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://nrdexcyatika"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://difwo7wlyqr3h" path="res://Scenes/Weapons/hitscan_weapon.tscn" id="1_uolyx"]
|
||||
[ext_resource type="Script" path="res://Scripts/Weapons/status_applying_weapon.gd" id="2_iq7bw"]
|
||||
|
||||
[node name="StatusApplyingWeapon" instance=ExtResource("1_uolyx")]
|
||||
script = ExtResource("2_iq7bw")
|
||||
status_stats = null
|
54
Scenes/Weapons/weapon.tscn
Normal file
54
Scenes/Weapons/weapon.tscn
Normal file
@ -0,0 +1,54 @@
|
||||
[gd_scene load_steps=5 format=3 uid="uid://b7nargdyg28fj"]
|
||||
|
||||
[ext_resource type="Script" path="res://Scripts/Weapons/weapon.gd" id="1_yo2gh"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_5krlx"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Sprite3D:texture:region")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Rect2(0, 0, 64, 64)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_0rgpe"]
|
||||
resource_name = "shoot"
|
||||
length = 0.15
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Sprite3D:texture:region")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.15),
|
||||
"transitions": PackedFloat32Array(0, 0),
|
||||
"update": 0,
|
||||
"values": [Rect2(64, 0, 64, 64), Rect2(0, 0, 64, 64)]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_fs82p"]
|
||||
_data = {
|
||||
"RESET": SubResource("Animation_5krlx"),
|
||||
"shoot": SubResource("Animation_0rgpe")
|
||||
}
|
||||
|
||||
[node name="Weapon" type="Node3D" node_paths=PackedStringArray("animator")]
|
||||
script = ExtResource("1_yo2gh")
|
||||
animator = NodePath("AnimationPlayer")
|
||||
|
||||
[node name="Sprite3D" type="Sprite3D" parent="."]
|
||||
layers = 2
|
||||
billboard = 1
|
||||
texture_filter = 0
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
libraries = {
|
||||
"": SubResource("AnimationLibrary_fs82p")
|
||||
}
|
Reference in New Issue
Block a user