week6 player enemy damage death cycle

This commit is contained in:
OddlyTimbot committed 2026-11-03 17:03:06 -05:00
1 parent c1bdb544a6
commit ed7e5c4740
12 files changed
+306 -25

No files matched your search

+24 -1
View File
@@ -5,6 +5,7 @@ class_name SceneManager extends Node2D
@onready var player: Player = $"../Player"
@onready var crates: Node2D = $"../Crates"
@onready var coins: Node2D = $"../Coins"
@onready var enemies: Node2D = $"../Enemies"
#recipe for bullets
var bullet = preload("res://scenes/bullet.tscn")
@@ -17,9 +18,12 @@ func _ready() -> void:
buildLevel()
game.teleportSignal.connect(teleport)
game.destroySignal.connect(destroy)
game.damageSignal.connect(damage)
player.bulletSignal.connect(makeBullet)
player.deathCompleteSignal.connect(game.levelChange)
updateCrates()
updateCoins()
updateEnemies()
# Called every frame. 'delta' is the elapsed time since the previous frame.
@@ -50,6 +54,15 @@ func updateCoins()->void:
totalCoins +=1
game.coinTotal(totalCoins)
func updateEnemies()->void:
if enemies:
for obj in enemies.get_children():
var enemy = obj as Slime
if enemy:
game.addEnemyToLevel(enemy)
if not enemy.enemyAttackSignal.is_connected(game.slimeAttack):
enemy.enemyAttackSignal.connect(game.slimeAttack)
func buildLevel()->void:
if triggers:
for obj in triggers.get_children():
@@ -97,7 +110,17 @@ func destroy(target)->void:
target.queue_free()
if target is Coin:
target.queue_free()
if target is Slime:
target.queue_free()
if target is Player:
target.kill()
func damage(target)->void:
if target is Slime:
target.takeDamage()
if target is Player:
target.takeDamage()
func stash(target:Bullet)->void:
print("stash a bullet")
#hide the bullet off-screen