Brick.gd 499 B

1234567891011121314151617181920212223242526272829303132333435
  1. class_name Brick
  2. extends StaticBody2D
  3. signal kace_broken
  4. signal kace_damaged
  5. signal life_changed
  6. var life: int
  7. func setup(x: int, y: int, max_life: int):
  8. position.x = x * 40
  9. position.y = y * 20
  10. life = randi() % max_life + 1
  11. emit_signal("life_changed", life)
  12. func damage():
  13. life = life - 1
  14. emit_signal("kace_damaged")
  15. if life < 1:
  16. blow_up()
  17. else:
  18. emit_signal("life_changed", life)
  19. func blow_up():
  20. emit_signal("kace_broken")
  21. queue_free()
  22. func impact(pos: Vector2):
  23. damage()