forked from team-sg/hero-mark-2
31 lines
758 B
GDScript
31 lines
758 B
GDScript
extends Node2D
|
|
|
|
export var cost = 0
|
|
export var label_offset = Vector2.ZERO
|
|
onready var label = $Label
|
|
onready var sprite = $Sprite
|
|
onready var hitbox = $StaticBody2D/CollisionShape2D
|
|
var open = false
|
|
|
|
func _ready():
|
|
#Tile sprite
|
|
if scale.y != 1:
|
|
sprite.set_region_rect(Rect2(0,0,4,scale.y))
|
|
hitbox.scale.y = scale.y
|
|
hitbox.position.y += scale.y / 2 - 1
|
|
scale.y = 1
|
|
#Label
|
|
label.visible = true
|
|
label.set_text(str(cost))
|
|
label.rect_position.y = scale.y / 2 + label_offset.y
|
|
|
|
func _physics_process(delta):
|
|
#Open
|
|
if Game.keys >= cost: open = true
|
|
if open == true:
|
|
sprite.region_rect.size.y -= 1
|
|
if sprite.region_rect.size.y < 1: queue_free()
|
|
|
|
func _on_AnimationPlayer_animation_finished(anim_name):
|
|
if anim_name == "open":
|
|
queue_free()
|