Simplify how None is handled and fixed libs getting loaded too late

This commit is contained in:
EvilFactory
2023-03-17 20:24:54 -03:00
parent cf88aa4c5d
commit 6974c5338a
6 changed files with 16 additions and 20 deletions
@@ -14,7 +14,6 @@ defaultLib["Int64"] = CreateStatic("Barotrauma.LuaInt64", true)
defaultLib["UInt64"] = CreateStatic("Barotrauma.LuaUInt64", true) defaultLib["UInt64"] = CreateStatic("Barotrauma.LuaUInt64", true)
defaultLib["Single"] = CreateStatic("Barotrauma.LuaSingle", true) defaultLib["Single"] = CreateStatic("Barotrauma.LuaSingle", true)
defaultLib["Double"] = CreateStatic("Barotrauma.LuaDouble", true) defaultLib["Double"] = CreateStatic("Barotrauma.LuaDouble", true)
defaultLib["none"] = CreateStatic("Barotrauma.LuaNone", true)()
-- Backward compatibility -- Backward compatibility
defaultLib["Float"] = CreateStatic("Barotrauma.LuaSingle", true) defaultLib["Float"] = CreateStatic("Barotrauma.LuaSingle", true)
@@ -69,7 +68,8 @@ defaultLib["WayPoint"] = CreateStatic("Barotrauma.WayPoint", true)
defaultLib["Submarine"] = CreateStatic("Barotrauma.Submarine", true) defaultLib["Submarine"] = CreateStatic("Barotrauma.Submarine", true)
defaultLib["Client"] = CreateStatic("Barotrauma.Networking.Client", true) defaultLib["Client"] = CreateStatic("Barotrauma.Networking.Client", true)
defaultLib["Character"] = CreateStatic("Barotrauma.Character") defaultLib["Character"] = CreateStatic("Barotrauma.Character")
defaultLib["CharacterPrefab"] = CreateStatic("Barotrauma.CharacterPrefab") defaultLib["CharacterHealth"] = CreateStatic("Barotrauma.CharacterHealth", true)
defaultLib["CharacterPrefab"] = CreateStatic("Barotrauma.CharacterPrefab", true)
defaultLib["CharacterInfo"] = CreateStatic("Barotrauma.CharacterInfo", true) defaultLib["CharacterInfo"] = CreateStatic("Barotrauma.CharacterInfo", true)
AddCallMetaTable(defaultLib["CharacterInfo"].HeadPreset) AddCallMetaTable(defaultLib["CharacterInfo"].HeadPreset)
AddCallMetaTable(defaultLib["CharacterInfo"].HeadInfo) AddCallMetaTable(defaultLib["CharacterInfo"].HeadInfo)
@@ -10,6 +10,8 @@ for key, value in pairs(localizedStrings) do
RegisterBarotrauma(value) RegisterBarotrauma(value)
end end
Register("Steamworks.SteamServer")
RegisterBarotrauma("Character+TeamChangeEventData") RegisterBarotrauma("Character+TeamChangeEventData")
RegisterBarotrauma("Networking.GameServer") RegisterBarotrauma("Networking.GameServer")
@@ -3,6 +3,7 @@ local RegisterBarotrauma = LuaSetup.LuaUserData.RegisterTypeBarotrauma
Register("System.TimeSpan") Register("System.TimeSpan")
Register("System.Exception") Register("System.Exception")
Register("System.Console")
RegisterBarotrauma("Success`2[[Barotrauma.ContentPackage],[System.Exception]]") RegisterBarotrauma("Success`2[[Barotrauma.ContentPackage],[System.Exception]]")
RegisterBarotrauma("Failure`2[[Barotrauma.ContentPackage],[System.Exception]]") RegisterBarotrauma("Failure`2[[Barotrauma.ContentPackage],[System.Exception]]")
@@ -17,7 +18,6 @@ RegisterBarotrauma("LuaInt64")
RegisterBarotrauma("LuaUInt64") RegisterBarotrauma("LuaUInt64")
RegisterBarotrauma("LuaSingle") RegisterBarotrauma("LuaSingle")
RegisterBarotrauma("LuaDouble") RegisterBarotrauma("LuaDouble")
RegisterBarotrauma("LuaNone")
RegisterBarotrauma("GameMain") RegisterBarotrauma("GameMain")
RegisterBarotrauma("Networking.BanList") RegisterBarotrauma("Networking.BanList")
+5 -4
View File
@@ -38,6 +38,11 @@ require("DefaultHook")
Descriptors = LuaSetup.LuaUserData.Descriptors Descriptors = LuaSetup.LuaUserData.Descriptors
LuaUserData = LuaSetup.LuaUserData LuaUserData = LuaSetup.LuaUserData
require("DefaultLib/Utils/Math")
require("DefaultLib/Utils/String")
require("DefaultLib/Utils/Util")
require("DefaultLib/Utils/SteamApi")
if false then if false then
LuaUserData.RegisterType = function (typeName) LuaUserData.RegisterType = function (typeName)
local descriptor = Descriptors[typeName] local descriptor = Descriptors[typeName]
@@ -61,10 +66,6 @@ if false then
end end
end end
require("DefaultLib/Utils/Math")
require("DefaultLib/Utils/String")
require("DefaultLib/Utils/Util")
require("DefaultLib/Utils/SteamApi")
LuaSetup = nil LuaSetup = nil
@@ -2,11 +2,6 @@
namespace Barotrauma namespace Barotrauma
{ {
public struct LuaNone
{
}
public struct LuaSByte public struct LuaSByte
{ {
public readonly sbyte Value; public readonly sbyte Value;
@@ -256,14 +256,12 @@ namespace Barotrauma
Script.GlobalOptions.CustomConverters.SetScriptToClrCustomConversion(dataType, typeof(Option<T>), v => Script.GlobalOptions.CustomConverters.SetScriptToClrCustomConversion(dataType, typeof(Option<T>), v =>
{ {
if (v.UserData.Object is LuaNone) return Option<T>.Some(v.ToObject<T>());
{ });
return Option<T>.None();
} Script.GlobalOptions.CustomConverters.SetScriptToClrCustomConversion(DataType.Nil, typeof(Option<T>), v =>
else {
{ return Option<T>.None();
return Option<T>.Some(v.ToObject<T>());
}
}); });
} }