1
0
mirror of https://github.com/Refactorio/RedMew.git synced 2025-01-30 04:30:58 +02:00
RedMew/Diggy/Debug.lua

78 lines
1.4 KiB
Lua
Raw Normal View History

2018-09-08 18:29:27 +02:00
-- dependencies
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
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)
message_count = message_count + 1
2018-09-08 18:29:27 +02:00
if (debug) then
game.print('[' .. message_count .. '] ' .. message)
2018-09-08 18:29:27 +02:00
end
end
--[[--
Shows the given message if _DEBUG == true for a given position.
@param x number
@param y number
@param message string
]]
function Debug.printPosition(x, y, message)
message_count = message_count + 1
if (debug) then
game.print('[' .. message_count .. '] {x=' .. x .. ', y=' .. y .. '} ' .. message)
end
end
2018-09-08 18:29:27 +02:00
--[[--
Executes the given callback if _DIGGY_CHEATS == true.
@param callback function
]]
function Debug.cheat(callback)
if (cheats) then
callback()
end
end
--[[--
Inspects T and prints it.
@param T any
]]
function Debug.inspect(T)
if (debug) then
game.print(Inspect.inspect(T))
end
end
2018-09-08 18:29:27 +02:00
return Debug