summaryrefslogtreecommitdiff
path: root/gamemode/init_utility.lua
diff options
context:
space:
mode:
Diffstat (limited to 'gamemode/init_utility.lua')
-rw-r--r--gamemode/init_utility.lua27
1 files changed, 27 insertions, 0 deletions
diff --git a/gamemode/init_utility.lua b/gamemode/init_utility.lua
index ca2d888..5346cdc 100644
--- a/gamemode/init_utility.lua
+++ b/gamemode/init_utility.lua
@@ -1 +1,28 @@
//Helper functions to refactor the init
+
+function findRecursive(folderstring,recursive,dofunction)
+ local folderpath = "gamemodes/" .. GM.GAMEMODE_FOLDER_NAME .. "/gamemode/" .. folderstring .. "/"
+ local files, directories = file.Find(folderpath .. "*", "MOD")
+ if(recursive) then
+ for k,v in pairs(directories) do
+ addResourceFolder(folderstring..v,recursive)
+ end
+ end
+ for k,v in pairs(files) do
+ dofunction(folderstring .. "/".. v)
+ end
+end
+
+//Does AddCSLuaFile() on all files within a folderpath, optionally recursive
+//Ex:
+// AddCSLuaFolder("client/extras",true)
+function AddCSLuaFolder(folderstring,recursive)
+ findRecursive(folderstring,recursive,function(string) AddCSLuaFile(string) end)
+end
+
+//Does include() on all files within a folderpath, optionally recursive
+//Ex:
+// includeFolder("server/extras",false)
+function includeFolder(folderstring,recursive)
+ findRecursive(folderstring,recursive,function(string) include(string) end)
+end