From 98c9825c49a1674f59eafb3253829ca7d5cac3c1 Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 14 Jan 2019 16:40:14 +0800 Subject: *rename source file --- src/libjin-lua/modules/time/je_lua_time.cpp | 65 ------------- src/libjin-lua/modules/time/je_lua_time.h | 14 --- src/libjin-lua/modules/time/je_lua_timer.cpp | 132 --------------------------- src/libjin-lua/modules/time/je_lua_timer.h | 20 ---- src/libjin-lua/modules/time/l_time.cpp | 65 +++++++++++++ src/libjin-lua/modules/time/l_time.h | 14 +++ src/libjin-lua/modules/time/l_timer.cpp | 132 +++++++++++++++++++++++++++ src/libjin-lua/modules/time/l_timer.h | 20 ++++ 8 files changed, 231 insertions(+), 231 deletions(-) delete mode 100644 src/libjin-lua/modules/time/je_lua_time.cpp delete mode 100644 src/libjin-lua/modules/time/je_lua_time.h delete mode 100644 src/libjin-lua/modules/time/je_lua_timer.cpp delete mode 100644 src/libjin-lua/modules/time/je_lua_timer.h create mode 100644 src/libjin-lua/modules/time/l_time.cpp create mode 100644 src/libjin-lua/modules/time/l_time.h create mode 100644 src/libjin-lua/modules/time/l_timer.cpp create mode 100644 src/libjin-lua/modules/time/l_timer.h (limited to 'src/libjin-lua/modules/time') diff --git a/src/libjin-lua/modules/time/je_lua_time.cpp b/src/libjin-lua/modules/time/je_lua_time.cpp deleted file mode 100644 index b0468ec..0000000 --- a/src/libjin-lua/modules/time/je_lua_time.cpp +++ /dev/null @@ -1,65 +0,0 @@ -#include "SDL2/SDL.h" -#include "common/je_lua_common.h" -#include "common/je_lua_object.h" -#include "libjin/jin.h" - -#include "je_lua_timer.h" - -using namespace JinEngine::Time; - -namespace JinEngine -{ - namespace Lua - { - - 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_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_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 JinEngine \ No newline at end of file diff --git a/src/libjin-lua/modules/time/je_lua_time.h b/src/libjin-lua/modules/time/je_lua_time.h deleted file mode 100644 index 3c75221..0000000 --- a/src/libjin-lua/modules/time/je_lua_time.h +++ /dev/null @@ -1,14 +0,0 @@ -#ifndef __JE_LUA_TIME_H__ -#define __JE_LUA_TIME_H__ - -namespace JinEngine -{ - namespace Lua - { - - int luaopen_time(lua_State* L); - - } -} - -#endif \ No newline at end of file diff --git a/src/libjin-lua/modules/time/je_lua_timer.cpp b/src/libjin-lua/modules/time/je_lua_timer.cpp deleted file mode 100644 index e30baab..0000000 --- a/src/libjin-lua/modules/time/je_lua_timer.cpp +++ /dev/null @@ -1,132 +0,0 @@ -#include "common/je_lua_callback.h" -#include "common/je_lua_common.h" -#include "je_lua_timer.h" - -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(data); - func->call(); - }; - - static Timer::FinishCallback finishCallback = [](void* data)->void - { - LuaCallback* func = static_cast(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: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(); - LuaObject* ph = (LuaObject*)luax_checktype(L, 2, Jin_Lua_Handler); - Timer::Handler* handler = ph->getObject(); - 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->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/je_lua_timer.h b/src/libjin-lua/modules/time/je_lua_timer.h deleted file mode 100644 index 35ec15d..0000000 --- a/src/libjin-lua/modules/time/je_lua_timer.h +++ /dev/null @@ -1,20 +0,0 @@ -#ifndef __JE_LUA_TIMER_H__ -#define __JE_LUA_TIMER_H__ - -#include "libjin/jin.h" - -namespace JinEngine -{ - namespace Lua - { - - extern const char* Jin_Lua_Timer; - - extern const char* Jin_Lua_Handler; - - void luaopen_Timer(lua_State* L); - - } -} - -#endif \ No newline at end of file diff --git a/src/libjin-lua/modules/time/l_time.cpp b/src/libjin-lua/modules/time/l_time.cpp new file mode 100644 index 0000000..0e39f9e --- /dev/null +++ b/src/libjin-lua/modules/time/l_time.cpp @@ -0,0 +1,65 @@ +#include "SDL2/SDL.h" +#include "common/l_common.h" +#include "common/l_object.h" +#include "libjin/jin.h" + +#include "l_timer.h" + +using namespace JinEngine::Time; + +namespace JinEngine +{ + namespace Lua + { + + 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_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_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 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 new file mode 100644 index 0000000..3c75221 --- /dev/null +++ b/src/libjin-lua/modules/time/l_time.h @@ -0,0 +1,14 @@ +#ifndef __JE_LUA_TIME_H__ +#define __JE_LUA_TIME_H__ + +namespace JinEngine +{ + namespace Lua + { + + 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 new file mode 100644 index 0000000..8886913 --- /dev/null +++ b/src/libjin-lua/modules/time/l_timer.cpp @@ -0,0 +1,132 @@ +#include "common/l_callback.h" +#include "common/l_common.h" +#include "l_timer.h" + +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(data); + func->call(); + }; + + static Timer::FinishCallback finishCallback = [](void* data)->void + { + LuaCallback* func = static_cast(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: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(); + LuaObject* ph = (LuaObject*)luax_checktype(L, 2, Jin_Lua_Handler); + Timer::Handler* handler = ph->getObject(); + 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->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 new file mode 100644 index 0000000..35ec15d --- /dev/null +++ b/src/libjin-lua/modules/time/l_timer.h @@ -0,0 +1,20 @@ +#ifndef __JE_LUA_TIMER_H__ +#define __JE_LUA_TIMER_H__ + +#include "libjin/jin.h" + +namespace JinEngine +{ + namespace Lua + { + + extern const char* Jin_Lua_Timer; + + extern const char* Jin_Lua_Handler; + + void luaopen_Timer(lua_State* L); + + } +} + +#endif \ No newline at end of file -- cgit v1.1-26-g67d0