-- ArcTerm API
-- This is a collection of functions for CC:Tweaked's turtules and terminals screens
local ArcUtilities = require("ArcUtilities")
-- EXTERNAL FUNCTIONS
local function Reset()
term.clear()
term.setCursorPos(1,1)
end
local function Write(pnX,pnY,psText)
term.setCursorPos(pnX,pnY)
write(psText)
end
local function ResetLines(ptabnLines)
local nX = nil
local nY = nil
nX,nY = term.getSize()
for i=1,#ptabnLines,1 do
Write(1,ptabnLines[i],ArcUtilities.Complete(""," ",nX,"R",false))
end
term.setCursorPos(1,ptabnLines[1])
end
local function WriteYesNo(pnX,pnY,pbYesNo)
term.setCursorPos(pnX,pnY)
if pbYesNo then write("YES ")
else write("NO ") end
end
local function Read(pnX,pnY)
local sReturn
term.setCursorPos(pnX,pnY)
sReturn = read()
return sReturn
end
local function ReadYesNo(pnX,pnY)
local sEvent
local nKey
local sKey
local bHold
Write(pnX,pnY,"(y/n)")
sEvent,nKey,bHold = os.pullEvent("key")
sKey = keys.getName(nKey)
if sKey == "y" then
Write(pnX,pnY,"YES ")
return true
else
Write(pnX,pnY,"NO ")
return false
end
end
local function ReadKey()
local nKey = 0
local bHold = false
local sKey = ""
sEvent,nKey,bHold = os.pullEvent("key")
sKey = keys.getName(nKey)
return sKey
end
-- RETURN
return
{
Reset = Reset,
Write = Write,
ResetLines = ResetLines,
WriteYesNo = WriteYesNo,
Read = Read,
ReadYesNo = ReadYesNo,
ReadKey = ReadKey
}