Add minetest.after(time, func)
This commit is contained in:
parent
a2fd8d1db1
commit
37b64ff616
|
@ -795,6 +795,30 @@ minetest.registered_on_newplayers, minetest.register_on_newplayer = make_registr
|
||||||
minetest.registered_on_dieplayers, minetest.register_on_dieplayer = make_registration()
|
minetest.registered_on_dieplayers, minetest.register_on_dieplayer = make_registration()
|
||||||
minetest.registered_on_respawnplayers, minetest.register_on_respawnplayer = make_registration()
|
minetest.registered_on_respawnplayers, minetest.register_on_respawnplayer = make_registration()
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Misc. API functions
|
||||||
|
--
|
||||||
|
|
||||||
|
minetest.timers_to_add = {}
|
||||||
|
minetest.timers = {}
|
||||||
|
minetest.register_globalstep(function(dtime)
|
||||||
|
for indes, timer in ipairs(minetest.timers_to_add) do
|
||||||
|
table.insert(minetest.timers, timer)
|
||||||
|
end
|
||||||
|
minetest.timers_to_add = {}
|
||||||
|
for index, timer in ipairs(minetest.timers) do
|
||||||
|
timer.time = timer.time - dtime
|
||||||
|
if timer.time <= 0 then
|
||||||
|
timer.func()
|
||||||
|
minetest.timers[index] = nil
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
|
||||||
|
function minetest.after(time, func)
|
||||||
|
table.insert(minetest.timers_to_add, {time=time, func=func})
|
||||||
|
end
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Set random seed
|
-- Set random seed
|
||||||
--
|
--
|
||||||
|
|
|
@ -425,6 +425,12 @@ minetest.get_modpath(modname) -> eg. "/home/user/.minetest/usermods/modname"
|
||||||
minetest.get_worldpath(modname) -> eg. "/home/user/.minetest/world"
|
minetest.get_worldpath(modname) -> eg. "/home/user/.minetest/world"
|
||||||
^ Useful for storing custom data
|
^ Useful for storing custom data
|
||||||
|
|
||||||
|
minetest.debug(line)
|
||||||
|
^ Goes to dstream
|
||||||
|
minetest.log(line)
|
||||||
|
minetest.log(loglevel, line)
|
||||||
|
^ loglevel one of "error", "action", "info", "verbose"
|
||||||
|
|
||||||
minetest.register_entity(name, prototype table)
|
minetest.register_entity(name, prototype table)
|
||||||
minetest.register_abm(abm definition)
|
minetest.register_abm(abm definition)
|
||||||
minetest.register_node(name, node definition)
|
minetest.register_node(name, node definition)
|
||||||
|
@ -461,11 +467,8 @@ minetest.sound_play(spec, parameters) -> handle
|
||||||
^ parameters = sound parameter table
|
^ parameters = sound parameter table
|
||||||
minetest.sound_stop(handle)
|
minetest.sound_stop(handle)
|
||||||
|
|
||||||
minetest.debug(line)
|
minetest.after(time, func)
|
||||||
^ Goes to dstream
|
^ Call function after time seconds
|
||||||
minetest.log(line)
|
|
||||||
minetest.log(loglevel, line)
|
|
||||||
^ loglevel one of "error", "action", "info", "verbose"
|
|
||||||
|
|
||||||
Global objects:
|
Global objects:
|
||||||
minetest.env - environment reference
|
minetest.env - environment reference
|
||||||
|
|
|
@ -6,38 +6,18 @@
|
||||||
|
|
||||||
experimental = {}
|
experimental = {}
|
||||||
|
|
||||||
timers_to_add = {}
|
|
||||||
timers = {}
|
|
||||||
minetest.register_globalstep(function(dtime)
|
|
||||||
for indes, timer in ipairs(timers_to_add) do
|
|
||||||
table.insert(timers, timer)
|
|
||||||
end
|
|
||||||
timers_to_add = {}
|
|
||||||
for index, timer in ipairs(timers) do
|
|
||||||
timer.time = timer.time - dtime
|
|
||||||
if timer.time <= 0 then
|
|
||||||
timer.func()
|
|
||||||
timers[index] = nil
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end)
|
|
||||||
|
|
||||||
after = function(time, func)
|
|
||||||
table.insert(timers_to_add, {time=time, func=func})
|
|
||||||
end
|
|
||||||
|
|
||||||
--[[
|
--[[
|
||||||
stepsound = -1
|
stepsound = -1
|
||||||
function test_sound()
|
function test_sound()
|
||||||
print("test_sound")
|
print("test_sound")
|
||||||
stepsound = minetest.sound_play("default_grass_footstep", {gain=1.0})
|
stepsound = minetest.sound_play("default_grass_footstep", {gain=1.0})
|
||||||
after(2.0, test_sound)
|
minetest.after(2.0, test_sound)
|
||||||
--after(0.1, test_sound_stop)
|
--minetest.after(0.1, test_sound_stop)
|
||||||
end
|
end
|
||||||
function test_sound_stop()
|
function test_sound_stop()
|
||||||
print("test_sound_stop")
|
print("test_sound_stop")
|
||||||
minetest.sound_stop(stepsound)
|
minetest.sound_stop(stepsound)
|
||||||
after(2.0, test_sound)
|
minetest.after(2.0, test_sound)
|
||||||
end
|
end
|
||||||
test_sound()
|
test_sound()
|
||||||
--]]
|
--]]
|
||||||
|
|
Loading…
Reference in New Issue