Added pickups and doors
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
class_name Door
|
||||
extends Node2D
|
||||
|
||||
|
||||
const ANIMATION_CLOSED = "closed"
|
||||
const ANIMATION_OPEN = "open"
|
||||
const ANIMATION_OPENING = "opening"
|
||||
|
||||
|
||||
@onready var sprite : AnimatedSprite2D = $AnimatedSprite2D
|
||||
@onready var static_body : StaticBody2D = $StaticBody2D
|
||||
@onready var static_body_collision : CollisionShape2D = $%StaticBodyCollision
|
||||
@onready var area_collision : CollisionShape2D = $%AreaCollision
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
sprite.play(ANIMATION_CLOSED)
|
||||
|
||||
|
||||
func _is_closed() -> bool:
|
||||
return sprite.animation == ANIMATION_CLOSED
|
||||
|
||||
|
||||
func _can_open(_body: Node2D) -> bool:
|
||||
return true
|
||||
|
||||
|
||||
func _open() -> void:
|
||||
sprite.play(ANIMATION_OPENING)
|
||||
static_body.process_mode = Node.PROCESS_MODE_DISABLED
|
||||
|
||||
|
||||
func _on_animation_finished() -> void:
|
||||
sprite.play(ANIMATION_OPEN)
|
||||
|
||||
|
||||
func _on_area_entered(body: Node2D) -> void:
|
||||
if _is_closed() and _can_open(body):
|
||||
_open()
|
||||
Reference in New Issue
Block a user