From 53622401207d38ae8bc8351c2da3d12a4b451786 Mon Sep 17 00:00:00 2001 From: Steven Long Date: Thu, 7 Sep 2023 23:28:00 -0700 Subject: [PATCH] Re-enable collisions --- Enemies/Attacks/EnemyBullet.cs | 17 +++++++++++++++++ Enemies/Attacks/EnemyBullet.tscn | 2 +- Enemies/Attacks/FireAtPlayer.cs | 7 +------ Player/Base/Projectile.cs | 9 +++++---- Player/Capricorn/Capricorn.tscn | 14 +------------- Player/Pisces/Pisces.tscn | 25 +++++-------------------- Player/Sagittarius/Sagittarius.tscn | 20 ++------------------ Player/Scorpio/Scorpio.tscn | 19 +++---------------- project.godot | 1 + 9 files changed, 36 insertions(+), 78 deletions(-) diff --git a/Enemies/Attacks/EnemyBullet.cs b/Enemies/Attacks/EnemyBullet.cs index 304e797..8f31e5f 100644 --- a/Enemies/Attacks/EnemyBullet.cs +++ b/Enemies/Attacks/EnemyBullet.cs @@ -7,4 +7,21 @@ public partial class EnemyBullet : Projectile { TranslateObjectLocal(new Vector3(0, 0, -Speed * (float)delta)); } + + public new void OnProjectileHit(Node node) + { + SetPhysicsProcess(false); + _hitBox.QueueFree(); + + if (node is Character character && character.HasMethod(Character.MethodName.OnHit)) + { + GD.Print("Player hit: " + character.Name); + character.Call(Character.MethodName.OnHit, node); + } + + + var sfxPlayer = GetTree().Root.GetNode("Main/SFXPlayer"); + if (!sfxPlayer.Playing) + sfxPlayer.Play(); + } } diff --git a/Enemies/Attacks/EnemyBullet.tscn b/Enemies/Attacks/EnemyBullet.tscn index a16f849..8b822f7 100644 --- a/Enemies/Attacks/EnemyBullet.tscn +++ b/Enemies/Attacks/EnemyBullet.tscn @@ -18,7 +18,7 @@ _hitBox = NodePath("RigidBody3D") [node name="RigidBody3D" type="RigidBody3D" parent="."] collision_layer = 0 -collision_mask = 0 +collision_mask = 2 gravity_scale = 0.0 custom_integrator = true continuous_cd = true diff --git a/Enemies/Attacks/FireAtPlayer.cs b/Enemies/Attacks/FireAtPlayer.cs index 5a924d1..352cb05 100644 --- a/Enemies/Attacks/FireAtPlayer.cs +++ b/Enemies/Attacks/FireAtPlayer.cs @@ -1,5 +1,5 @@ -using Godot; using System.Linq; +using Godot; public partial class FireAtPlayer : Timer { @@ -21,9 +21,4 @@ public partial class FireAtPlayer : Timer GetParent().AddChild(projectile); } } - - private void OnDied() - { - Stop(); - } } diff --git a/Player/Base/Projectile.cs b/Player/Base/Projectile.cs index 187defa..fa0623d 100644 --- a/Player/Base/Projectile.cs +++ b/Player/Base/Projectile.cs @@ -41,13 +41,14 @@ public partial class Projectile : Node3D SetProcess(false); if (node.GetParent() is BasicEnemy basicEnemy && basicEnemy.HasMethod(BasicEnemy.MethodName.OnEnemyHit)) basicEnemy.Call(BasicEnemy.MethodName.OnEnemyHit, node); - else - GD.Print("Hit something other than enemy: " + node.GetParent().Name); + else + GD.Print("Hit something other than enemy: " + node.Name); + _hitBox.QueueFree(); - + var sfxPlayer = GetTree().Root.GetNode("Main/SFXPlayer"); if (!sfxPlayer.Playing) - sfxPlayer.Play(); + sfxPlayer.Play(); } public float Speed { get; private set; } diff --git a/Player/Capricorn/Capricorn.tscn b/Player/Capricorn/Capricorn.tscn index c95ad15..b0baa26 100644 --- a/Player/Capricorn/Capricorn.tscn +++ b/Player/Capricorn/Capricorn.tscn @@ -216,7 +216,7 @@ size = Vector3(0.856928, 1.65704, 0.82877) [node name="Capricorn" type="CharacterBody3D" groups=["Player"]] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.408962, 0) -collision_layer = 0 +collision_layer = 2 motion_mode = 1 script = ExtResource("1_aqn5t") _fireProjectile = ExtResource("3_wbhxk") @@ -234,15 +234,3 @@ animation = &"WalkSide" [node name="CollisionShape3D" type="CollisionShape3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.41651, 0) shape = SubResource("BoxShape3D_r4spg") - -[node name="Area3D" type="Area3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.75657e-15, 1.43031, 0) -disable_mode = 2 -collision_layer = 0 -collision_mask = 0 - -[node name="CollisionShape3D" type="CollisionShape3D" parent="Area3D"] -transform = Transform3D(0.999665, -0.0258978, -7.10543e-15, 0.0258978, 0.999665, 0, 0, 0, 1, 0, 0, 0) -shape = SubResource("BoxShape3D_r4spg") - -[connection signal="body_entered" from="Area3D" to="." method="OnHit" flags=18] diff --git a/Player/Pisces/Pisces.tscn b/Player/Pisces/Pisces.tscn index a11a688..1fe7765 100644 --- a/Player/Pisces/Pisces.tscn +++ b/Player/Pisces/Pisces.tscn @@ -1,20 +1,16 @@ -[gd_scene load_steps=7 format=3 uid="uid://b38hcomu4tpm5"] +[gd_scene load_steps=6 format=3 uid="uid://b38hcomu4tpm5"] [ext_resource type="Script" path="res://Player/Base/Character.cs" id="1_gp8nm"] [ext_resource type="PackedScene" uid="uid://cyn2wn6ffsnu7" path="res://Player/Pisces/Attacks/Single.tscn" id="2_rsvhh"] [ext_resource type="PackedScene" uid="uid://bq40xbqibrk1y" path="res://Player/Pisces/Attacks/ShotgunBullet.tscn" id="3_5m8tq"] [ext_resource type="PackedScene" uid="uid://yosw0j58nvrf" path="res://Player/Pisces/Models/fwitch.gltf" id="4_d60j6"] -[sub_resource type="BoxShape3D" id="BoxShape3D_xynge"] -size = Vector3(3.04879, 3.92906, 2.56521) - -[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_fqik1"] -radius = 0.704872 -height = 1.67894 +[sub_resource type="BoxShape3D" id="BoxShape3D_sf0h3"] +size = Vector3(1.52195, 15.0934, 1) [node name="Pisces" type="CharacterBody3D" groups=["Player"]] transform = Transform3D(0.33, 0, 0, 0, 0.33, 0, 0, 0, 0.33, 0, 0.332056, 0) -collision_layer = 0 +collision_layer = 2 motion_mode = 1 script = ExtResource("1_gp8nm") _fireProjectile = ExtResource("2_rsvhh") @@ -24,17 +20,6 @@ _altFireProjectile = ExtResource("3_5m8tq") [node name="fwitch" parent="Pivot" instance=ExtResource("4_d60j6")] -[node name="Area3D" type="Area3D" parent="Pivot"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.75657e-15, 0, 0) -collision_layer = 0 -collision_mask = 0 - -[node name="CollisionShape3D" type="CollisionShape3D" parent="Pivot/Area3D"] -transform = Transform3D(0.999665, -0.0258978, -7.10543e-15, 0.0258978, 0.999665, 0, 0, 0, 1, 0.0162379, 2.20309, -0.302385) -shape = SubResource("BoxShape3D_xynge") - [node name="CollisionShape3D" type="CollisionShape3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.06805, -0.211049) -shape = SubResource("CapsuleShape3D_fqik1") - -[connection signal="body_entered" from="Pivot/Area3D" to="." method="OnHit"] +shape = SubResource("BoxShape3D_sf0h3") diff --git a/Player/Sagittarius/Sagittarius.tscn b/Player/Sagittarius/Sagittarius.tscn index fcd2387..8c64ee7 100644 --- a/Player/Sagittarius/Sagittarius.tscn +++ b/Player/Sagittarius/Sagittarius.tscn @@ -1,12 +1,8 @@ -[gd_scene load_steps=28 format=3 uid="uid://bgkqfamdiwrrw"] +[gd_scene load_steps=27 format=3 uid="uid://bgkqfamdiwrrw"] [ext_resource type="Script" path="res://Player/Base/Character.cs" id="1_s1hsr"] [ext_resource type="PackedScene" uid="uid://criqb4bokctlr" path="res://Player/Sagittarius/Attacks/MegamiBeam.tscn" id="2_c3ma7"] -[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_b4i03"] -radius = 0.507139 -height = 4.172 - [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ru85r"] resource_name = "Material.006" cull_mode = 2 @@ -607,8 +603,7 @@ radius = 0.25 [node name="Sagittarius" type="CharacterBody3D" groups=["Player"]] transform = Transform3D(0.9, 0, 0, 0, 0.9, 0, 0, 0, 0.9, 0, 0.559088, 0) -collision_layer = 0 -collision_mask = 0 +collision_layer = 2 motion_mode = 1 wall_min_slide_angle = 3.14159 script = ExtResource("1_s1hsr") @@ -617,15 +612,6 @@ _altFireProjectile = ExtResource("2_c3ma7") [node name="Pivot" type="Node3D" parent="."] -[node name="Area3D" type="Area3D" parent="Pivot"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.75657e-15, 0, 0) -collision_layer = 0 -collision_mask = 0 - -[node name="CollisionShape3D" type="CollisionShape3D" parent="Pivot/Area3D"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.125003, 0.637504, 0.112771) -shape = SubResource("CapsuleShape3D_b4i03") - [node name="Plane" type="MeshInstance3D" parent="Pivot"] transform = Transform3D(0.00858108, 0.00109693, 0.00129912, 0, 0.00668392, -0.00564368, -0.00170029, 0.00553605, 0.00655646, -0.0019175, 1.25172, -0.0537346) mesh = SubResource("ArrayMesh_28v15") @@ -634,5 +620,3 @@ skeleton = NodePath("") [node name="CollisionShape3D" type="CollisionShape3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.125003, 0.637504, 0.112771) shape = SubResource("CylinderShape3D_wx62l") - -[connection signal="body_entered" from="Pivot/Area3D" to="." method="OnHit"] diff --git a/Player/Scorpio/Scorpio.tscn b/Player/Scorpio/Scorpio.tscn index 89b54ba..c6faf22 100644 --- a/Player/Scorpio/Scorpio.tscn +++ b/Player/Scorpio/Scorpio.tscn @@ -1,20 +1,16 @@ -[gd_scene load_steps=7 format=3 uid="uid://iempdafdn6ct"] +[gd_scene load_steps=6 format=3 uid="uid://iempdafdn6ct"] [ext_resource type="Script" path="res://Player/Base/Character.cs" id="1_gw30u"] [ext_resource type="PackedScene" uid="uid://dyhimd6qec8fu" path="res://Player/Scorpio/Models/ScorpioAnimated.tscn" id="2_pahgr"] [ext_resource type="PackedScene" uid="uid://cxnek5wgpxbft" path="res://Player/Scorpio/Attacks/CutterShot.tscn" id="2_uayjr"] [ext_resource type="PackedScene" uid="uid://cwt4rum7tvyvb" path="res://Player/Scorpio/Attacks/CutterShotAltFire.tscn" id="3_tw078"] -[sub_resource type="BoxShape3D" id="BoxShape3D_wqp0e"] -size = Vector3(0.822782, 0.881451, 0.80108) - [sub_resource type="BoxShape3D" id="BoxShape3D_f8aaj"] -size = Vector3(0.822782, 0.853857, 0.80108) +size = Vector3(0.8, 3, 0.8) [node name="Scorpio" type="CharacterBody3D" groups=["Player"]] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.55696, 0) -collision_layer = 0 -collision_mask = 0 +collision_layer = 2 motion_mode = 1 slide_on_ceiling = false script = ExtResource("1_gw30u") @@ -24,17 +20,8 @@ _altFireProjectile = ExtResource("3_tw078") [node name="Pivot" type="Node3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.496155, 0) -[node name="Area3D" type="Area3D" parent="Pivot"] -collision_layer = 0 -collision_mask = 0 - -[node name="CollisionShape3D" type="CollisionShape3D" parent="Pivot/Area3D"] -shape = SubResource("BoxShape3D_wqp0e") - [node name="scoprion" parent="Pivot" instance=ExtResource("2_pahgr")] [node name="CollisionShape3D" type="CollisionShape3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.506071, 0) shape = SubResource("BoxShape3D_f8aaj") - -[connection signal="body_entered" from="Pivot/Area3D" to="." method="OnHit"] diff --git a/project.godot b/project.godot index a5c34ad..63616d9 100644 --- a/project.godot +++ b/project.godot @@ -123,6 +123,7 @@ p2_altfire={ [layer_names] 3d_physics/layer_1="LevelGeometry" +3d_physics/layer_2="EnemyProjectile" [physics]