Refactor projectiles
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
[gd_scene load_steps=6 format=3 uid="uid://5ce7ky4o0q2e"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://dha44dnvwhajo" path="res://Textures/Projectiles/Projectile_Capricorn.png" id="1_bvyt4"]
|
||||
[ext_resource type="Script" path="res://Player/Capricorn/Attacks/CapricornLaserShot.cs" id="1_nkyy8"]
|
||||
[ext_resource type="Script" path="res://Player/Base/Projectile.cs" id="1_ovnwu"]
|
||||
[ext_resource type="AudioStream" uid="uid://bykwwct1not4e" path="res://Audio/SFX/capricorn laeser.wav" id="2_lofnw"]
|
||||
|
||||
[sub_resource type="Curve3D" id="Curve3D_bnc6v"]
|
||||
@@ -16,8 +16,9 @@ height = 7.40727
|
||||
radius = 0.419241
|
||||
|
||||
[node name="CapricornLaser" type="Node3D"]
|
||||
script = ExtResource("1_nkyy8")
|
||||
script = ExtResource("1_ovnwu")
|
||||
Cooldown = 1.0
|
||||
_projectileSpeed = 3.0
|
||||
_soundEffect = ExtResource("2_lofnw")
|
||||
|
||||
[node name="Forward Shot" type="Path3D" parent="."]
|
||||
@@ -32,7 +33,7 @@ tilt_enabled = false
|
||||
|
||||
[node name="Hitbox" type="RigidBody3D" parent="Forward Shot/PathFollow3D"]
|
||||
transform = Transform3D(-1, 0, -0.000800046, 0, 1, 0, 0.000800046, 0, -1, 0.000400023, -1, 0.5)
|
||||
collision_layer = 0
|
||||
collision_layer = 34
|
||||
collision_mask = 34
|
||||
gravity_scale = 0.0
|
||||
continuous_cd = true
|
||||
@@ -62,7 +63,7 @@ tilt_enabled = false
|
||||
|
||||
[node name="Hitbox" type="RigidBody3D" parent="Backward Shot/PathFollow3D"]
|
||||
transform = Transform3D(-1, 0, -0.000800046, 0, 1, 0, 0.000800046, 0, -1, 0.000400023, -1, 0.5)
|
||||
collision_layer = 0
|
||||
collision_layer = 34
|
||||
collision_mask = 34
|
||||
gravity_scale = 0.0
|
||||
continuous_cd = true
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[gd_scene load_steps=6 format=3 uid="uid://cdsc35cj566q1"]
|
||||
|
||||
[ext_resource type="Script" path="res://Player/Capricorn/Attacks/CapricornLaserShot.cs" id="1_8lywi"]
|
||||
[ext_resource type="Script" path="res://Player/Base/Projectile.cs" id="1_tbx8y"]
|
||||
[ext_resource type="Texture2D" uid="uid://dha44dnvwhajo" path="res://Textures/Projectiles/Projectile_Capricorn.png" id="2_8osg4"]
|
||||
[ext_resource type="AudioStream" uid="uid://bykwwct1not4e" path="res://Audio/SFX/capricorn laeser.wav" id="2_jeoco"]
|
||||
|
||||
@@ -17,10 +17,10 @@ radius = 0.419241
|
||||
|
||||
[node name="CapricornLaser" type="Node3D"]
|
||||
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0, 0, 0)
|
||||
script = ExtResource("1_8lywi")
|
||||
script = ExtResource("1_tbx8y")
|
||||
Cooldown = 1.0
|
||||
_soundEffect = ExtResource("2_jeoco")
|
||||
_projectileSpeed = 3.0
|
||||
_soundEffect = ExtResource("2_jeoco")
|
||||
|
||||
[node name="Forward Shot" type="Path3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.25)
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
using Godot;
|
||||
using Godot.Collections;
|
||||
using System.Linq;
|
||||
|
||||
public partial class CapricornLaserShot : Projectile
|
||||
{
|
||||
private Array<Path3D> _paths;
|
||||
|
||||
public new float Speed { get; private set; }
|
||||
|
||||
public override void _Ready()
|
||||
{
|
||||
Speed = _projectileSpeed;
|
||||
var sfxPlayer = GetTree().Root.GetNode<AudioStreamPlayer>("Main/SFXPlayer");
|
||||
sfxPlayer.Stream = _soundEffect;
|
||||
sfxPlayer.Play();
|
||||
_paths = new Array<Path3D>(GetChildren().OfType<Path3D>());
|
||||
}
|
||||
|
||||
public override void _PhysicsProcess(double delta)
|
||||
{
|
||||
foreach (var paths in _paths)
|
||||
{
|
||||
var pathFollow = paths.GetChildren().OfType<PathFollow3D>().Single();
|
||||
pathFollow.Progress += Speed * (float)delta;
|
||||
if (Mathf.IsEqualApprox(pathFollow.ProgressRatio, 1.0f))
|
||||
QueueFree();
|
||||
}
|
||||
}
|
||||
|
||||
private void OnBulletHitObject(Node node)
|
||||
{
|
||||
QueueFree();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user