From 4d0b0196e6132fc0ab52ad41c8929104f3c7a361 Mon Sep 17 00:00:00 2001 From: Zenny Date: Mon, 4 Sep 2023 15:02:17 -0700 Subject: [PATCH] sum fixes --- Scenes/Levels/Level1.tscn | 11 ++++------- Scenes/MeleeEnemyOrb.tscn | 5 ++--- Scenes/RangedEnemy.tscn | 4 ++-- Scenes/StageGUI.tscn | 19 ------------------- Scenes/Weapons/EnemyBullet.tscn | 5 +++++ Scenes/Weapons/Single.tscn | 7 +++++++ Scenes/Weapons/SingleShot.tscn | 1 + Scripts/BasicEnemy.cs | 20 ++++++++++++++++++++ Scripts/GameManager.cs | 14 +++++++++++++- Scripts/Level.cs | 6 ++++++ Scripts/MeleeEnemy.cs | 16 +--------------- Scripts/RangedEnemy.cs | 5 ----- 12 files changed, 61 insertions(+), 52 deletions(-) create mode 100644 Scripts/BasicEnemy.cs create mode 100644 Scripts/Level.cs diff --git a/Scenes/Levels/Level1.tscn b/Scenes/Levels/Level1.tscn index 79dcc8b..190d8e8 100644 --- a/Scenes/Levels/Level1.tscn +++ b/Scenes/Levels/Level1.tscn @@ -1,7 +1,6 @@ -[gd_scene load_steps=7 format=3 uid="uid://dqv03pua4j8ga"] +[gd_scene load_steps=6 format=3 uid="uid://dqv03pua4j8ga"] [ext_resource type="Script" path="res://Scripts/AreaExit.cs" id="1_owv8t"] -[ext_resource type="PackedScene" uid="uid://bt5rolsyjmx55" path="res://Scenes/MeleeEnemyOrb.tscn" id="5_dqbra"] [ext_resource type="PackedScene" uid="uid://bnn68u04ktmas" path="res://Levels/Final Levels/Stage1/Stage1Fix.tscn" id="6_60jd6"] [ext_resource type="PackedScene" uid="uid://jgf7k1r35km1" path="res://Scenes/ExitPortal.tscn" id="6_gegi6"] [ext_resource type="PackedScene" uid="uid://dahp73fwld24h" path="res://Scenes/RangedEnemy.tscn" id="6_jck5a"] @@ -24,11 +23,9 @@ transform = Transform3D(0.7, 0, 0, 0, 0.7, 0, 0, 0, 0.7, 0, 0, -2.53252) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -2.51823) shape = SubResource("CylinderShape3D_kv6vl") -[node name="MeleeEnemyOrb" parent="." instance=ExtResource("5_dqbra")] - -[node name="Node3D" parent="." instance=ExtResource("6_jck5a")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, 0) - [node name="STAGE 1" parent="." instance=ExtResource("6_60jd6")] +[node name="RangedEnemy" parent="." instance=ExtResource("6_jck5a")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, 0) + [connection signal="body_entered" from="Area3D2" to="." method="OnExitEntered"] diff --git a/Scenes/MeleeEnemyOrb.tscn b/Scenes/MeleeEnemyOrb.tscn index 2b5ae00..cf0993f 100644 --- a/Scenes/MeleeEnemyOrb.tscn +++ b/Scenes/MeleeEnemyOrb.tscn @@ -9,13 +9,12 @@ size = Vector3(0.470892, 0.604331, 0.423598) [sub_resource type="BoxShape3D" id="BoxShape3D_i1yvp"] size = Vector3(0.470892, 0.604331, 0.423598) -[node name="MeleeEnemyOrb" type="Node3D"] +[node name="MeleeEnemyOrb" type="Node3D" groups=["Enemy"]] [node name="CharacterBody3D" type="CharacterBody3D" parent="."] collision_layer = 4096 collision_mask = 0 script = ExtResource("1_50och") -_speed = 0.5 [node name="CollisionShape3D" type="CollisionShape3D" parent="CharacterBody3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0840461, 0.475385, 0.143401) @@ -31,4 +30,4 @@ collision_mask = 2 transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0840461, 0.475385, 0.143401) shape = SubResource("BoxShape3D_i1yvp") -[connection signal="body_entered" from="CharacterBody3D/Area3D" to="CharacterBody3D" method="OnHit"] +[connection signal="body_entered" from="CharacterBody3D/Area3D" to="CharacterBody3D" method="OnEnemyHit"] diff --git a/Scenes/RangedEnemy.tscn b/Scenes/RangedEnemy.tscn index 2d9d0cf..c2351c7 100644 --- a/Scenes/RangedEnemy.tscn +++ b/Scenes/RangedEnemy.tscn @@ -8,7 +8,7 @@ [sub_resource type="BoxShape3D" id="BoxShape3D_dm3u7"] size = Vector3(0.849075, 2.18529, 0.924281) -[node name="RangedEnemy" type="Node3D"] +[node name="RangedEnemy" type="Node3D" groups=["Enemy"]] script = ExtResource("1_01lvj") [node name="Area3D" type="Area3D" parent="."] @@ -29,5 +29,5 @@ script = ExtResource("3_qt2md") _enemy = NodePath("../Area3D") _fireProjectile = ExtResource("3_qenx3") -[connection signal="body_entered" from="Area3D" to="." method="OnHit"] +[connection signal="body_entered" from="Area3D" to="." method="OnEnemyHit"] [connection signal="timeout" from="Timer" to="Timer" method="OnFireAtPlayer"] diff --git a/Scenes/StageGUI.tscn b/Scenes/StageGUI.tscn index a3e5a23..becfcb4 100644 --- a/Scenes/StageGUI.tscn +++ b/Scenes/StageGUI.tscn @@ -115,22 +115,3 @@ grow_vertical = 2 scale = Vector2(0.3, 0.3) texture = ExtResource("1_id5nf") expand_mode = 1 - -[node name="Button" type="Button" parent="CharacterSelect"] -layout_mode = 0 -offset_left = 64.0 -offset_top = 774.0 -offset_right = 336.0 -offset_bottom = 889.0 -text = "Character select" - -[node name="Button2" type="Button" parent="CharacterSelect"] -layout_mode = 0 -offset_left = 1589.0 -offset_top = 785.0 -offset_right = 1861.0 -offset_bottom = 900.0 -text = "Character select" - -[connection signal="pressed" from="CharacterSelect/Button" to="." method="OnFirstPlayerCharacterSelect"] -[connection signal="pressed" from="CharacterSelect/Button2" to="." method="OnSecondPlayerCharacterSelect"] diff --git a/Scenes/Weapons/EnemyBullet.tscn b/Scenes/Weapons/EnemyBullet.tscn index 9ffbe69..5af9dd1 100644 --- a/Scenes/Weapons/EnemyBullet.tscn +++ b/Scenes/Weapons/EnemyBullet.tscn @@ -41,3 +41,8 @@ transform = Transform3D(0.08, 0, 0, 0, 0.08, 0, 0, 0, 0.08, -0.379318, 1.02602, centered = false axis = 1 texture = ExtResource("2_6l2aj") + +[node name="TTL" type="Timer" parent="."] +process_callback = 0 +wait_time = 0.8 +autostart = true diff --git a/Scenes/Weapons/Single.tscn b/Scenes/Weapons/Single.tscn index 9390a9a..625d5f6 100644 --- a/Scenes/Weapons/Single.tscn +++ b/Scenes/Weapons/Single.tscn @@ -29,3 +29,10 @@ transform = Transform3D(0.07, 0, 0, 0, 0.07, 0, 0, 0, 0.07, -0.244938, 1.29552, centered = false axis = 1 texture = ExtResource("1_nmsa0") + +[node name="TTL" type="Timer" parent="."] +process_callback = 0 +wait_time = 0.8 +autostart = true + +[connection signal="timeout" from="TTL" to="." method="OnTimeToLiveTimeout"] diff --git a/Scenes/Weapons/SingleShot.tscn b/Scenes/Weapons/SingleShot.tscn index 706f172..ec86513 100644 --- a/Scenes/Weapons/SingleShot.tscn +++ b/Scenes/Weapons/SingleShot.tscn @@ -32,6 +32,7 @@ texture = ExtResource("2_1dg7p") [node name="TTL" type="Timer" parent="."] process_callback = 0 +wait_time = 0.2 autostart = true [connection signal="timeout" from="TTL" to="." method="OnTimeToLiveTimeout"] diff --git a/Scripts/BasicEnemy.cs b/Scripts/BasicEnemy.cs new file mode 100644 index 0000000..50d5c42 --- /dev/null +++ b/Scripts/BasicEnemy.cs @@ -0,0 +1,20 @@ +using Godot; + +public partial class BasicEnemy : Node3D +{ + protected GameManager _gameManager; + + public override void _Ready() + { + _gameManager = GetTree().Root.GetNode("Main/GameManager"); + } + + public void OnEnemyHit(Node3D node) + { + QueueFree(); + if (_gameManager.CheckAllEnemiesDefeated()) + { + _gameManager.OnAllEnemiesDefeated(); + } + } +} diff --git a/Scripts/GameManager.cs b/Scripts/GameManager.cs index 744b625..73ee49b 100644 --- a/Scripts/GameManager.cs +++ b/Scripts/GameManager.cs @@ -20,7 +20,6 @@ public partial class GameManager : Node public IEnumerable Players = new List(); - public override void _Ready() { foreach (var playerScene in PlayerScenes) @@ -31,6 +30,19 @@ public partial class GameManager : Node } } + public void OnAllEnemiesDefeated() + { + GD.Print("All enemies defeated"); + P1CharactersOut.AddRange(Players.ElementAt(0).CharactersLeftOnStage); + P2CharactersOut.AddRange(Players.ElementAt(1).CharactersLeftOnStage); + OnLevelClear(); + } + + public bool CheckAllEnemiesDefeated() + { + return !GetTree().GetNodesInGroup("Enemy").Any(); + } + public void OnHandleCharacterSelectUI(Player player) { EmitSignal(SignalName.ReselectCharacter, player); diff --git a/Scripts/Level.cs b/Scripts/Level.cs new file mode 100644 index 0000000..1dd127d --- /dev/null +++ b/Scripts/Level.cs @@ -0,0 +1,6 @@ +using Godot; + +public partial class Level : Node3D +{ + +} diff --git a/Scripts/MeleeEnemy.cs b/Scripts/MeleeEnemy.cs index 0586d93..7ccb946 100644 --- a/Scripts/MeleeEnemy.cs +++ b/Scripts/MeleeEnemy.cs @@ -17,18 +17,4 @@ public partial class MeleeEnemy : BasicEnemy LookAt(-target.Position, Vector3.Up); } } -} - -public partial class BasicEnemy : Node3D -{ - public void OnHit(Node3D node) - { - QueueFree(); - } - - private void DebugOnHit() - { - var node = new Node3D(); - OnHit(node); - } -} +} \ No newline at end of file diff --git a/Scripts/RangedEnemy.cs b/Scripts/RangedEnemy.cs index 87e2c78..66b1b48 100644 --- a/Scripts/RangedEnemy.cs +++ b/Scripts/RangedEnemy.cs @@ -14,9 +14,4 @@ public partial class RangedEnemy : BasicEnemy area.LookAt(target.Position, Vector3.Up); } } - public void OnHit(Node node) - { - GD.Print("Hit detected"); - QueueFree(); - } }