Updated Moonsharp Interpreter, added support for implicit conversions, new types: LuaByte, LuaUShort and LuaFloat added to solve method overload conflict, support for setting UserData metatables, remove LuaUserData.AddCallMetaMethod and moved GUI object to Lua

This commit is contained in:
Evil Factory
2022-03-09 13:35:11 -03:00
parent 92dbca40a8
commit a5228583d0
15 changed files with 252 additions and 304 deletions
@@ -2,14 +2,16 @@ local function RegisterBarotrauma(typeName)
return LuaUserData.RegisterType("Barotrauma." .. typeName)
end
local AddCallMetaMember = LuaUserData.AddCallMetaMember
LuaUserData.RegisterType("System.TimeSpan")
if SERVER then
RegisterBarotrauma("Networking.GameServer")
end
RegisterBarotrauma("LuaByte")
RegisterBarotrauma("LuaUShort")
RegisterBarotrauma("LuaFloat")
RegisterBarotrauma("CauseOfDeathType")
RegisterBarotrauma("Level+InterestingPosition")
RegisterBarotrauma("Level+PositionType")
@@ -18,7 +20,7 @@ RegisterBarotrauma("SpawnType")
RegisterBarotrauma("Networking.ChatMessageType")
RegisterBarotrauma("InputType")
AddCallMetaMember(RegisterBarotrauma("Job"))
RegisterBarotrauma("Job")
RegisterBarotrauma("JobPrefab")
RegisterBarotrauma("Level")
RegisterBarotrauma("Networking.ServerLog+MessageType")
@@ -64,7 +66,7 @@ RegisterBarotrauma("Networking.ServerSettings")
RegisterBarotrauma("Networking.ServerSettings+SavedClientPermission")
RegisterBarotrauma("Inventory")
RegisterBarotrauma("ItemInventory")
AddCallMetaMember(RegisterBarotrauma("FireSource"))
RegisterBarotrauma("FireSource")
RegisterBarotrauma("Items.Components.Connection")
RegisterBarotrauma("Items.Components.Fabricator")
@@ -129,32 +131,32 @@ RegisterBarotrauma("AITrigger")
RegisterBarotrauma("WreckAI")
RegisterBarotrauma("WreckAIConfig")
AddCallMetaMember(RegisterBarotrauma("AIObjective"))
AddCallMetaMember(RegisterBarotrauma("AIObjectiveChargeBatteries"))
AddCallMetaMember(RegisterBarotrauma("AIObjectiveCleanupItem"))
AddCallMetaMember(RegisterBarotrauma("AIObjectiveCleanupItems"))
AddCallMetaMember(RegisterBarotrauma("AIObjectiveCombat"))
AddCallMetaMember(RegisterBarotrauma("AIObjectiveContainItem"))
AddCallMetaMember(RegisterBarotrauma("AIObjectiveDecontainItem"))
AddCallMetaMember(RegisterBarotrauma("AIObjectiveEscapeHandcuffs"))
AddCallMetaMember(RegisterBarotrauma("AIObjectiveExtinguishFire"))
AddCallMetaMember(RegisterBarotrauma("AIObjectiveExtinguishFires"))
AddCallMetaMember(RegisterBarotrauma("AIObjectiveFightIntruders"))
AddCallMetaMember(RegisterBarotrauma("AIObjectiveFindDivingGear"))
AddCallMetaMember(RegisterBarotrauma("AIObjectiveFindSafety"))
AddCallMetaMember(RegisterBarotrauma("AIObjectiveFixLeak"))
AddCallMetaMember(RegisterBarotrauma("AIObjectiveFixLeaks"))
AddCallMetaMember(RegisterBarotrauma("AIObjectiveGetItem"))
AddCallMetaMember(RegisterBarotrauma("AIObjectiveGoTo"))
AddCallMetaMember(RegisterBarotrauma("AIObjectiveIdle"))
AddCallMetaMember(RegisterBarotrauma("AIObjectiveOperateItem"))
AddCallMetaMember(RegisterBarotrauma("AIObjectiveOperateItem"))
AddCallMetaMember(RegisterBarotrauma("AIObjectivePumpWater"))
AddCallMetaMember(RegisterBarotrauma("AIObjectiveRepairItem"))
AddCallMetaMember(RegisterBarotrauma("AIObjectiveRepairItems"))
AddCallMetaMember(RegisterBarotrauma("AIObjectiveRescue"))
AddCallMetaMember(RegisterBarotrauma("AIObjectiveRescueAll"))
AddCallMetaMember(RegisterBarotrauma("AIObjectiveReturn"))
RegisterBarotrauma("AIObjectiveChargeBatteries")
RegisterBarotrauma("AIObjective")
RegisterBarotrauma("AIObjectiveCleanupItem")
RegisterBarotrauma("AIObjectiveCleanupItems")
RegisterBarotrauma("AIObjectiveCombat")
RegisterBarotrauma("AIObjectiveContainItem")
RegisterBarotrauma("AIObjectiveDecontainItem")
RegisterBarotrauma("AIObjectiveEscapeHandcuffs")
RegisterBarotrauma("AIObjectiveExtinguishFire")
RegisterBarotrauma("AIObjectiveExtinguishFires")
RegisterBarotrauma("AIObjectiveFightIntruders")
RegisterBarotrauma("AIObjectiveFindDivingGear")
RegisterBarotrauma("AIObjectiveFindSafety")
RegisterBarotrauma("AIObjectiveFixLeak")
RegisterBarotrauma("AIObjectiveFixLeaks")
RegisterBarotrauma("AIObjectiveGetItem")
RegisterBarotrauma("AIObjectiveGoTo")
RegisterBarotrauma("AIObjectiveIdle")
RegisterBarotrauma("AIObjectiveOperateItem")
RegisterBarotrauma("AIObjectiveOperateItem")
RegisterBarotrauma("AIObjectivePumpWater")
RegisterBarotrauma("AIObjectiveRepairItem")
RegisterBarotrauma("AIObjectiveRepairItems")
RegisterBarotrauma("AIObjectiveRescue")
RegisterBarotrauma("AIObjectiveRescueAll")
RegisterBarotrauma("AIObjectiveReturn")
RegisterBarotrauma("AIObjectiveCombat+CombatMode")
RegisterBarotrauma("TalentPrefab")
@@ -224,19 +226,19 @@ RegisterBarotrauma("Pair`2[[Barotrauma.JobPrefab],[System.Int32]]")
RegisterBarotrauma("Range`1[System.Single]")
AddCallMetaMember(RegisterBarotrauma("CharacterInfo"))
AddCallMetaMember(RegisterBarotrauma("Items.Components.Signal"))
AddCallMetaMember(RegisterBarotrauma("SubmarineInfo"))
RegisterBarotrauma("CharacterInfo")
RegisterBarotrauma("Items.Components.Signal")
RegisterBarotrauma("SubmarineInfo")
RegisterBarotrauma("MapCreatures.Behavior.BallastFloraBehavior")
RegisterBarotrauma("MapCreatures.Behavior.BallastFloraBranch")
AddCallMetaMember(LuaUserData.RegisterType("Microsoft.Xna.Framework.Vector2"))
AddCallMetaMember(LuaUserData.RegisterType("Microsoft.Xna.Framework.Vector3"))
AddCallMetaMember(LuaUserData.RegisterType("Microsoft.Xna.Framework.Vector4"))
AddCallMetaMember(LuaUserData.RegisterType("Microsoft.Xna.Framework.Color"))
AddCallMetaMember(LuaUserData.RegisterType("Microsoft.Xna.Framework.Point"))
AddCallMetaMember(LuaUserData.RegisterType("Microsoft.Xna.Framework.Rectangle"))
LuaUserData.RegisterType("Microsoft.Xna.Framework.Vector2")
LuaUserData.RegisterType("Microsoft.Xna.Framework.Vector3")
LuaUserData.RegisterType("Microsoft.Xna.Framework.Vector4")
LuaUserData.RegisterType("Microsoft.Xna.Framework.Color")
LuaUserData.RegisterType("Microsoft.Xna.Framework.Point")
LuaUserData.RegisterType("Microsoft.Xna.Framework.Rectangle")
if SERVER then
RegisterBarotrauma("Networking.ServerPeer")
@@ -262,18 +264,18 @@ LuaUserData.RegisterType("Microsoft.Xna.Framework.Graphics.Texture2D")
LuaUserData.RegisterType("EventInput.KeyEventArgs")
LuaUserData.RegisterType("Microsoft.Xna.Framework.Input.Keys")
AddCallMetaMember(RegisterBarotrauma("Sprite"))
AddCallMetaMember(RegisterBarotrauma("GUILayoutGroup"))
AddCallMetaMember(RegisterBarotrauma("GUITextBox"))
AddCallMetaMember(RegisterBarotrauma("GUITextBlock"))
AddCallMetaMember(RegisterBarotrauma("GUIButton"))
AddCallMetaMember(RegisterBarotrauma("RectTransform"))
AddCallMetaMember(RegisterBarotrauma("GUIFrame"))
AddCallMetaMember(RegisterBarotrauma("GUITickBox"))
AddCallMetaMember(RegisterBarotrauma("GUICustomComponent"))
AddCallMetaMember(RegisterBarotrauma("GUIImage"))
AddCallMetaMember(RegisterBarotrauma("GUIListBox"))
AddCallMetaMember(RegisterBarotrauma("GUIScrollBar"))
AddCallMetaMember(RegisterBarotrauma("GUIDropDown"))
RegisterBarotrauma("Sprite")
RegisterBarotrauma("GUILayoutGroup")
RegisterBarotrauma("GUITextBox")
RegisterBarotrauma("GUITextBlock")
RegisterBarotrauma("GUIButton")
RegisterBarotrauma("RectTransform")
RegisterBarotrauma("GUIFrame")
RegisterBarotrauma("GUITickBox")
RegisterBarotrauma("GUICustomComponent")
RegisterBarotrauma("GUIImage")
RegisterBarotrauma("GUIListBox")
RegisterBarotrauma("GUIScrollBar")
RegisterBarotrauma("GUIDropDown")
end