mirror of
https://gitlab.com/MaddoScientisto/cirnogodot.git
synced 2026-06-01 10:35:34 +00:00
Player can die now
This commit is contained in:
parent
6ff1ab76ed
commit
360b4dfe6a
6 changed files with 87 additions and 24 deletions
|
|
@ -22,6 +22,7 @@ collision_layer = 16
|
|||
collision_mask = 9
|
||||
script = ExtResource("1_lpwdj")
|
||||
BulletScene = ExtResource("2_ogldd")
|
||||
BulletSpeed = 50.0
|
||||
metadata/_edit_group_ = true
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
[gd_scene load_steps=26 format=3 uid="uid://bghghp5ep4w2j"]
|
||||
[gd_scene load_steps=27 format=3 uid="uid://bghghp5ep4w2j"]
|
||||
|
||||
[ext_resource type="Script" path="res://Scripts/PlayerMovement.cs" id="1_m27vu"]
|
||||
[ext_resource type="Texture2D" uid="uid://la06powu57hu" path="res://Sprites/Cirno_Big.png" id="2_bwf6x"]
|
||||
|
|
@ -138,7 +138,10 @@ animations = [{
|
|||
[sub_resource type="CircleShape2D" id="CircleShape2D_oevaq"]
|
||||
radius = 17.2627
|
||||
|
||||
[node name="Player" type="CharacterBody2D" node_paths=PackedStringArray("Muzzle") groups=["player"]]
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_e6woi"]
|
||||
radius = 1.41421
|
||||
|
||||
[node name="Player" type="CharacterBody2D" node_paths=PackedStringArray("Muzzle") groups=["Destroyable", "player"]]
|
||||
collision_layer = 2
|
||||
collision_mask = 99
|
||||
script = ExtResource("1_m27vu")
|
||||
|
|
@ -147,6 +150,8 @@ CrosshairDistance = 20.0
|
|||
BulletScene = ExtResource("2_ov36d")
|
||||
SelectorScene = ExtResource("3_8wt6s")
|
||||
Muzzle = NodePath("Muzzle")
|
||||
Health = 32.0
|
||||
RateOfFire = 0.1
|
||||
metadata/_edit_group_ = true
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
|
|
@ -188,4 +193,16 @@ script = ExtResource("7_uvgjg")
|
|||
[node name="CollisionShape2D" type="CollisionShape2D" parent="InteractionController"]
|
||||
shape = SubResource("CircleShape2D_oevaq")
|
||||
|
||||
[node name="ShootTimer" type="Timer" parent="."]
|
||||
one_shot = true
|
||||
|
||||
[node name="DamageHitBox" type="Area2D" parent="."]
|
||||
collision_layer = 2
|
||||
collision_mask = 128
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="DamageHitBox"]
|
||||
shape = SubResource("CircleShape2D_e6woi")
|
||||
debug_color = Color(1, 0.00817797, 0.0443347, 0.42)
|
||||
|
||||
[connection signal="area_entered" from="InteractionController" to="." method="_on_interaction_controller_area_entered"]
|
||||
[connection signal="area_entered" from="DamageHitBox" to="." method="_on_damage_hit_box_area_entered"]
|
||||
|
|
|
|||
|
|
@ -228,9 +228,8 @@ tile_set = SubResource("TileSet_d7en2")
|
|||
|
||||
[node name="Solid2" type="TileMapLayer" parent="Factory Tilemaps" groups=["Solid"]]
|
||||
use_parent_material = true
|
||||
tile_map_data = PackedByteArray("AADL//L/AAACAAYAAADL//P/AAACAAYAAADL//T/AAACAAYAAADL//X/AAACAAYAAADL//b/AAACAAYAAADL//f/AAACAAYAAADL//j/AAACAAYAAADL//n/AAACAAYAAADL//r/AAACAAYAAADL//v/AAACAAYAAADL//z/AAACAAYAAADS//T/AAAAAAcAAADM//H/AAABAAcAAADN//H/AAABAAcAAADO//H/AAABAAcAAADP//H/AAABAAcAAADT//T/AAABAAcAAADU//T/AAABAAcAAADV//T/AAABAAcAAADW//T/AAABAAcAAADX//T/AAABAAcAAADO//f/AAADAAAAAADN//f/AAADAAAAAADM//f/AAADAAAAAADS//f/AAADAAAAAADO//r/AAADAAAAAADN//r/AAADAAAAAADM//r/AAADAAAAAADS//r/AAADAAAAAADT//r/AAADAAAAAADU//r/AAADAAAAAADV//r/AAADAAAAAADW//r/AAADAAAAAADX//r/AAADAAAAAADa//f/AAAAAAYAAADa//n/AAAAAAYAAADa//r/AAAAAAYAAADa//v/AAAAAAYAAADa//z/AAAAAAYAAADa//3/AAAAAAYAAADa//7/AAAAAAYAAADL//3/AAACAAYAAADL//7/AAACAAYAAADa////AAAAAAYAAADa/wAAAAAAAAYAAADY//r/AAADAAAAAADZ//r/AAADAAAAAADM//3/AAAEAAUAAADN//3/AAAEAAUAAADO//3/AAAEAAUAAADP//3/AAAEAAUAAADQ//3/AAAEAAUAAADR//3/AAAEAAUAAADS//3/AAAEAAUAAADT//3/AAAFAAUAAADX//3/AAADAAUAAADY//3/AAAEAAUAAADZ//3/AAAEAAUAAADX//7/AAADAAcAAADY////AAAEAAUAAADZ////AAAEAAUAAADT//7/AAAFAAcAAADS//7/AAAEAAUAAADR//7/AAAEAAUAAADQ//7/AAAEAAUAAADP//7/AAAEAAUAAADO//7/AAAEAAUAAADN//7/AAAEAAUAAADM//7/AAAEAAUAAADX/wEAAAAFAAcAAADW/wEAAAAEAAUAAADV/wEAAAAEAAUAAADU/wEAAAAEAAUAAADT/wEAAAAEAAUAAADX/wAAAAADAAYAAAC2////AAADAAAAAAC1////AAADAAAAAAC0////AAADAAAAAACz////AAADAAAAAACy////AAADAAAAAACx////AAADAAAAAACx//7/AAADAAAAAACx//3/AAADAAAAAAC2/wIAAAADAAAAAAC1/wIAAAADAAAAAAC0/wIAAAADAAAAAACz/wIAAAADAAAAAACy/wIAAAADAAAAAACx/wIAAAADAAAAAACw/wIAAAADAAAAAACv/wIAAAADAAAAAACu/wIAAAADAAAAAACt/wIAAAADAAAAAACs/wIAAAADAAAAAACu////AAADAAAAAACu//7/AAADAAAAAACu//3/AAADAAAAAACt////AAADAAAAAACs////AAADAAAAAACr////AAADAAAAAACq////AAADAAAAAACp////AAADAAAAAACr/wIAAAADAAAAAACq/wIAAAADAAAAAACp/wIAAAADAAAAAADQ/wEAAAADAAUAAADR/wEAAAAEAAUAAADS/wEAAAAEAAUAAADQ/wIAAAADAAYAAADQ/wMAAAADAAcAAADR/wMAAAAEAAUAAADX////AAADAAUAAADY//7/AAAEAAUAAADZ//7/AAAEAAUAAADL/wkAAAAAAAQAAADM/wAAAQAAAAAAAQDM/wEAAQAAAAAAAQDM/wIAAQAAAAAAAQDM/wMAAQAAAAAAAQDR//b/AQAAAAAAAgDV//H/AQAAAAAAAgDW//H/AQAAAAAAAwDX//H/AQAAAAAABADH//L/AQAAAAAABQDG//f/AQAAAAAABgDG//r/AQAAAAAABwDI//v/AQAAAAAACADR//X/AQAAAAAAAQDM//T/AAABAAEAAADN//T/AAABAAEAAADO//T/AAABAAEAAADP//T/AAABAAEAAADQ//T/AAABAAEAAADR//T/AAABAAEAAADS//X/AAAEAAEAAADS//b/AAAEAAEAAADT//X/AAABAAEAAADT//b/AAABAAEAAADV//b/AAABAAEAAADV//X/AAABAAEAAADX//b/AAABAAEAAADX//X/AAABAAEAAADZ//b/AAABAAEAAADZ//X/AAABAAEAAADa//j/AAAAAAYAAADL////AAACAAYAAADL/wAAAAACAAYAAADL/wEAAAACAAYAAADL/wIAAAACAAYAAADL/wMAAAACAAYAAADL/wQAAAACAAYAAADL/wUAAAACAAYAAADL/wYAAAACAAYAAADL/wcAAAACAAYAAADL/wgAAAACAAYAAADa/wEAAAAAAAYAAADa/wIAAAAAAAYAAADa/wMAAAAAAAYAAADa/wQAAAAAAAYAAADa/wUAAAAAAAYAAADa/wYAAAAAAAYAAADa/wcAAAAAAAYAAADa/wgAAAAAAAYAAADa/wkAAAAAAAYAAADa/woAAAAAAAYAAADa/wsAAAAAAAYAAADa/wwAAAAAAAYAAADa/w0AAAAAAAYAAADa/w4AAAAAAAYAAADZ/w8AAAABAAUAAADY/w8AAAABAAUAAADX/w8AAAABAAUAAADW/w8AAAABAAUAAADV/w8AAAABAAUAAADU/w8AAAABAAUAAADT/w8AAAABAAUAAADS/w8AAAABAAUAAADR/w8AAAABAAUAAADQ/w8AAAABAAUAAADP/w8AAAABAAUAAADO/w8AAAABAAUAAADN/w8AAAABAAUAAADM/w8AAAABAAUAAADL/w4AAAAAAAQAAADL/w0AAAAAAAQAAADK/w4AAAABAAUAAADJ/w4AAAABAAUAAADI/w4AAAABAAUAAADH/w4AAAABAAUAAADG/w4AAAABAAUAAADF/w4AAAABAAUAAADE/w4AAAABAAUAAADL/wsAAAAFAAEAAADL/woAAAAFAAEAAADK/woAAAABAAEAAADI/woAAAABAAEAAADH/woAAAABAAEAAADH/wkAAAABAAEAAADI/wkAAAABAAEAAADK/wkAAAABAAEAAADF/woAAAABAAEAAADE/woAAAABAAEAAADE/wkAAAABAAEAAADF/wkAAAABAAEAAADB/woAAAABAAEAAADC/woAAAABAAEAAADC/wkAAAABAAEAAADB/wkAAAABAAEAAAC//woAAAABAAEAAAC//wkAAAABAAEAAADJ/woAAAADAAEAAADJ/wkAAAADAAEAAADG/woAAAADAAEAAADG/wkAAAADAAEAAADD/woAAAADAAEAAADD/wkAAAADAAEAAADA/woAAAADAAEAAADA/wkAAAADAAEAAADD/w4AAAABAAUAAADC/w4AAAABAAUAAADB/w4AAAABAAUAAADA/w4AAAABAAUAAAC//w4AAAABAAUAAADU//b/AAADAAEAAADU//X/AAADAAEAAADW//b/AAADAAEAAADW//X/AAADAAEAAADY//b/AAADAAEAAADY//X/AAADAAEAAAA=")
|
||||
tile_map_data = PackedByteArray("AADL//L/AAACAAYAAADL//P/AAACAAYAAADL//T/AAACAAYAAADL//X/AAACAAYAAADL//b/AAACAAYAAADL//f/AAACAAYAAADL//j/AAACAAYAAADL//n/AAACAAYAAADL//r/AAACAAYAAADL//v/AAACAAYAAADL//z/AAACAAYAAADS//T/AAAAAAcAAADM//H/AAABAAcAAADN//H/AAABAAcAAADO//H/AAABAAcAAADP//H/AAABAAcAAADT//T/AAABAAcAAADU//T/AAABAAcAAADV//T/AAABAAcAAADW//T/AAABAAcAAADX//T/AAABAAcAAADO//f/AAADAAAAAADN//f/AAADAAAAAADM//f/AAADAAAAAADS//f/AAADAAAAAADO//r/AAADAAAAAADN//r/AAADAAAAAADM//r/AAADAAAAAADS//r/AAADAAAAAADT//r/AAADAAAAAADU//r/AAADAAAAAADV//r/AAADAAAAAADW//r/AAADAAAAAADX//r/AAADAAAAAADa//f/AAAAAAYAAADa//n/AAAAAAYAAADa//r/AAAAAAYAAADa//v/AAAAAAYAAADa//z/AAAAAAYAAADa//3/AAAAAAYAAADa//7/AAAAAAYAAADL//3/AAACAAYAAADL//7/AAACAAYAAADa////AAAAAAYAAADa/wAAAAAAAAYAAADY//r/AAADAAAAAADZ//r/AAADAAAAAADM//3/AAAEAAUAAADN//3/AAAEAAUAAADO//3/AAAEAAUAAADP//3/AAAEAAUAAADQ//3/AAAEAAUAAADR//3/AAAEAAUAAADS//3/AAAEAAUAAADT//3/AAAFAAUAAADX//3/AAADAAUAAADY//3/AAAEAAUAAADZ//3/AAAEAAUAAADX//7/AAADAAcAAADY////AAAEAAUAAADZ////AAAEAAUAAADT//7/AAAFAAcAAADS//7/AAAEAAUAAADR//7/AAAEAAUAAADQ//7/AAAEAAUAAADP//7/AAAEAAUAAADO//7/AAAEAAUAAADN//7/AAAEAAUAAADM//7/AAAEAAUAAADX/wEAAAAFAAcAAADW/wEAAAAEAAUAAADV/wEAAAAEAAUAAADU/wEAAAAEAAUAAADT/wEAAAAEAAUAAADX/wAAAAADAAYAAAC2////AAADAAAAAAC1////AAADAAAAAAC0////AAADAAAAAACz////AAADAAAAAACy////AAADAAAAAACx////AAADAAAAAACx//7/AAADAAAAAACx//3/AAADAAAAAAC2/wIAAAADAAAAAAC1/wIAAAADAAAAAAC0/wIAAAADAAAAAACz/wIAAAADAAAAAACy/wIAAAADAAAAAACx/wIAAAADAAAAAACw/wIAAAADAAAAAACv/wIAAAADAAAAAACu/wIAAAADAAAAAACt/wIAAAADAAAAAACs/wIAAAADAAAAAACu////AAADAAAAAACu//7/AAADAAAAAACu//3/AAADAAAAAACt////AAADAAAAAACs////AAADAAAAAACr////AAADAAAAAACq////AAADAAAAAACp////AAADAAAAAACr/wIAAAADAAAAAACq/wIAAAADAAAAAACp/wIAAAADAAAAAADQ/wEAAAADAAUAAADR/wEAAAAEAAUAAADS/wEAAAAEAAUAAADQ/wIAAAADAAYAAADQ/wMAAAADAAcAAADR/wMAAAAEAAUAAADX////AAADAAUAAADY//7/AAAEAAUAAADZ//7/AAAEAAUAAADL/wkAAAAAAAQAAADM/wAAAQAAAAAAAQDM/wEAAQAAAAAAAQDM/wIAAQAAAAAAAQDM/wMAAQAAAAAAAQDR//b/AQAAAAAAAgDV//H/AQAAAAAAAgDW//H/AQAAAAAAAwDX//H/AQAAAAAABADH//L/AQAAAAAABQDG//f/AQAAAAAABgDG//r/AQAAAAAABwDI//v/AQAAAAAACADR//X/AQAAAAAAAQDM//T/AAABAAEAAADN//T/AAABAAEAAADO//T/AAABAAEAAADP//T/AAABAAEAAADQ//T/AAABAAEAAADR//T/AAABAAEAAADS//X/AAAEAAEAAADS//b/AAAEAAEAAADT//X/AAABAAEAAADT//b/AAABAAEAAADV//b/AAABAAEAAADV//X/AAABAAEAAADX//b/AAABAAEAAADX//X/AAABAAEAAADZ//b/AAABAAEAAADZ//X/AAABAAEAAADa//j/AAAAAAYAAADL////AAACAAYAAADL/wAAAAACAAYAAADL/wEAAAACAAYAAADL/wIAAAACAAYAAADL/wMAAAACAAYAAADL/wQAAAACAAYAAADL/wUAAAACAAYAAADL/wYAAAACAAYAAADL/wcAAAACAAYAAADL/wgAAAACAAYAAADa/wEAAAAAAAYAAADa/wIAAAAAAAYAAADa/wMAAAAAAAYAAADa/wQAAAAAAAYAAADa/wUAAAAAAAYAAADa/wYAAAAAAAYAAADa/wcAAAAAAAYAAADa/wgAAAAAAAYAAADa/wkAAAAAAAYAAADa/woAAAAAAAYAAADa/wsAAAAAAAYAAADa/wwAAAAAAAYAAADa/w0AAAAAAAYAAADa/w4AAAAAAAYAAADZ/w8AAAABAAUAAADY/w8AAAABAAUAAADX/w8AAAABAAUAAADW/w8AAAABAAUAAADV/w8AAAABAAUAAADU/w8AAAABAAUAAADT/w8AAAABAAUAAADS/w8AAAABAAUAAADR/w8AAAABAAUAAADQ/w8AAAABAAUAAADP/w8AAAABAAUAAADO/w8AAAABAAUAAADN/w8AAAABAAUAAADM/w8AAAABAAUAAADL/w4AAAAAAAQAAADL/w0AAAAAAAQAAADK/w4AAAABAAUAAADJ/w4AAAABAAUAAADI/w4AAAABAAUAAADH/w4AAAABAAUAAADG/w4AAAABAAUAAADF/w4AAAABAAUAAADE/w4AAAABAAUAAADL/wsAAAAFAAEAAADL/woAAAAFAAEAAADK/woAAAABAAEAAADI/woAAAABAAEAAADH/woAAAABAAEAAADH/wkAAAABAAEAAADI/wkAAAABAAEAAADK/wkAAAABAAEAAADF/woAAAABAAEAAADE/woAAAABAAEAAADE/wkAAAABAAEAAADF/wkAAAABAAEAAADB/woAAAABAAEAAADC/woAAAABAAEAAADC/wkAAAABAAEAAADB/wkAAAABAAEAAAC//woAAAABAAEAAAC//wkAAAABAAEAAADJ/woAAAADAAEAAADJ/wkAAAADAAEAAADG/woAAAADAAEAAADG/wkAAAADAAEAAADD/woAAAADAAEAAADD/wkAAAADAAEAAADA/woAAAADAAEAAADA/wkAAAADAAEAAADD/w4AAAABAAUAAADC/w4AAAABAAUAAADB/w4AAAABAAUAAADA/w4AAAABAAUAAAC//w4AAAABAAUAAADU//b/AAADAAEAAADU//X/AAADAAEAAADW//b/AAADAAEAAADW//X/AAADAAEAAADY//b/AAADAAEAAADY//X/AAADAAEAAADT/wkAAQAAAAAAAgDU/wkAAQAAAAAAAgDU/woAAQAAAAAAAgDT/woAAQAAAAAAAgDT/wsAAQAAAAAAAgDU/wsAAQAAAAAAAgDU/wwAAQAAAAAAAgDT/wwAAQAAAAAAAgDS/wwAAQAAAAAAAgDR/wwAAQAAAAAAAgDR/wsAAQAAAAAAAgDS/wsAAQAAAAAAAgDS/woAAQAAAAAAAgDR/woAAQAAAAAAAgDS/wkAAQAAAAAAAgDR/wkAAQAAAAAAAgA=")
|
||||
tile_set = SubResource("TileSet_d7en2")
|
||||
collision_visibility_mode = 1
|
||||
|
||||
[node name="Barrel" parent="Factory Tilemaps" instance=ExtResource("5_3uba3")]
|
||||
position = Vector2(-854, -138)
|
||||
|
|
@ -268,12 +267,6 @@ position = Vector2(-903, 183)
|
|||
[node name="Red Box2" parent="Factory Tilemaps" instance=ExtResource("15_m0y0j")]
|
||||
position = Vector2(-696, -136)
|
||||
|
||||
[node name="Red Box3" parent="Factory Tilemaps" instance=ExtResource("15_m0y0j")]
|
||||
position = Vector2(-744, 152)
|
||||
|
||||
[node name="Red Box4" parent="Factory Tilemaps" instance=ExtResource("15_m0y0j")]
|
||||
position = Vector2(-728, 152)
|
||||
|
||||
[node name="ControlPad" parent="Factory Tilemaps" node_paths=PackedStringArray("Target") instance=ExtResource("12_hfkf1")]
|
||||
position = Vector2(-713, -153)
|
||||
Target = NodePath("../Door")
|
||||
|
|
|
|||
|
|
@ -59,11 +59,12 @@ public partial class Bullet : Area2D
|
|||
//Debug.WriteLine("Collision");
|
||||
QueueFree();
|
||||
}
|
||||
else if (body.IsInGroup("Destroyable"))
|
||||
{
|
||||
Debug.WriteLine("Collision with destroyable object body");
|
||||
QueueFree();
|
||||
}
|
||||
//// Do not Collide with body for purpose of destroying bullets
|
||||
// else if (body.IsInGroup("Destroyable"))
|
||||
// {
|
||||
// Debug.WriteLine("Collision with destroyable object body");
|
||||
// QueueFree();
|
||||
// }
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,6 +15,8 @@ public partial class Enemy : Area2D, IDestructible
|
|||
|
||||
[Export] public double RateOfFire = 0.4f;
|
||||
|
||||
[Export] public float BulletSpeed = 100f;
|
||||
|
||||
private float _currentHealth = 0f;
|
||||
|
||||
private bool _isDestroyed = false;
|
||||
|
|
@ -71,6 +73,7 @@ public partial class Enemy : Area2D, IDestructible
|
|||
// bullet.Transform = this.GlobalTransform;
|
||||
// bullet.Position = this.Position;
|
||||
bullet.SetDirection((_cachedPlayer.GlobalPosition - this.GlobalPosition).Normalized());
|
||||
bullet.Speed = BulletSpeed;
|
||||
_cooldownTimer.Start(RateOfFire);
|
||||
}
|
||||
}
|
||||
|
|
@ -117,6 +120,14 @@ public partial class Enemy : Area2D, IDestructible
|
|||
|
||||
}
|
||||
|
||||
private void Explode()
|
||||
{
|
||||
Debug.WriteLine("Ded");
|
||||
//CreateParticles();
|
||||
//CreateDebris();
|
||||
QueueFree();
|
||||
}
|
||||
|
||||
public void Hit(float damage)
|
||||
{
|
||||
if (_isDestroyed) return;
|
||||
|
|
@ -127,14 +138,6 @@ public partial class Enemy : Area2D, IDestructible
|
|||
Explode();
|
||||
}
|
||||
|
||||
private void Explode()
|
||||
{
|
||||
Debug.WriteLine("Ded");
|
||||
//CreateParticles();
|
||||
//CreateDebris();
|
||||
QueueFree();
|
||||
}
|
||||
|
||||
public bool IsDestroyed()
|
||||
{
|
||||
return _isDestroyed;
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ using System;
|
|||
using System.Diagnostics;
|
||||
using Cirno.Scripts;
|
||||
|
||||
public partial class PlayerMovement : CharacterBody2D
|
||||
public partial class PlayerMovement : CharacterBody2D, IDestructible
|
||||
{
|
||||
[Export]
|
||||
public int Speed { get; set; } = 400;
|
||||
|
|
@ -32,10 +32,25 @@ public partial class PlayerMovement : CharacterBody2D
|
|||
|
||||
private Sprite2D _crosshair;
|
||||
|
||||
private Timer _cooldownTimer;
|
||||
|
||||
[Export] public float Health = 4f;
|
||||
|
||||
private float _currentHealth = 0f;
|
||||
|
||||
[Export] public double RateOfFire = 0.4f;
|
||||
|
||||
[Export] public float BulletSpeed = 300f;
|
||||
|
||||
private bool _isDestroyed = false;
|
||||
|
||||
public override void _Ready()
|
||||
{
|
||||
_currentHealth = Health;
|
||||
|
||||
_animatedSprite = GetNode<AnimatedSprite2D>("./Smoothing2D/AnimatedSprite2D");
|
||||
_crosshair = GetNode<Sprite2D>("./Smoothing2D/Crosshair");
|
||||
_cooldownTimer = GetNode<Timer>("./ShootTimer");
|
||||
|
||||
_movementDirection = Vector2.Zero;
|
||||
_facingDirection = Vector2.Zero;
|
||||
|
|
@ -171,4 +186,37 @@ public partial class PlayerMovement : CharacterBody2D
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void Explode()
|
||||
{
|
||||
Debug.WriteLine("Ded");
|
||||
//CreateParticles();
|
||||
//CreateDebris();
|
||||
QueueFree();
|
||||
}
|
||||
|
||||
public void Hit(float damage)
|
||||
{
|
||||
GD.Print($"Player damaged for {damage}");
|
||||
if (_isDestroyed) return;
|
||||
|
||||
_currentHealth -= damage;
|
||||
if (!(_currentHealth <= 0)) return;
|
||||
_isDestroyed = true;
|
||||
Explode();
|
||||
}
|
||||
|
||||
public bool IsDestroyed()
|
||||
{
|
||||
return _isDestroyed;
|
||||
}
|
||||
|
||||
private void _on_damage_hit_box_area_entered(Area2D area) {
|
||||
if (area is Bullet bullet) {
|
||||
GD.Print("Received damage manually");
|
||||
this.Hit(bullet.Damage);
|
||||
bullet.QueueFree();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue