From 5003d0beb7f0dab9eda361f4c7ada02e2350d4f7 Mon Sep 17 00:00:00 2001 From: EvilFactory Date: Mon, 13 Feb 2023 17:06:48 -0300 Subject: [PATCH] Fixed GetComponentString not working with custom types and registered/added missing types --- Barotrauma/BarotraumaShared/Lua/DefaultLib/LibClient.lua | 1 + Barotrauma/BarotraumaShared/Lua/DefaultLib/LibShared.lua | 2 ++ .../BarotraumaShared/Lua/DefaultRegister/RegisterClient.lua | 4 ++++ .../SharedSource/LuaCs/Lua/LuaBarotraumaAdditions.cs | 4 +++- 4 files changed, 10 insertions(+), 1 deletion(-) diff --git a/Barotrauma/BarotraumaShared/Lua/DefaultLib/LibClient.lua b/Barotrauma/BarotraumaShared/Lua/DefaultLib/LibClient.lua index e801e5ab9..2c83f2333 100644 --- a/Barotrauma/BarotraumaShared/Lua/DefaultLib/LibClient.lua +++ b/Barotrauma/BarotraumaShared/Lua/DefaultLib/LibClient.lua @@ -27,6 +27,7 @@ defaultLib["SoundPrefab"] = CreateStatic("Barotrauma.SoundPrefab", true) defaultLib["BackgroundMusic"] = CreateStatic("Barotrauma.BackgroundMusic", true) defaultLib["GUISound"] = CreateStatic("Barotrauma.GUISound", true) defaultLib["DamageSound"] = CreateStatic("Barotrauma.DamageSound", true) +defaultLib["WaterRenderer"] = CreateStatic("Barotrauma.WaterRenderer", true) defaultLib["TextureLoader"] = CreateStatic("Barotrauma.TextureLoader") defaultLib["Sprite"] = CreateStatic("Barotrauma.Sprite", true) diff --git a/Barotrauma/BarotraumaShared/Lua/DefaultLib/LibShared.lua b/Barotrauma/BarotraumaShared/Lua/DefaultLib/LibShared.lua index 1c9af16fc..d8a8fd251 100644 --- a/Barotrauma/BarotraumaShared/Lua/DefaultLib/LibShared.lua +++ b/Barotrauma/BarotraumaShared/Lua/DefaultLib/LibShared.lua @@ -56,6 +56,8 @@ defaultLib["InputType"] = CreateStatic("Barotrauma.InputType") defaultLib["Inventory"] = CreateStatic("Barotrauma.Inventory") +defaultLib["CharacterInventory"] = CreateStatic("Barotrauma.CharacterInventory") +defaultLib["ItemInventory"] = CreateStatic("Barotrauma.ItemInventory") defaultLib["ContentPackageManager"] = CreateStatic("Barotrauma.ContentPackageManager") defaultLib["GameSettings"] = CreateStatic("Barotrauma.GameSettings") defaultLib["RichString"] = CreateStatic("Barotrauma.RichString", true) diff --git a/Barotrauma/BarotraumaShared/Lua/DefaultRegister/RegisterClient.lua b/Barotrauma/BarotraumaShared/Lua/DefaultRegister/RegisterClient.lua index b58d46194..75abfb243 100644 --- a/Barotrauma/BarotraumaShared/Lua/DefaultRegister/RegisterClient.lua +++ b/Barotrauma/BarotraumaShared/Lua/DefaultRegister/RegisterClient.lua @@ -68,6 +68,10 @@ RegisterBarotrauma("Key") RegisterBarotrauma("PlayerInput") RegisterBarotrauma("ScalableFont") +Register("Microsoft.Xna.Framework.Graphics.Effect") +Register("Microsoft.Xna.Framework.Graphics.EffectParameterCollection") +Register("Microsoft.Xna.Framework.Graphics.EffectParameter") + Register("Microsoft.Xna.Framework.Graphics.SpriteBatch") Register("Microsoft.Xna.Framework.Graphics.Texture2D") Register("EventInput.KeyboardDispatcher") diff --git a/Barotrauma/BarotraumaShared/SharedSource/LuaCs/Lua/LuaBarotraumaAdditions.cs b/Barotrauma/BarotraumaShared/SharedSource/LuaCs/Lua/LuaBarotraumaAdditions.cs index b4a2371b8..30b11ec80 100644 --- a/Barotrauma/BarotraumaShared/SharedSource/LuaCs/Lua/LuaBarotraumaAdditions.cs +++ b/Barotrauma/BarotraumaShared/SharedSource/LuaCs/Lua/LuaBarotraumaAdditions.cs @@ -57,10 +57,12 @@ namespace Barotrauma { public object GetComponentString(string component) { - Type type = Type.GetType("Barotrauma.Items.Components." + component); + Type type = LuaUserData.GetType("Barotrauma.Items.Components." + component); if (type == null) + { return null; + } MethodInfo method = typeof(Item).GetMethod(nameof(Item.GetComponent)); MethodInfo generic = method.MakeGenericMethod(type);