Files
debugman18 fe5d4dd4ba
ci/woodpecker/push/woodpecker Pipeline was successful
Controller detection
2026-10-18 14:44:37 -05:00

54 lines
1.1 KiB
GDScript

class_name Interactable
extends Node2D
signal interacted
var checked_teleport
var telecam_speed_mult = 4
var enabled = true
var cooldown = 2
var _is_interactable = false
func disable():
enabled = false
$Sprite2D.modulate = Color.DARK_ORANGE
func enable():
enabled = true
$Sprite2D.modulate = Color.WHITE
func is_interactable() -> bool:
return _is_interactable
func interact() -> void:
if not is_interactable():
return
interacted.emit()
func _physics_process(delta: float) -> void:
pass
func _on_approach(body) -> void:
if body!=%Player2D:
return
_is_interactable = true
self.add_to_group("nearby_interactables")
if %Player2D.controller_ui:
print("CONTROLLER UI")
$Sprite2D/ButtonPrompt.show()
$Sprite2D/KeyPrompt.hide()
else:
print("KEYBOARD UI")
$Sprite2D/KeyPrompt.show()
$Sprite2D/ButtonPrompt.hide()
func _on_abandon(body) -> void:
if body!=%Player2D:
return
_is_interactable = false
self.remove_from_group("nearby_interactables")
if %Player2D.controller_ui:
$Sprite2D/ButtonPrompt.hide()
else:
$Sprite2D/KeyPrompt.hide()