Most enums are now just tables, no need for registration
This commit is contained in:
@@ -16,52 +16,36 @@ local CreateStatic = function (typeName, addCallMethod)
|
||||
return staticUserdata
|
||||
end
|
||||
|
||||
local CreateEnum = LuaUserData.CreateEnumTable
|
||||
|
||||
defaultLib["Descriptors"] = descriptors
|
||||
|
||||
defaultLib["Byte"] = CreateStatic("Barotrauma.LuaByte", true)
|
||||
defaultLib["UShort"] = CreateStatic("Barotrauma.LuaUShort", true)
|
||||
defaultLib["Float"] = CreateStatic("Barotrauma.LuaFloat", true)
|
||||
|
||||
defaultLib["SpawnType"] = CreateStatic("Barotrauma.SpawnType")
|
||||
defaultLib["ChatMessageType"] = CreateStatic("Barotrauma.Networking.ChatMessageType")
|
||||
defaultLib["ServerLog_MessageType"] = CreateStatic("Barotrauma.Networking.ServerLog+MessageType")
|
||||
defaultLib["ServerLogMessageType"] = CreateStatic("Barotrauma.Networking.ServerLog+MessageType")
|
||||
defaultLib["PositionType"] = CreateStatic("Barotrauma.Level+PositionType")
|
||||
defaultLib["InvSlotType"] = CreateStatic("Barotrauma.InvSlotType")
|
||||
defaultLib["LimbType"] = CreateStatic("Barotrauma.LimbType")
|
||||
defaultLib["ActionType"] = CreateStatic("Barotrauma.ActionType")
|
||||
defaultLib["AbilityEffectType"] = CreateStatic("Barotrauma.AbilityEffectType")
|
||||
defaultLib["StatTypes"] = CreateStatic("Barotrauma.StatTypes")
|
||||
defaultLib["AbilityFlags"] = CreateStatic("Barotrauma.AbilityFlags")
|
||||
defaultLib["DeliveryMethod"] = CreateStatic("Barotrauma.Networking.DeliveryMethod")
|
||||
defaultLib["ClientPacketHeader"] = CreateStatic("Barotrauma.Networking.ClientPacketHeader")
|
||||
defaultLib["ServerPacketHeader"] = CreateStatic("Barotrauma.Networking.ServerPacketHeader")
|
||||
defaultLib["RandSync"] = CreateStatic("Barotrauma.Rand+RandSync")
|
||||
defaultLib["DisconnectReason"] = CreateStatic("Barotrauma.Networking.DisconnectReason")
|
||||
defaultLib["TraitorMessageType"] = CreateStatic("Barotrauma.Networking.TraitorMessageType")
|
||||
defaultLib["CombatMode"] = CreateStatic("Barotrauma.AIObjectiveCombat+CombatMode")
|
||||
defaultLib["CauseOfDeathType"] = CreateStatic("Barotrauma.CauseOfDeathType")
|
||||
defaultLib["CharacterTeamType"] = CreateStatic("Barotrauma.CharacterTeamType")
|
||||
defaultLib["InputType"] = {
|
||||
Select = 0, Use = 1, Aim = 2, Up = 3, Down = 4, Left = 5, Right = 6, Attack = 7, Run = 8, Crouch = 9, InfoTab = 10, Chat = 11, RadioChat = 12, CrewOrders = 13, Ragdoll = 14, Health = 15, Grab = 16, SelectNextCharacter = 17, SelectPreviousCharacter = 18, Voice = 19, LocalVoice = 20, Deselect = 21, Shoot = 22, Command = 23, ToggleInventory = 24, TakeOneFromInventorySlot = 25, TakeHalfFromInventorySlot = 26, NextFireMode = 27, PreviousFireMode = 28
|
||||
}
|
||||
|
||||
defaultLib["ClientPermissions"] = {
|
||||
None = 0x0,
|
||||
ManageRound = 0x1,
|
||||
Kick = 0x2,
|
||||
Ban = 0x4,
|
||||
Unban = 0x8,
|
||||
SelectSub = 0x10,
|
||||
SelectMode = 0x20,
|
||||
ManageCampaign = 0x40,
|
||||
ConsoleCommands = 0x80,
|
||||
ServerLog = 0x100,
|
||||
ManageSettings = 0x200,
|
||||
ManagePermissions = 0x400,
|
||||
KarmaImmunity = 0x800,
|
||||
All = 0xFFF
|
||||
}
|
||||
defaultLib["SpawnType"] = CreateEnum("Barotrauma.SpawnType")
|
||||
defaultLib["ChatMessageType"] = CreateEnum("Barotrauma.Networking.ChatMessageType")
|
||||
defaultLib["ServerLog_MessageType"] = CreateEnum("Barotrauma.Networking.ServerLog+MessageType")
|
||||
defaultLib["ServerLogMessageType"] = CreateEnum("Barotrauma.Networking.ServerLog+MessageType")
|
||||
defaultLib["PositionType"] = CreateEnum("Barotrauma.Level+PositionType")
|
||||
defaultLib["InvSlotType"] = CreateEnum("Barotrauma.InvSlotType")
|
||||
defaultLib["LimbType"] = CreateEnum("Barotrauma.LimbType")
|
||||
defaultLib["ActionType"] = CreateEnum("Barotrauma.ActionType")
|
||||
defaultLib["AbilityEffectType"] = CreateEnum("Barotrauma.AbilityEffectType")
|
||||
defaultLib["StatTypes"] = CreateEnum("Barotrauma.StatTypes")
|
||||
defaultLib["AbilityFlags"] = CreateEnum("Barotrauma.AbilityFlags")
|
||||
defaultLib["DeliveryMethod"] = CreateEnum("Barotrauma.Networking.DeliveryMethod")
|
||||
defaultLib["ClientPacketHeader"] = CreateEnum("Barotrauma.Networking.ClientPacketHeader")
|
||||
defaultLib["ServerPacketHeader"] = CreateEnum("Barotrauma.Networking.ServerPacketHeader")
|
||||
defaultLib["RandSync"] = CreateEnum("Barotrauma.Rand+RandSync")
|
||||
defaultLib["DisconnectReason"] = CreateEnum("Barotrauma.Networking.DisconnectReason")
|
||||
defaultLib["TraitorMessageType"] = CreateEnum("Barotrauma.Networking.TraitorMessageType")
|
||||
defaultLib["CombatMode"] = CreateEnum("Barotrauma.AIObjectiveCombat+CombatMode")
|
||||
defaultLib["CauseOfDeathType"] = CreateEnum("Barotrauma.CauseOfDeathType")
|
||||
defaultLib["CharacterTeamType"] = CreateEnum("Barotrauma.CharacterTeamType")
|
||||
defaultLib["InputType"] = CreateEnum("Barotrauma.InputType")
|
||||
defaultLib["ClientPermissions"] = CreateEnum("Barotrauma.Networking.ClientPermissions")
|
||||
|
||||
|
||||
defaultLib["WayPoint"] = CreateStatic("Barotrauma.WayPoint", true)
|
||||
|
||||
@@ -22,17 +22,11 @@ RegisterBarotrauma("LuaByte")
|
||||
RegisterBarotrauma("LuaUShort")
|
||||
RegisterBarotrauma("LuaFloat")
|
||||
|
||||
RegisterBarotrauma("CauseOfDeathType")
|
||||
RegisterBarotrauma("Level+InterestingPosition")
|
||||
RegisterBarotrauma("Level+PositionType")
|
||||
RegisterBarotrauma("Networking.TraitorMessageType")
|
||||
RegisterBarotrauma("SpawnType")
|
||||
RegisterBarotrauma("Networking.ChatMessageType")
|
||||
|
||||
RegisterBarotrauma("Job")
|
||||
RegisterBarotrauma("JobPrefab")
|
||||
RegisterBarotrauma("Level")
|
||||
RegisterBarotrauma("Networking.ServerLog+MessageType")
|
||||
RegisterBarotrauma("WayPoint")
|
||||
RegisterBarotrauma("Character")
|
||||
RegisterBarotrauma("Item")
|
||||
@@ -56,15 +50,9 @@ RegisterBarotrauma("EntitySpawner")
|
||||
RegisterBarotrauma("MapEntity")
|
||||
RegisterBarotrauma("MapEntityPrefab")
|
||||
RegisterBarotrauma("CauseOfDeath")
|
||||
RegisterBarotrauma("CharacterTeamType")
|
||||
RegisterBarotrauma("Hull")
|
||||
RegisterBarotrauma("Gap")
|
||||
RegisterBarotrauma("PhysicsBody")
|
||||
RegisterBarotrauma("InvSlotType")
|
||||
RegisterBarotrauma("LimbType")
|
||||
RegisterBarotrauma("ActionType")
|
||||
RegisterBarotrauma("AbilityEffectType")
|
||||
RegisterBarotrauma("StatTypes")
|
||||
RegisterBarotrauma("AbilityFlags")
|
||||
RegisterBarotrauma("ItemPrefab")
|
||||
RegisterBarotrauma("SerializableProperty")
|
||||
@@ -127,7 +115,6 @@ RegisterBarotrauma("AIObjectiveRepairItems")
|
||||
RegisterBarotrauma("AIObjectiveRescue")
|
||||
RegisterBarotrauma("AIObjectiveRescueAll")
|
||||
RegisterBarotrauma("AIObjectiveReturn")
|
||||
RegisterBarotrauma("AIObjectiveCombat+CombatMode")
|
||||
|
||||
RegisterBarotrauma("TalentPrefab")
|
||||
RegisterBarotrauma("TalentOption")
|
||||
@@ -175,20 +162,13 @@ end
|
||||
|
||||
RegisterBarotrauma("Networking.IWriteMessage")
|
||||
RegisterBarotrauma("Networking.IReadMessage")
|
||||
RegisterBarotrauma("Networking.ServerPacketHeader")
|
||||
RegisterBarotrauma("Networking.ClientPacketHeader")
|
||||
RegisterBarotrauma("Networking.DeliveryMethod")
|
||||
RegisterBarotrauma("Networking.DeliveryMethod")
|
||||
RegisterBarotrauma("Networking.NetEntityEvent")
|
||||
RegisterBarotrauma("Networking.NetEntityEvent+Type")
|
||||
RegisterBarotrauma("Networking.INetSerializable")
|
||||
RegisterBarotrauma("Networking.DisconnectReason")
|
||||
Register("Lidgren.Network.NetIncomingMessage")
|
||||
Register("Lidgren.Network.NetConnection")
|
||||
Register("System.Net.IPEndPoint")
|
||||
Register("System.Net.IPAddress")
|
||||
|
||||
RegisterBarotrauma("Rand+RandSync")
|
||||
RegisterBarotrauma("Skill")
|
||||
RegisterBarotrauma("SkillPrefab")
|
||||
RegisterBarotrauma("TraitorMissionPrefab")
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using MoonSharp.Interpreter;
|
||||
@@ -87,6 +88,28 @@ namespace Barotrauma
|
||||
return generic.Invoke(null, null);
|
||||
}
|
||||
|
||||
public static object CreateEnumTable(string typeName)
|
||||
{
|
||||
Type type = GetType(typeName);
|
||||
|
||||
if (type == null)
|
||||
{
|
||||
GameMain.Lua.HandleLuaException(new Exception($"Tried to create an enum table with a type that doesn't exist:: {typeName}."));
|
||||
return null;
|
||||
}
|
||||
|
||||
Dictionary<string, object> result = new Dictionary<string, object>();
|
||||
|
||||
foreach (var value in Enum.GetValues(type))
|
||||
{
|
||||
string name = Enum.GetName(type, value);
|
||||
|
||||
result[name] = value;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public static void MakeFieldAccessible(IUserDataDescriptor IUUD, string fieldName)
|
||||
{
|
||||
if (IUUD == null)
|
||||
|
||||
Reference in New Issue
Block a user