2018-09-08 18:29:27 +02:00
|
|
|
-- dependencies
|
2018-09-11 22:15:02 +02:00
|
|
|
local Inspect = require 'Diggy.Inspect'
|
2018-09-08 18:29:27 +02:00
|
|
|
|
|
|
|
-- this
|
|
|
|
local Debug = {}
|
|
|
|
|
|
|
|
-- private state
|
|
|
|
local debug = false
|
|
|
|
local cheats = false
|
|
|
|
|
|
|
|
function Debug.enable_debug()
|
|
|
|
debug = true
|
|
|
|
end
|
|
|
|
|
|
|
|
function Debug.disable_debug()
|
|
|
|
debug = false
|
|
|
|
end
|
|
|
|
|
|
|
|
function Debug.enable_cheats()
|
|
|
|
cheats = true
|
|
|
|
end
|
|
|
|
|
|
|
|
function Debug.disable_cheats()
|
|
|
|
cheats = true
|
|
|
|
end
|
|
|
|
|
2018-09-11 22:15:02 +02:00
|
|
|
local message_count = 0
|
|
|
|
|
2018-09-08 18:29:27 +02:00
|
|
|
--[[--
|
|
|
|
Shows the given message if _DEBUG == true.
|
|
|
|
|
|
|
|
@param message string
|
|
|
|
]]
|
|
|
|
function Debug.print(message)
|
2018-09-11 22:15:02 +02:00
|
|
|
message_count = message_count + 1
|
2018-09-08 18:29:27 +02:00
|
|
|
if (debug) then
|
2018-09-11 22:15:02 +02:00
|
|
|
game.print('[' .. message_count .. '] ' .. message)
|
2018-09-08 18:29:27 +02:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
--[[--
|
|
|
|
Executes the given callback if _DIGGY_CHEATS == true.
|
|
|
|
|
|
|
|
@param callback function
|
|
|
|
]]
|
|
|
|
function Debug.cheat(callback)
|
|
|
|
if (cheats) then
|
|
|
|
callback()
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2018-09-11 22:15:02 +02:00
|
|
|
--[[--
|
|
|
|
Inspects T and prints it.
|
|
|
|
]]
|
|
|
|
function Debug.inspect(T)
|
|
|
|
if (debug) then
|
|
|
|
game.print(Inspect.inspect(T))
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2018-09-08 18:29:27 +02:00
|
|
|
return Debug
|