Fix laggy activation

This commit is contained in:
Daniel Snider 2022-08-16 12:35:42 -07:00
parent 921ebc01f2
commit 3fb9fce92f

View File

@ -7,6 +7,7 @@ export var inventory = { "ore" : 0 }
var health: int = 4 setget set_health
var item_in_hand
var move_enabled: bool = true
onready var move_playback = $DungMan/AnimationTree["parameters/Move/playback"]
# Called when the node enters the scene tree for the first time.
@ -15,6 +16,8 @@ func _ready():
move_playback.travel("idle")
func _physics_process(delta):
if not move_enabled:
return
var input = Vector3(Input.get_axis("left", "right"), 0.0, Input.get_axis("up", "down"))
var motion = Plane.PLANE_XZ.project(get_viewport().get_camera().global_transform.basis.xform(input)).normalized() * SPEED
if motion.length_squared() > EPSILON:
@ -70,10 +73,12 @@ func modify_inventory(item_name, item_amount):
func _unhandled_input(event):
if event.is_action_pressed("action"):
$DungMan/AnimationTree["parameters/Activate/active"] = true
move_enabled = false
yield(get_tree().create_timer(0.2), "timeout")
for area in $"%TriggerVolume".get_overlapping_areas():
if try_trigger_interact(area):
break
move_enabled = true
func try_trigger_interact(area):
var owner = area