aboutsummaryrefslogtreecommitdiff
path: root/gamemode/core/clienteffects/cl_effects.lua
diff options
context:
space:
mode:
authorAlexander Pickering <alexandermpickering@gmail.com>2017-11-06 23:19:21 -0500
committerAlexander Pickering <alexandermpickering@gmail.com>2017-11-06 23:19:21 -0500
commitd7ebd5808e28d3d309eb28b36becfc758bec5a2f (patch)
tree172056c199f5c84c2fb6c621daf7a6e6c150c485 /gamemode/core/clienteffects/cl_effects.lua
parentb9c323a705caa324cebfea994cf7b69294f9eebe (diff)
downloadartery-d7ebd5808e28d3d309eb28b36becfc758bec5a2f.tar.gz
artery-d7ebd5808e28d3d309eb28b36becfc758bec5a2f.tar.bz2
artery-d7ebd5808e28d3d309eb28b36becfc758bec5a2f.zip
Added client effect library
Simple way to register and call client effects
Diffstat (limited to 'gamemode/core/clienteffects/cl_effects.lua')
-rw-r--r--gamemode/core/clienteffects/cl_effects.lua23
1 files changed, 17 insertions, 6 deletions
diff --git a/gamemode/core/clienteffects/cl_effects.lua b/gamemode/core/clienteffects/cl_effects.lua
index d51cf7d..368c34a 100644
--- a/gamemode/core/clienteffects/cl_effects.lua
+++ b/gamemode/core/clienteffects/cl_effects.lua
@@ -1,12 +1,23 @@
-
+local log = nrequire("log.lua")
+local er = {} --master table of effects
local effects = {}
-effects["weapon_blocked"] = function()
- util.ScreenShake( LocalPlayer():GetPos(), 3, 3, 0.25, 100 )
+
+function er.RegisterEffect(name,func)
+ if effects[name] ~= nil then
+ log.warn("Effect \"" .. name .. "\" already registered, replaceing...")
+ end
+ effects[name] = func
end
+er.RegisterEffect("weapon_blocked",function(data)
+ util.ScreenShake( LocalPlayer():GetPos(), 3, 3, 0.25, 100 )
+end)
+
net.Receive("art_clienteffect",function()
- local effectid = net.ReadUInt(32)
- local effectname = ART.screen_effect_ids[effectid]
+ local effectname = net.ReadString()
+ local effectdata = net.ReadData(net.ReadUInt(32))
print("Got effect name",effectname)
- effects[effectname]()
+ effects[effectname](effectdata)
end)
+
+return er