Added more util functions

This commit is contained in:
EvilFactory
2023-03-08 17:22:49 -03:00
parent ef28f7c5fe
commit 3fe775405c
5 changed files with 53 additions and 6 deletions
@@ -4,9 +4,6 @@ local AddCallMetaTable = LuaSetup.LuaUserData.AddCallMetaTable
local CreateStatic = LuaSetup.LuaUserData.CreateStatic
local CreateEnum = LuaSetup.LuaUserData.CreateEnumTable
require("DefaultLib/Utils/Math")
require("DefaultLib/Utils/SteamApi")
defaultLib["SByte"] = CreateStatic("Barotrauma.LuaSByte", true)
defaultLib["Byte"] = CreateStatic("Barotrauma.LuaByte", true)
defaultLib["Int16"] = CreateStatic("Barotrauma.LuaInt16", true)
@@ -0,0 +1,7 @@
string.startsWith = function(str, start)
return string.sub(str, 1, string.len(start)) == start
end
string.endsWith = function(str, ending)
return ending == "" or string.sub(str, -string.len(ending)) == ending
end
@@ -0,0 +1,38 @@
Util = {}
local itemDictionary = {}
local function AddItem(item)
local id = item.Prefab.Identifier.Value
if itemDictionary[id] == nil then
itemDictionary[id] = {}
end
table.insert(itemDictionary[id], item)
end
Hook.Add("item.created", "luaSetup.util.itemDictionary", function (item)
AddItem(item)
end)
Hook.Add("roundEnd", "luaSetup.util.itemDictionary", function (item)
itemDictionary = {}
end)
for _, item in pairs(Item.ItemList) do
AddItem(item)
end
Util.GetItemsById = function(id)
return itemDictionary[id]
end
Util.FindClientCharacter = function(character)
if CLIENT and Game.IsSingleplayer then return nil end
for _, client in pairs(Client.ClientList) do
if client.Character == character then
return client
end
end
end
@@ -61,6 +61,11 @@ if false then
end
end
require("DefaultLib/Utils/Math")
require("DefaultLib/Utils/String")
require("DefaultLib/Utils/Util")
require("DefaultLib/Utils/SteamApi")
LuaSetup = nil
require("ModLoader")