From d2419b0c98687cf38bb7b45c013db2ea97ef69af Mon Sep 17 00:00:00 2001 From: Francesco Abbate Date: 2011年6月24日 16:00:23 +0200 Subject: Added a global demo function that charge demos on demand --- demo-init.lua | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 demo-init.lua (limited to 'demo-init.lua') diff --git a/demo-init.lua b/demo-init.lua new file mode 100644 index 00000000..19881949 --- /dev/null +++ b/demo-init.lua @@ -0,0 +1,46 @@ + +local demo_list = {} + +local function load_demo(name) + local group, info = dofile('demos/' .. name .. '.lua') + local section = demo_list[group] + if not section then + section = {} + demo_list[group] = section + end + local i = #section + for k, v in ipairs(info) do + section[i+k] = v + end +end + +local demo_files = {'fft', 'bspline', 'wave-particle', 'plot'} + +for i, name in ipairs(demo_files) do + load_demo(name) +end + +local function print_demos_list() + for group, t in pairs(demo_list) do + echo('*** ', group) + for k, v in ipairs(t) do + echo(v.name .. ' - ' .. v.description) + end + echo '' + end +end + +local function load_demo(name) + for group, t in pairs(demo_list) do + for k, entry in ipairs(t) do + if entry.name == name then + return entry + end + end + end +end + +return { + list = print_demos_list, + load = load_demo, +} -- cgit v1.2.3

AltStyle によって変換されたページ (->オリジナル) /