Fixed GetComponentString not working with custom types and registered/added missing types

This commit is contained in:
EvilFactory
2023-02-13 17:06:48 -03:00
parent aaffb54141
commit 5003d0beb7
4 changed files with 10 additions and 1 deletions

View File

@@ -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)

View File

@@ -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)

View File

@@ -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")

View File

@@ -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);