diff options
-rw-r--r-- | Debug/init.lua | 27 | ||||
-rw-r--r-- | EventMsgCenter/EventMsgCenter.lua | 3 | ||||
-rw-r--r-- | EventMsgCenter/Events.lua | 8 | ||||
-rw-r--r-- | component/component.lua | 2 | ||||
-rw-r--r-- | config.lua | 3 | ||||
-rw-r--r-- | loghelper/init.lua | 33 | ||||
-rw-r--r-- | main.lua | 19 | ||||
-rw-r--r-- | particle/particle.lua | 5 | ||||
-rw-r--r-- | pool/pool.lua | 3 | ||||
-rw-r--r-- | timer/timer.lua | 60 |
10 files changed, 123 insertions, 40 deletions
diff --git a/Debug/init.lua b/Debug/init.lua deleted file mode 100644 index 86a192e..0000000 --- a/Debug/init.lua +++ /dev/null @@ -1,27 +0,0 @@ --- 不能使用 debug 命名模块,会冲突, --- 要使用其余名字比如 Debug -local debug = {} -io.stdout:setvbuf("no") - -debug.LEVEL = { - INFO = 4, - DEBUG = 3, - WARN = 2, - ERROR = 1, - NONE = 0 -} - -debug.level = debug.LEVEL.INFO - -debug.strict = function(level) - debug.level = level -end - -debug.log = function(level, fmt, ...) - if level <= debug.level then - local msg = string.format(fmt, ...) - print(msg) - end -end - -return debug
\ No newline at end of file diff --git a/EventMsgCenter/EventMsgCenter.lua b/EventMsgCenter/EventMsgCenter.lua index 8ca7a5b..43e859b 100644 --- a/EventMsgCenter/EventMsgCenter.lua +++ b/EventMsgCenter/EventMsgCenter.lua @@ -7,6 +7,7 @@ EventMsgCenter.registerMsg = function(e, callback, first) _broadcast[e] = {} end first = first or false + EventMsgCenter.unRegisterMsg(e, callback) if not first then table.insert(_broadcast[e], callback) else @@ -44,4 +45,4 @@ EventMsgCenter.sendMsg = function(e, ...) end end -return EventMsgCenter +return EventMsgCenter
\ No newline at end of file diff --git a/EventMsgCenter/Events.lua b/EventMsgCenter/Events.lua index 443f450..5c45f2e 100644 --- a/EventMsgCenter/Events.lua +++ b/EventMsgCenter/Events.lua @@ -1,8 +1,12 @@ local events = { - "Player_Move", + + "Player_Move", "Player_Change", "Player_Spawn", - "Player_Kick" + "Player_Kick", + + "" + } function CreatEnumTable(tbl, index) diff --git a/component/component.lua b/component/component.lua index 5337370..2432054 100644 --- a/component/component.lua +++ b/component/component.lua @@ -5,7 +5,7 @@ local Component = { Component.new = function(obj) local component = {} setmetatable(component, Component) - component.__index = Component + Component.__index = Component component:_init(obj) end @@ -3,6 +3,5 @@ return width = 512, height = 400, fullscreen = false, - resizable = false + resizable = true } - diff --git a/loghelper/init.lua b/loghelper/init.lua new file mode 100644 index 0000000..fc07943 --- /dev/null +++ b/loghelper/init.lua @@ -0,0 +1,33 @@ +-- 不能使用 debug 命名模块,会冲突, +-- 要使用其余名字比如 loghelper +local loghelper = {} +io.stdout:setvbuf("no") + +loghelper.LEVEL = { + INFO = 4, + DEBUG = 3, + WARN = 2, + ERROR = 1, + NONE = 0 +} + +local logTag = { + [loghelper.LEVEL.INFO] = "[Info]", + [loghelper.LEVEL.DEBUG] = "[Debug]", + [loghelper.LEVEL.WARN] = "[Warn]", + [loghelper.LEVEL.ERROR] = "[Error]", +} + +loghelper.level = loghelper.LEVEL.INFO + +loghelper.strict = function(level) + loghelper.level = level +end + +loghelper.log = function(level, msg) + if level <= loghelper.level then + print(logTag[level] .. ":" .. msg) + end +end + +return loghelper
\ No newline at end of file @@ -1,24 +1,29 @@ -local debug = require("Debug") -debug.strict(debug.LEVEL.INFO) +local loghelper = require("loghelper") +loghelper.strict(loghelper.LEVEL.INFO) -jin.core.onLoad = function() +local timer = require("timer.timer") +jin.core.load = function() + timer.every(1.0, function() + loghelper.log(loghelper.LEVEL.INFO, "test") + end) end jin.core.onEvent = function(e) if e.type == "quit" then jin.core.stop() elseif e.type == "keydown" then - if e.key == "Esc" then + if e.key == "Escape" then jin.core.stop() end end end jin.core.onUpdate = function(dt) - + timer.update(dt) + -- loghelper.log(loghelper.LEVEL.WARN, "版本" .. jin.revision()) end jin.core.onDraw = function() - -end + +end
\ No newline at end of file diff --git a/particle/particle.lua b/particle/particle.lua new file mode 100644 index 0000000..e430da9 --- /dev/null +++ b/particle/particle.lua @@ -0,0 +1,5 @@ +local particle = {} + + + +return particle
\ No newline at end of file diff --git a/pool/pool.lua b/pool/pool.lua new file mode 100644 index 0000000..39eb3a6 --- /dev/null +++ b/pool/pool.lua @@ -0,0 +1,3 @@ +local pool = {} + +return pool
\ No newline at end of file diff --git a/timer/timer.lua b/timer/timer.lua new file mode 100644 index 0000000..3566709 --- /dev/null +++ b/timer/timer.lua @@ -0,0 +1,60 @@ +local timer = {} +local MODE = { + EVERY = 1, + REPEATS = 2, + AFTER = 3, +} +local timers = {} + +timer.update = function(sec) + for i, pack in ipairs(timers) do + pack.count = pack.count + sec + if pack.count >= pack.time then + if pack.mode == MODE.EVERY then + pack.count = 0 + pack.callback() + elseif pack.mode == MODE.REPEATS then + pack.count = 0 + pack.callback() + pack.repeats = pack.repeats + 1 + if pack.repeats >= pack.rpt then + table.remove(timers, i) + end + elseif pack.mode == MODE.AFTER then + pack.callback() + table.remove(timers, i) + end + end + end +end + +timer.every = function(sec, callback) + local pack = {} + pack.mode = MODE.EVERY + pack.time = sec + pack.callback = callback + pack.count = 0 + table.insert(timers, pack) +end + +timer.repeats = function(sec, rpt, callback) + local pack = {} + pack.mode = MODE.REPEATS + pack.time = sec + pack.callback = callback + pack.count = 0 + pack.repeats = 0 + pack.rpt = rpt + table.insert(timers, pack) +end + +timer.after = function(sec, callback) + local pack = {} + pack.mode = MODE.AFTER + pack.time = sec + pack.callback = callback + pack.count = 0 + table.insert(timers, pack) +end + +return timer |