Assert some variable types obtained from lua automation

master
orwell96 2017-03-30 21:59:30 +02:00
parent 606c129f57
commit 327b12d488
3 changed files with 11 additions and 0 deletions

Binary file not shown.

View File

@ -48,6 +48,7 @@ function r.fire_event(pos, evtdata)
local customfct={
atc_send = function(cmd)
if not train_id then return false end
assertt(cmd, "string")
advtrains.atc.train_reset_command(train_id)
train.atc_command=cmd
train.atc_arrow=atc_arrow
@ -55,6 +56,7 @@ function r.fire_event(pos, evtdata)
end,
atc_reset = function(cmd)
if not train_id then return false end
assertt(cmd, "string")
advtrains.atc.train_reset_command(train_id)
return true
end,
@ -63,11 +65,13 @@ function r.fire_event(pos, evtdata)
atc_speed = tvel,
atc_set_text_outside = function(text)
if not train_id then return false end
if text then assertt(text, "string") end
advtrains.trains[train_id].text_outside=text
return true
end,
atc_set_text_inside = function(text)
if not train_id then return false end
if text then assertt(text, "string") end
advtrains.trains[train_id].text_inside=text
return true
end,

View File

@ -16,6 +16,13 @@ atlatc = { envs = {}}
minetest.register_privilege("atlatc", { description = "Player can place and modify LUA ATC components. Grant with care! Allows to execute bad LUA code.", give_to_singleplayer = false, default= false })
--assertt helper. error if a variable is not of a type
function assertt(var, typ)
if type(var)~=typ then
error("Assertion failed, variable has to be of type "..typ)
end
end
local mp=minetest.get_modpath("advtrains_luaautomation")
if not mp then
error("Mod name error: Mod folder is not named 'advtrains_luaautomation'!")