Fixed debugger errors in many files and optimized some scenes/code
This commit is contained in:
@@ -1,38 +1,33 @@
|
||||
extends AnimatedSprite
|
||||
|
||||
export(PackedScene) var object_scene: PackedScene = null
|
||||
export var object_scene: PackedScene = null
|
||||
|
||||
var is_player_inside: bool = false
|
||||
var is_opened: bool = false
|
||||
var has_key: bool = false
|
||||
|
||||
onready var animation_player: AnimationPlayer = get_node("AnimationPlayer")
|
||||
onready var tween: Tween = get_node("Key/Tween")
|
||||
|
||||
func _ready() -> void:
|
||||
assert(object_scene!=null)
|
||||
animation_player.play("closed")
|
||||
assert(object_scene != null)
|
||||
$AnimationPlayer.play('closed')
|
||||
$Key/KeySprite.visible = false
|
||||
|
||||
func _input(event: InputEvent) -> void:
|
||||
if is_player_inside and not is_opened:
|
||||
is_opened = true
|
||||
animation_player.play("open")
|
||||
_drop_object()
|
||||
return
|
||||
|
||||
|
||||
func _on_area_body_entered(body: Node) -> void:
|
||||
if body.is_in_group('player'):
|
||||
$Area/CollisionShape2D.set_deferred('disabled', true)
|
||||
$AnimationPlayer.play('open')
|
||||
_drop_object()
|
||||
return
|
||||
|
||||
|
||||
func _drop_object() -> void:
|
||||
#print($Key.position)
|
||||
$Key/KeySprite.visible = true
|
||||
tween.interpolate_property($Key, "position", Vector2(0,0), Vector2(0, -10), 1.0, Tween.TRANS_QUAD,
|
||||
Tween.EASE_OUT)
|
||||
tween.start()
|
||||
yield(tween, "tween_completed")
|
||||
$Key/KeySprite.visible = false
|
||||
|
||||
|
||||
func _on_Area2D_player_entered(_player: KinematicBody2D) -> void:
|
||||
is_player_inside = true
|
||||
|
||||
if not $Key/Tween.interpolate_property($Key, 'position', Vector2(0,0), Vector2(0, -10), 1.0,
|
||||
Tween.TRANS_QUAD, Tween.EASE_OUT):
|
||||
print('ERROR: Chest key animation has errors.')
|
||||
if not $Key/Tween.start():
|
||||
print('ERROR: Chest key animation failed to start.')
|
||||
|
||||
func _on_Area2D_player_exited(_player: KinematicBody2D) -> void:
|
||||
is_player_inside = false
|
||||
yield($Key/Tween, 'tween_completed')
|
||||
$Key/KeySprite.visible = false
|
||||
return
|
||||
|
Reference in New Issue
Block a user