-- ============================================================================ -- door.lua - Interactable door that opens/closes via animation -- ============================================================================ -- Tests: onInteract, Animation.Play with onComplete, Animation.IsPlaying, -- Interact.SetEnabled, self.position, self.rotation, Audio local isOpen = false function onCreate(self) isOpen = false Debug.Log("Door created at " .. self.position.x .. "," .. self.position.y .. "," .. self.position.z) end function onInteract(self) if Animation.IsPlaying("door_open") or Animation.IsPlaying("door_close") then return end if isOpen then isOpen = false Interact.SetEnabled(self, false) Audio.Play("door_close", 100, 64) setStatus("Closing door...") Animation.Play("door_close", { onComplete = function() Interact.SetEnabled(self, true) setStatus("Door closed.") end }) else isOpen = true Interact.SetEnabled(self, false) Audio.Play("door_open", 100, 64) setStatus("Opening door...") Animation.Play("door_open", { onComplete = function() Interact.SetEnabled(self, true) setStatus("Door opened!") end }) end end