Files
fps_project_1/scripts/tube_top.gd
2025-05-04 23:35:43 -05:00

37 lines
756 B
GDScript

extends Node3D
class_name SpawnTube
@export var level_bounds : LevelBounds
var open = true
var active = true
@onready var anim_player: AnimationPlayer = $AnimationPlayer
func _on_player_detect_body_entered(body: Node3D) -> void:
if body is Player:
if open and active:
anim_player.play("close")
open = false
if body is Chest:
if !body.claimed:
body.claimed = true
var old_pos = body.global_position
body.get_parent().remove_child(body)
get_tree().current_scene.add_child(body)
body.global_position = old_pos
func _on_switch_1_switch_changed() -> void:
if open:
anim_player.play("close")
open = false
else:
anim_player.play("open")
open = true
if level_bounds != null:
level_bounds.toggle_collision(!open)