157 lines
10 KiB
Lua
157 lines
10 KiB
Lua
local defaultLib = {}
|
|
|
|
local descriptors = require("DefaultRegister")
|
|
|
|
local CreateStatic = function (typeName, addCallMethod)
|
|
local staticUserdata = LuaUserData.CreateStatic(typeName)
|
|
|
|
if addCallMethod then
|
|
debug.setmetatable(staticUserdata, {
|
|
__call = function(obj, ...)
|
|
return staticUserdata.__new(...)
|
|
end
|
|
})
|
|
end
|
|
|
|
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"] = 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["ClientPermissions"] = CreateEnum("Barotrauma.Networking.ClientPermissions")
|
|
defaultLib["InputType"] = CreateStatic("Barotrauma.InputType")
|
|
|
|
|
|
defaultLib["ContentPackageManager"] = CreateStatic("Barotrauma.ContentPackageManager")
|
|
defaultLib["GameSettings"] = CreateStatic("Barotrauma.GameSettings")
|
|
defaultLib["Identifier"] = CreateStatic("Barotrauma.Identifier", true)
|
|
defaultLib["ContentPackage"] = CreateStatic("Barotrauma.ContentPackage", true)
|
|
defaultLib["WayPoint"] = CreateStatic("Barotrauma.WayPoint", true)
|
|
defaultLib["Submarine"] = CreateStatic("Barotrauma.Submarine", true)
|
|
defaultLib["Client"] = CreateStatic("Barotrauma.Networking.Client", true)
|
|
defaultLib["Character"] = CreateStatic("Barotrauma.Character")
|
|
defaultLib["CharacterInfo"] = CreateStatic("Barotrauma.CharacterInfo", true)
|
|
defaultLib["Item"] = CreateStatic("Barotrauma.Item", true)
|
|
defaultLib["ItemPrefab"] = CreateStatic("Barotrauma.ItemPrefab", true)
|
|
defaultLib["FactionPrefab"] = CreateStatic("Barotrauma.FactionPrefab", true)
|
|
defaultLib["Level"] = CreateStatic("Barotrauma.Level")
|
|
defaultLib["Job"] = CreateStatic("Barotrauma.Job", true)
|
|
defaultLib["JobPrefab"] = CreateStatic("Barotrauma.JobPrefab", true)
|
|
defaultLib["AfflictionPrefab"] = CreateStatic("Barotrauma.AfflictionPrefab", true)
|
|
defaultLib["ChatMessage"] = CreateStatic("Barotrauma.Networking.ChatMessage")
|
|
defaultLib["Hull"] = CreateStatic("Barotrauma.Hull", true)
|
|
defaultLib["Gap"] = CreateStatic("Barotrauma.Gap", true)
|
|
defaultLib["Signal"] = CreateStatic("Barotrauma.Items.Components.Signal", true)
|
|
defaultLib["SubmarineInfo"] = CreateStatic("Barotrauma.SubmarineInfo", true)
|
|
defaultLib["Entity"] = CreateStatic("Barotrauma.Entity", true)
|
|
defaultLib["Physics"] = CreateStatic("Barotrauma.Physics")
|
|
defaultLib["FireSource"] = CreateStatic("Barotrauma.FireSource", true)
|
|
defaultLib["TextManager"] = CreateStatic("Barotrauma.TextManager")
|
|
defaultLib["NetEntityEvent"] = CreateStatic("Barotrauma.Networking.NetEntityEvent")
|
|
defaultLib["Screen"] = CreateStatic("Barotrauma.Screen")
|
|
defaultLib["AttackResult"] = CreateStatic("Barotrauma.AttackResult", true)
|
|
|
|
defaultLib["AIObjective"] = CreateStatic("Barotrauma.AIObjective", true)
|
|
defaultLib["AIObjectiveChargeBatteries"] = CreateStatic("Barotrauma.AIObjectiveChargeBatteries", true)
|
|
defaultLib["AIObjectiveCleanupItem"] = CreateStatic("Barotrauma.AIObjectiveCleanupItem", true)
|
|
defaultLib["AIObjectiveCleanupItems"] = CreateStatic("Barotrauma.AIObjectiveCleanupItems", true)
|
|
defaultLib["AIObjectiveCombat"] = CreateStatic("Barotrauma.AIObjectiveCombat", true)
|
|
defaultLib["AIObjectiveContainItem"] = CreateStatic("Barotrauma.AIObjectiveContainItem", true)
|
|
defaultLib["AIObjectiveDecontainItem"] = CreateStatic("Barotrauma.AIObjectiveDecontainItem", true)
|
|
defaultLib["AIObjectiveEscapeHandcuffs"] = CreateStatic("Barotrauma.AIObjectiveEscapeHandcuffs", true)
|
|
defaultLib["AIObjectiveExtinguishFire"] = CreateStatic("Barotrauma.AIObjectiveExtinguishFire", true)
|
|
defaultLib["AIObjectiveExtinguishFires"] = CreateStatic("Barotrauma.AIObjectiveExtinguishFires", true)
|
|
defaultLib["AIObjectiveFightIntruders"] = CreateStatic("Barotrauma.AIObjectiveFightIntruders", true)
|
|
defaultLib["AIObjectiveFindDivingGear"] = CreateStatic("Barotrauma.AIObjectiveFindDivingGear", true)
|
|
defaultLib["AIObjectiveFindSafety"] = CreateStatic("Barotrauma.AIObjectiveFindSafety", true)
|
|
defaultLib["AIObjectiveFixLeak"] = CreateStatic("Barotrauma.AIObjectiveFixLeak", true)
|
|
defaultLib["AIObjectiveFixLeaks"] = CreateStatic("Barotrauma.AIObjectiveFixLeaks", true)
|
|
defaultLib["AIObjectiveGetItem"] = CreateStatic("Barotrauma.AIObjectiveGetItem", true)
|
|
defaultLib["AIObjectiveGoTo"] = CreateStatic("Barotrauma.AIObjectiveGoTo", true)
|
|
defaultLib["AIObjectiveIdle"] = CreateStatic("Barotrauma.AIObjectiveIdle", true)
|
|
defaultLib["AIObjectiveOperateItem"] = CreateStatic("Barotrauma.AIObjectiveOperateItem", true)
|
|
defaultLib["AIObjectiveOperateItem"] = CreateStatic("Barotrauma.AIObjectiveOperateItem", true)
|
|
defaultLib["AIObjectivePumpWater"] = CreateStatic("Barotrauma.AIObjectivePumpWater", true)
|
|
defaultLib["AIObjectiveRepairItem"] = CreateStatic("Barotrauma.AIObjectiveRepairItem", true)
|
|
defaultLib["AIObjectiveRepairItems"] = CreateStatic("Barotrauma.AIObjectiveRepairItems", true)
|
|
defaultLib["AIObjectiveRescue"] = CreateStatic("Barotrauma.AIObjectiveRescue", true)
|
|
defaultLib["AIObjectiveRescueAll"] = CreateStatic("Barotrauma.AIObjectiveRescueAll", true)
|
|
defaultLib["AIObjectiveReturn"] = CreateStatic("Barotrauma.AIObjectiveReturn", true)
|
|
|
|
local barotraumaComponentsToReference = { "DockingPort", "Door", "GeneticMaterial", "Growable", "Holdable", "LevelResource", "ItemComponent", "ItemLabel", "LightComponent", "Controller", "Deconstructor", "Engine", "Fabricator", "OutpostTerminal", "Pump", "Reactor", "Steering", "PowerContainer", "Projectile", "Repairable", "Rope", "Scanner", "ButtonTerminal", "ConnectionPanel", "CustomInterface", "MemoryComponent", "Terminal", "WifiComponent", "Wire", "TriggerComponent", "ElectricalDischarger", "EntitySpawnerComponent", "ProducedItem", "VineTile", "GrowthSideExtension", "IdCard", "MeleeWeapon", "Pickable", "Propulsion", "RangedWeapon", "RepairTool", "Sprayer", "Throwable", "ItemContainer", "Ladder", "LimbPos", "MiniMap", "OxygenGenerator", "Sonar", "SonarTransducer", "Vent", "NameTag", "Planter", "Powered", "PowerTransfer", "Quality", "RemoteController", "AdderComponent", "AndComponent", "ArithmeticComponent", "ColorComponent", "ConcatComponent", "Connection", "DelayComponent", "DivideComponent", "EqualsComponent", "ExponentiationComponent", "FunctionComponent", "GreaterComponent", "ModuloComponent", "MotionSensor", "MultiplyComponent", "NotComponent", "OrComponent", "OscillatorComponent", "OxygenDetector", "RegExFindComponent", "RelayComponent", "SignalCheckComponent", "SmokeDetector", "StringComponent", "SubtractComponent", "TrigonometricFunctionComponent", "WaterDetector", "XorComponent", "StatusHUD", "Turret", "Wearable", "CustomInterface"
|
|
}
|
|
|
|
defaultLib["Components"] = {}
|
|
|
|
for key, value in pairs(barotraumaComponentsToReference) do
|
|
defaultLib["Components"][value] = CreateStatic("Barotrauma.Items.Components." .. value, true)
|
|
end
|
|
|
|
defaultLib["Vector2"] = CreateStatic("Microsoft.Xna.Framework.Vector2", true)
|
|
defaultLib["Vector3"] = CreateStatic("Microsoft.Xna.Framework.Vector3", true)
|
|
defaultLib["Vector4"] = CreateStatic("Microsoft.Xna.Framework.Vector4", true)
|
|
defaultLib["Color"] = CreateStatic("Microsoft.Xna.Framework.Color", true)
|
|
defaultLib["Point"] = CreateStatic("Microsoft.Xna.Framework.Point", true)
|
|
defaultLib["Rectangle"] = CreateStatic("Microsoft.Xna.Framework.Rectangle", true)
|
|
defaultLib["Matrix"] = CreateStatic("Microsoft.Xna.Framework.Matrix", true)
|
|
|
|
if SERVER then
|
|
|
|
elseif CLIENT then
|
|
defaultLib["Sprite"] = CreateStatic("Barotrauma.Sprite", true)
|
|
defaultLib["PlayerInput"] = CreateStatic("Barotrauma.PlayerInput", true)
|
|
|
|
defaultLib["Keys"] = CreateStatic("Microsoft.Xna.Framework.Input.Keys", true)
|
|
|
|
defaultLib["GUI"] = {
|
|
GUI = CreateStatic("Barotrauma.GUI", true),
|
|
RectTransform = CreateStatic("Barotrauma.RectTransform", true),
|
|
LayoutGroup = CreateStatic("Barotrauma.GUILayoutGroup", true),
|
|
Button = CreateStatic("Barotrauma.GUIButton", true),
|
|
TextBox = CreateStatic("Barotrauma.GUITextBox", true),
|
|
Canvas = CreateStatic("Barotrauma.GUICanvas", true),
|
|
Frame = CreateStatic("Barotrauma.GUIFrame", true),
|
|
TextBlock = CreateStatic("Barotrauma.GUITextBlock", true),
|
|
TickBox = CreateStatic("Barotrauma.GUITickBox", true),
|
|
Image = CreateStatic("Barotrauma.GUIImage", true),
|
|
ListBox = CreateStatic("Barotrauma.GUIListBox", true),
|
|
ScrollBar = CreateStatic("Barotrauma.GUIScrollBar", true),
|
|
DropDown = CreateStatic("Barotrauma.GUIDropDown", true),
|
|
NumberInput = CreateStatic("Barotrauma.GUINumberInput", true),
|
|
|
|
Screen = CreateStatic("Barotrauma.Screen"),
|
|
|
|
Anchor = CreateStatic("Barotrauma.Anchor"),
|
|
Alignment = CreateStatic("Barotrauma.Alignment"),
|
|
Pivot = CreateStatic("Barotrauma.Pivot"),
|
|
}
|
|
end
|
|
|
|
return defaultLib
|