summaryrefslogtreecommitdiff
path: root/Examples/lua/embed3/runme.lua
blob: 8d5b1eada2c9ee2631e149ec56e9619bce26e943 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
print "[lua] This is runme.lua"
-- test program for embedded lua
-- we do not need to load the library, as it was already in the interpreter
-- but let's check anyway

assert(type(example)=='table',"Don't appear to have loaded the example module. Do not run this file directly, run the embed3 executable")

print "[lua] looking to see if we have a pointer to the engine"
if type(pEngine)=="userdata" then
    print "[lua] looks good"
else
    print "[lua] nope, no signs of it"
end


-- the embedded program expects a function void onEvent(Event)
-- this is it

function onEvent(e)
    print("[Lua] onEvent with event",e.mType)
    -- let's do something with the Engine
    -- nothing clever, but ...
    if e.mType==example.Event_STARTUP then
        pEngine:start()
    elseif e.mType==example.Event_KEYPRESS then
        pEngine:accelerate(0.4)
    elseif e.mType==example.Event_MOUSEPRESS then
        pEngine:decelerate(0.4)
    elseif e.mType==example.Event_SHUTDOWN then
        pEngine:stop()
    else
        error("unknown event type")
    end
    print("[Lua] ending onEvent")
end