33 lines
793 B
GDScript
33 lines
793 B
GDScript
extends Area2D
|
|
|
|
var broken = false
|
|
var hits_left = 2
|
|
|
|
var player = false
|
|
var player_body = null
|
|
|
|
func replace_numbers(name: String) -> String:
|
|
var new_name = name
|
|
for i in range(10):
|
|
new_name = new_name.replace(str(i), "")
|
|
return new_name
|
|
|
|
func _on_body_entered(body):
|
|
if body.name == "Player" and !broken:
|
|
player = true
|
|
player_body = body
|
|
|
|
func _on_body_exited(body):
|
|
if body.name == "Player" and !broken:
|
|
player = false
|
|
player_body = null
|
|
|
|
func _process(delta):
|
|
if player && player_body != null:
|
|
if Input.is_action_just_pressed("punch"):
|
|
if hits_left > 0:
|
|
hits_left -= 1
|
|
if hits_left == 0 && broken == false:
|
|
$Sprite.texture = load("res://Sprites/Water/Broken/" + replace_numbers(name) + ".png")
|
|
player_body.scale += Vector2(0.05, 0.05)
|
|
broken = true
|