2019-07-15 21:04:41 -04:00

93 lines
3.4 KiB
Lua

local vncore = require("VNCore")
local multi = require("multi")
if not vncore.loaded then
error("The vncore module needs to be loaded and initiated before it can be used!")
end
local debug = {}
local taskmanagerDetails = {}
local debugF = gui:newFrame("DebugFrame",0,0,0,0,0,0,1,1)
debugF.Visibility = .5
debugF.Color = Color.Black
vncore.getWorkspace().Active = false
vncore.getWorkspace().Visibility = 1
-- debugF.Visible = false
local taskmanager = debugF:newFrame("TaskManager",0,0,400,500,0,0)
taskmanager:enableDragging(true)
taskmanager.scroll = taskmanager:newFrame("ScrollBwar",-20,30,20,-60,1,0,0,1)
taskmanager.scroll.mover = taskmanager.scroll:newFrame("Mover",0,0,20,20)
taskmanager.scroll.mover.Color = Color.Lighten(Color.Saddle_brown,.25)
taskmanager.Data = taskmanager:newTextLabel("","",0,30,-20,-60,0,0,1,1)
taskmanager.Data.TextFormat = "left"
taskmanager.Data.Color = Color.light_blue
local lock = false
taskmanager.scroll.mover:OnPressed(function(b,self)
lock = true
end)
taskmanager.scroll.mover:OnReleased(function(b,self)
lock = false
end)
taskmanager.scroll:OnClicked(function(b,self,x,y)
if lock then
love.mouse.setX(self.x+10)
end
taskmanager.scroll.mover:SetDualDim(nil,y-10)
if taskmanager.scroll.mover.offset.pos.y <= 0 then
taskmanager.scroll.mover:SetDualDim(nil,0)
elseif taskmanager.scroll.mover.offset.pos.y >= taskmanager.scroll.height-20 then
taskmanager.scroll.mover:SetDualDim(nil,taskmanager.scroll.height-20)
end
end)
taskmanager.header = taskmanager:newTextLabel(" Task Manager","Task Manager",1,1,-2,29,0,0,1)
taskmanager.header.X = taskmanager.header:newTextButton("X","X",-25,5,20,20,1)
taskmanager.header.X.Color = Color.Red
taskmanager.header.X:setRoundness(4,4,60)
taskmanager.header.X:OnReleased(function()
debug:hide()
end)
taskmanager.details = taskmanager:newTextLabel(" Details","",1,-31,-2,30,0,1,1)
taskmanager.header:AddDrawRuleE(function(self)
love.graphics.line(self.x, self.y+self.height, self.x+self.width, self.y+self.height)
end)
taskmanager.details:AddDrawRuleE(function(self)
love.graphics.line(self.x, self.y+1, self.x+self.width, self.y+1)
end)
--taskmanager.frame = taskmanager:new
taskmanager:setRoundness(8,8,180)
gui.massMutate({
TextFormat = "middleleft",
BorderSize = 0,
[[setRoundness(8,8,180)]],
},taskmanager.header,taskmanager.details)
taskmanager:centerX()
taskmanager:centerY()
function debug:show(frame)
vncore.getWorkspace().Active = false -- Prevents click events from functioning
if not frame then
-- Show the console
elseif frame == "tasks" then
-- Show the task manager
end
end
function debug:hide(frame)
multi.nextStep(function() -- There is no way to know the order of connections in the current step, so lets process this on the next step
vncore.getWorkspace().Active = true -- Reinstates the click events on the workspace
if not frame then
debugF.Visible = false
end
end)
end
local a = 0
multi:newThread("DebugHandler",function()
while true do
a=a+1
thread.hold(function()
return debugF.Visible -- If the debug frame is not in view dont bother process any debug info
end)
thread.sleep(.1)
debugF:TopStack()
if taskmanager.Visible then
taskmanager.Data.text = multi:getTasksDetails()
end
end
end)
return debug