summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2018-07-25 23:56:04 +0800
committerchai <chaifix@163.com>2018-07-25 23:56:04 +0800
commit5815fa72ac78149d3efac6ab482056de0b7dbd03 (patch)
tree4f10e675b3acd61ff9a3d6d02263e4c8a16b25f1
*init
-rw-r--r--EventMsgCenter/EventMsgCenter.lua34
-rw-r--r--EventMsgCenter/Events.lua18
-rw-r--r--EventMsgCenter/README.md0
-rw-r--r--anim/README.md0
-rw-r--r--enum/enum.lua11
-rw-r--r--newton/README.md0
6 files changed, 63 insertions, 0 deletions
diff --git a/EventMsgCenter/EventMsgCenter.lua b/EventMsgCenter/EventMsgCenter.lua
new file mode 100644
index 0000000..ffb784d
--- /dev/null
+++ b/EventMsgCenter/EventMsgCenter.lua
@@ -0,0 +1,34 @@
+-- <event, {callbacks}>
+local _broadcast = {}
+local EventMsgCenter = {}
+
+EventMsgCenter.registerMsg = function(e, callback)
+ if _broadcast[e] == nil then
+ _broadcast[e] = {}
+ end
+ table.insert(_broadcast[e], callback)
+end
+
+EventMsgCenter.unRegisterMsg = function(e, callback)
+ if _broadcast[e] == nil or callback == nil then
+ return
+ end
+ table.remove(_broadcast[e], callback)
+end
+
+EventMsgCenter.unRegisterAllMsgByEvent = function(e)
+ if _broadcast[e] == nil then
+ return
+ end
+
+end
+
+EventMsgCenter.unRegisterAllMsg = function()
+
+end
+
+EventMsgCenter.sendMsg = function(e, ...)
+
+end
+
+return EventMsgCenter
diff --git a/EventMsgCenter/Events.lua b/EventMsgCenter/Events.lua
new file mode 100644
index 0000000..443f450
--- /dev/null
+++ b/EventMsgCenter/Events.lua
@@ -0,0 +1,18 @@
+local events = {
+ "Player_Move",
+ "Player_Change",
+ "Player_Spawn",
+ "Player_Kick"
+}
+
+function CreatEnumTable(tbl, index)
+ assert(IsTable(tbl))
+ local enumtbl = {}
+ local enumindex = index or 0
+ for i, v in ipairs(tbl) do
+ enumtbl[v] = enumindex + i
+ end
+ return enumtbl
+end
+
+return CreatEnumTable(events) \ No newline at end of file
diff --git a/EventMsgCenter/README.md b/EventMsgCenter/README.md
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/EventMsgCenter/README.md
diff --git a/anim/README.md b/anim/README.md
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/anim/README.md
diff --git a/enum/enum.lua b/enum/enum.lua
new file mode 100644
index 0000000..20a653d
--- /dev/null
+++ b/enum/enum.lua
@@ -0,0 +1,11 @@
+local createEnumTable = function(tbl, index)
+ assert(IsTable(tbl))
+ local enumtbl = {}
+ local enumindex = index or 0
+ for i, v in ipairs(tbl) do
+ enumtbl[v] = enumindex + i
+ end
+ return enumtbl
+end
+
+return createEnumTable \ No newline at end of file
diff --git a/newton/README.md b/newton/README.md
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/newton/README.md