aboutsummaryrefslogtreecommitdiff
path: root/src/libjin-lua/modules/time
diff options
context:
space:
mode:
Diffstat (limited to 'src/libjin-lua/modules/time')
-rw-r--r--src/libjin-lua/modules/time/l_time.cpp94
-rw-r--r--src/libjin-lua/modules/time/l_time.h8
-rw-r--r--src/libjin-lua/modules/time/l_timer.cpp246
-rw-r--r--src/libjin-lua/modules/time/l_timer.h14
4 files changed, 181 insertions, 181 deletions
diff --git a/src/libjin-lua/modules/time/l_time.cpp b/src/libjin-lua/modules/time/l_time.cpp
index 0e39f9e..b88b485 100644
--- a/src/libjin-lua/modules/time/l_time.cpp
+++ b/src/libjin-lua/modules/time/l_time.cpp
@@ -9,57 +9,57 @@ using namespace JinEngine::Time;
namespace JinEngine
{
- namespace Lua
- {
+ namespace Lua
+ {
- LUA_IMPLEMENT int l_sec(lua_State* L)
- {
- luax_pushnumber(L, getSecond());
- return 1;
- }
+ LUA_IMPLEMENT int l_sec(lua_State* L)
+ {
+ luax_pushnumber(L, getSecond());
+ return 1;
+ }
- LUA_IMPLEMENT int l_sleep(lua_State* L)
- {
- double sec = luax_checknumber(L, 1);
- sleep(sec * 1000.0f);
- return 0;
- }
+ LUA_IMPLEMENT int l_sleep(lua_State* L)
+ {
+ double sec = luax_checknumber(L, 1);
+ sleep(sec * 1000.0f);
+ return 0;
+ }
- LUA_IMPLEMENT int l_newTimer(lua_State* L)
- {
- Shared* shrTimer = new Shared(new Timer());
- luax_newinstance(L, Jin_Lua_Timer, shrTimer);
- return 1;
- }
+ LUA_IMPLEMENT int l_newTimer(lua_State* L)
+ {
+ Shared* shrTimer = new Shared(new Timer());
+ luax_newinstance(L, Jin_Lua_Timer, shrTimer);
+ return 1;
+ }
- LUA_IMPLEMENT int l_getDelta(lua_State* L)
- {
- luax_pushnumber(L, Time::getDeltaTime());
- return 1;
- }
+ LUA_IMPLEMENT int l_getDelta(lua_State* L)
+ {
+ luax_pushnumber(L, Time::getDeltaTime());
+ return 1;
+ }
- LUA_IMPLEMENT int l_step(lua_State* L)
- {
- Time::step();
- return 0;
- }
-
- LUA_EXPORT int luaopen_time(lua_State* L)
- {
- // Types.
- luaopen_Timer(L);
- // Functions.
- luaL_Reg methods[] = {
- { "second", l_sec },
- { "sleep", l_sleep },
- { "newTimer", l_newTimer },
- { "step", l_step },
- { "getDelta", l_getDelta },
- { 0, 0 },
- };
- luax_newlib(L, methods);
- return 1;
- }
+ LUA_IMPLEMENT int l_step(lua_State* L)
+ {
+ Time::step();
+ return 0;
+ }
+
+ LUA_EXPORT int luaopen_time(lua_State* L)
+ {
+ // Types.
+ luaopen_Timer(L);
+ // Functions.
+ luaL_Reg methods[] = {
+ { "second", l_sec },
+ { "sleep", l_sleep },
+ { "newTimer", l_newTimer },
+ { "step", l_step },
+ { "getDelta", l_getDelta },
+ { 0, 0 },
+ };
+ luax_newlib(L, methods);
+ return 1;
+ }
- } // namespace Lua
+ } // namespace Lua
} // namespace JinEngine \ No newline at end of file
diff --git a/src/libjin-lua/modules/time/l_time.h b/src/libjin-lua/modules/time/l_time.h
index 3c75221..a92e33b 100644
--- a/src/libjin-lua/modules/time/l_time.h
+++ b/src/libjin-lua/modules/time/l_time.h
@@ -3,12 +3,12 @@
namespace JinEngine
{
- namespace Lua
- {
+ namespace Lua
+ {
- int luaopen_time(lua_State* L);
+ int luaopen_time(lua_State* L);
- }
+ }
}
#endif \ No newline at end of file
diff --git a/src/libjin-lua/modules/time/l_timer.cpp b/src/libjin-lua/modules/time/l_timer.cpp
index 8886913..82a1398 100644
--- a/src/libjin-lua/modules/time/l_timer.cpp
+++ b/src/libjin-lua/modules/time/l_timer.cpp
@@ -6,127 +6,127 @@ using namespace JinEngine::Time;
namespace JinEngine
{
- namespace Lua
- {
-
- const char* Jin_Lua_Timer = "Timer";
-
- const char* Jin_Lua_Handler = "Handler";
-
- static Timer::TimerCallback timerCallback = [](void* data)->void
- {
- LuaCallback* func = static_cast<LuaCallback*>(data);
- func->call();
- };
-
- static Timer::FinishCallback finishCallback = [](void* data)->void
- {
- LuaCallback* func = static_cast<LuaCallback*>(data);
- delete func;
- };
-
- LUA_IMPLEMENT inline Timer* checkTimer(lua_State* L)
- {
- LuaObject* luaObj = (LuaObject*)luax_checktype(L, 1, Jin_Lua_Timer);
- return luaObj->getObject<Timer>();
- }
-
- // timer:every(time, callback, parameter)
- LUA_IMPLEMENT int l_every(lua_State* L)
- {
- int n = luax_gettop(L);
- Timer* shared = checkTimer(L);
- float s = luax_checknumber(L, 2);
- LuaCallback* func = new LuaCallback(L);
- func->setFunc(3);
- for(int i = 4; i <= n; ++i)
- func->pushParam(i);
- Timer::Handler* handler = shared->every(s, timerCallback, func, finishCallback);
- Shared* shrHandler = new Shared(handler);
- LuaObject* luaObj = luax_newinstance(L, Jin_Lua_Handler, shrHandler);
- return 1;
- }
-
- // timer:after(time, callback, parameter)
- LUA_IMPLEMENT int l_after(lua_State* L)
- {
- int n = luax_gettop(L);
- Timer* shared = checkTimer(L);
- float s = luax_checknumber(L, 2);
- LuaCallback* func = new LuaCallback(L);
- func->setFunc(3);
- for (int i = 4; i <= n; ++i)
- func->pushParam(i);
- Timer::Handler* handler = shared->after(s, timerCallback, func, finishCallback);
- Shared* shrHandler = new Shared(handler);
- LuaObject* luaObj = luax_newinstance(L, Jin_Lua_Handler, shrHandler);
- return 1;
- }
-
- // timer:repeat(time, callback, parameter)
- LUA_IMPLEMENT int l_repeat(lua_State* L)
- {
- int n = luax_gettop(L);
- Timer* shared = checkTimer(L);
- float s = luax_checknumber(L, 2);
- int count = luax_checkinteger(L, 3);
- LuaCallback* func = new LuaCallback(L);
- func->setFunc(4);
- for (int i = 5; i <= n; ++i)
- func->pushParam(i);
- Timer::Handler* handler = shared->repeat(s, count, timerCallback, func, finishCallback);
- Shared* shrHandler = new Shared(handler);
- LuaObject* luaObj = luax_newinstance(L, Jin_Lua_Handler, shrHandler);
- return 1;
- }
-
- LUA_IMPLEMENT int l_update(lua_State* L)
- {
- Timer* shared = checkTimer(L);
- float s = luax_checknumber(L, 2);
- shared->update(s);
- return 0;
- }
-
- LUA_IMPLEMENT int l_cancel(lua_State* L)
- {
- LuaObject* p = (LuaObject*)luax_checktype(L, 1, Jin_Lua_Timer);
- Timer* timer = p->getObject<Timer>();
- LuaObject* ph = (LuaObject*)luax_checktype(L, 2, Jin_Lua_Handler);
- Timer::Handler* handler = ph->getObject<Timer::Handler>();
- timer->cancel(handler);
- return 0;
- }
-
- LUA_IMPLEMENT int l_cancelAll(lua_State* L)
- {
- LuaObject* p = (LuaObject*)luax_checktype(L, 1, Jin_Lua_Timer);
- Timer* timer = p->getObject<Timer>();
- timer->cancelAll();
- return 0;
- }
-
- LUA_IMPLEMENT int l_gc(lua_State* L)
- {
- LuaObject* p = (LuaObject*)luax_checktype(L, 1, Jin_Lua_Timer);
- p->release();
- return 0;
- }
-
- LUA_EXPORT void luaopen_Timer(lua_State* L)
- {
- luaL_Reg methods[] = {
- { "__gc", l_gc },
- { "every", l_every },
- { "after", l_after },
- { "duplicate", l_repeat },
- { "update", l_update },
- { "cancel", l_cancel },
- { "cancelAll", l_cancelAll },
- { 0, 0 }
- };
- luax_newtype(L, Jin_Lua_Timer, methods);
- }
-
- }
+ namespace Lua
+ {
+
+ const char* Jin_Lua_Timer = "Timer";
+
+ const char* Jin_Lua_Handler = "Handler";
+
+ static Timer::TimerCallback timerCallback = [](void* data)->void
+ {
+ LuaCallback* func = static_cast<LuaCallback*>(data);
+ func->call();
+ };
+
+ static Timer::FinishCallback finishCallback = [](void* data)->void
+ {
+ LuaCallback* func = static_cast<LuaCallback*>(data);
+ delete func;
+ };
+
+ LUA_IMPLEMENT inline Timer* checkTimer(lua_State* L)
+ {
+ LuaObject* luaObj = (LuaObject*)luax_checktype(L, 1, Jin_Lua_Timer);
+ return luaObj->getObject<Timer>();
+ }
+
+ // timer:every(time, callback, parameter)
+ LUA_IMPLEMENT int l_every(lua_State* L)
+ {
+ int n = luax_gettop(L);
+ Timer* shared = checkTimer(L);
+ float s = luax_checknumber(L, 2);
+ LuaCallback* func = new LuaCallback(L);
+ func->setFunc(3);
+ for(int i = 4; i <= n; ++i)
+ func->pushParam(i);
+ Timer::Handler* handler = shared->every(s, timerCallback, func, finishCallback);
+ Shared* shrHandler = new Shared(handler);
+ LuaObject* luaObj = luax_newinstance(L, Jin_Lua_Handler, shrHandler);
+ return 1;
+ }
+
+ // timer:after(time, callback, parameter)
+ LUA_IMPLEMENT int l_after(lua_State* L)
+ {
+ int n = luax_gettop(L);
+ Timer* shared = checkTimer(L);
+ float s = luax_checknumber(L, 2);
+ LuaCallback* func = new LuaCallback(L);
+ func->setFunc(3);
+ for (int i = 4; i <= n; ++i)
+ func->pushParam(i);
+ Timer::Handler* handler = shared->after(s, timerCallback, func, finishCallback);
+ Shared* shrHandler = new Shared(handler);
+ LuaObject* luaObj = luax_newinstance(L, Jin_Lua_Handler, shrHandler);
+ return 1;
+ }
+
+ // timer:repeat(time, callback, parameter)
+ LUA_IMPLEMENT int l_repeat(lua_State* L)
+ {
+ int n = luax_gettop(L);
+ Timer* shared = checkTimer(L);
+ float s = luax_checknumber(L, 2);
+ int count = luax_checkinteger(L, 3);
+ LuaCallback* func = new LuaCallback(L);
+ func->setFunc(4);
+ for (int i = 5; i <= n; ++i)
+ func->pushParam(i);
+ Timer::Handler* handler = shared->repeat(s, count, timerCallback, func, finishCallback);
+ Shared* shrHandler = new Shared(handler);
+ LuaObject* luaObj = luax_newinstance(L, Jin_Lua_Handler, shrHandler);
+ return 1;
+ }
+
+ LUA_IMPLEMENT int l_update(lua_State* L)
+ {
+ Timer* shared = checkTimer(L);
+ float s = luax_checknumber(L, 2);
+ shared->update(s);
+ return 0;
+ }
+
+ LUA_IMPLEMENT int l_cancel(lua_State* L)
+ {
+ LuaObject* p = (LuaObject*)luax_checktype(L, 1, Jin_Lua_Timer);
+ Timer* timer = p->getObject<Timer>();
+ LuaObject* ph = (LuaObject*)luax_checktype(L, 2, Jin_Lua_Handler);
+ Timer::Handler* handler = ph->getObject<Timer::Handler>();
+ timer->cancel(handler);
+ return 0;
+ }
+
+ LUA_IMPLEMENT int l_cancelAll(lua_State* L)
+ {
+ LuaObject* p = (LuaObject*)luax_checktype(L, 1, Jin_Lua_Timer);
+ Timer* timer = p->getObject<Timer>();
+ timer->cancelAll();
+ return 0;
+ }
+
+ LUA_IMPLEMENT int l_gc(lua_State* L)
+ {
+ LuaObject* p = (LuaObject*)luax_checktype(L, 1, Jin_Lua_Timer);
+ p->release();
+ return 0;
+ }
+
+ LUA_EXPORT void luaopen_Timer(lua_State* L)
+ {
+ luaL_Reg methods[] = {
+ { "__gc", l_gc },
+ { "every", l_every },
+ { "after", l_after },
+ { "duplicate", l_repeat },
+ { "update", l_update },
+ { "cancel", l_cancel },
+ { "cancelAll", l_cancelAll },
+ { 0, 0 }
+ };
+ luax_newtype(L, Jin_Lua_Timer, methods);
+ }
+
+ }
} \ No newline at end of file
diff --git a/src/libjin-lua/modules/time/l_timer.h b/src/libjin-lua/modules/time/l_timer.h
index 35ec15d..e41bfd0 100644
--- a/src/libjin-lua/modules/time/l_timer.h
+++ b/src/libjin-lua/modules/time/l_timer.h
@@ -5,16 +5,16 @@
namespace JinEngine
{
- namespace Lua
- {
-
- extern const char* Jin_Lua_Timer;
+ namespace Lua
+ {
+
+ extern const char* Jin_Lua_Timer;
- extern const char* Jin_Lua_Handler;
+ extern const char* Jin_Lua_Handler;
- void luaopen_Timer(lua_State* L);
+ void luaopen_Timer(lua_State* L);
- }
+ }
}
#endif \ No newline at end of file