-- luacheck: ignore 111 --[[-- Barotrauma Submarine class with some additional functions and fields Barotrauma source code: [Submarine.cs](https://github.com/evilfactory/Barotrauma-lua-attempt/blob/master/Barotrauma/BarotraumaShared/SharedSource/Map/Submarine.cs) Not all fields and methods will work, this doc was autogenerated. ]] -- @code Submarine -- @pragma nostrip local Submarine = {} --- FindContaining -- @realm shared -- @tparam Vector2 position -- @treturn Submarine function Submarine.FindContaining(position) end --- GetBorders -- @realm shared -- @tparam XElement submarineElement -- @treturn Rectangle function Submarine.GetBorders(submarineElement) end --- Load -- @realm shared -- @tparam SubmarineInfo info -- @tparam bool unloadPrevious -- @tparam IdRemap linkedRemap -- @treturn Submarine function Submarine.Load(info, unloadPrevious, linkedRemap) end --- RepositionEntities -- @realm shared -- @tparam Vector2 moveAmount -- @tparam Enumerable entities function Submarine.RepositionEntities(moveAmount, entities) end --- SaveToXElement -- @realm shared -- @tparam XElement element function SaveToXElement(element) end --- TrySaveAs -- @realm shared -- @tparam string filePath -- @tparam MemoryStream previewImage -- @treturn bool function TrySaveAs(filePath, previewImage) end --- Unload -- @realm shared function Submarine.Unload() end --- Remove -- @realm shared function Remove() end --- Dispose -- @realm shared function Dispose() end --- DisableObstructedWayPoints -- @realm shared function DisableObstructedWayPoints() end --- DisableObstructedWayPoints -- @realm shared -- @tparam Submarine otherSub function DisableObstructedWayPoints(otherSub) end --- EnableObstructedWaypoints -- @realm shared -- @tparam Submarine otherSub function EnableObstructedWaypoints(otherSub) end --- RefreshOutdoorNodes -- @realm shared function RefreshOutdoorNodes() end --- ServerWritePosition -- @realm shared -- @tparam IWriteMessage msg -- @tparam Client c function ServerWritePosition(msg, c) end --- ServerEventWrite -- @realm shared -- @tparam IWriteMessage msg -- @tparam Client c -- @tparam IData extraData function ServerEventWrite(msg, c, extraData) end --- ToString -- @realm shared -- @treturn string function ToString() end --- CalculateBasePrice -- @realm shared -- @treturn number function CalculateBasePrice() end --- AttemptBallastFloraInfection -- @realm shared -- @tparam Identifier identifier -- @tparam number deltaTime -- @tparam number probability function AttemptBallastFloraInfection(identifier, deltaTime, probability) end --- MakeWreck -- @realm shared function MakeWreck() end --- CreateWreckAI -- @realm shared -- @treturn bool function CreateWreckAI() end --- DisableWreckAI -- @realm shared function DisableWreckAI() end --- GetDockedBorders -- @realm shared -- @tparam table checkd -- @treturn Rectangle function GetDockedBorders(checkd) end --- GetConnectedSubs -- @realm shared -- @treturn table function GetConnectedSubs() end --- FindSpawnPos -- @realm shared -- @tparam Vector2 spawnPos -- @tparam Nullable`1 submarineSize -- @tparam number subDockingPortOffset -- @tparam number verticalMoveDir -- @treturn Vector2 function FindSpawnPos(spawnPos, submarineSize, subDockingPortOffset, verticalMoveDir) end --- UpdateTransform -- @realm shared -- @tparam bool interpolate function UpdateTransform(interpolate) end --- VectorToWorldGrid -- @realm shared -- @tparam Vector2 position -- @treturn Vector2 function Submarine.VectorToWorldGrid(position) end --- CalculateDimensions -- @realm shared -- @tparam bool onlyHulls -- @treturn Rectangle function CalculateDimensions(onlyHulls) end --- AbsRect -- @realm shared -- @tparam Vector2 pos -- @tparam Vector2 size -- @treturn Rectangle function Submarine.AbsRect(pos, size) end --- RectContains -- @realm shared -- @tparam Rectangle rect -- @tparam Vector2 pos -- @tparam bool inclusive -- @treturn bool function Submarine.RectContains(rect, pos, inclusive) end --- RectsOverlap -- @realm shared -- @tparam Rectangle rect1 -- @tparam Rectangle rect2 -- @tparam bool inclusive -- @treturn bool function Submarine.RectsOverlap(rect1, rect2, inclusive) end --- PickBody -- @realm shared -- @tparam Vector2 rayStart -- @tparam Vector2 rayEnd -- @tparam Enumerable ignoredBodies -- @tparam Nullable`1 collisionCategory -- @tparam bool ignoreSensors -- @tparam Predicate`1 customPredicate -- @tparam bool allowInsideFixture -- @treturn Body function Submarine.PickBody(rayStart, rayEnd, ignoredBodies, collisionCategory, ignoreSensors, customPredicate, allowInsideFixture) end --- LastPickedBodyDist -- @realm shared -- @tparam Body body -- @treturn number function Submarine.LastPickedBodyDist(body) end --- PickBodies -- @realm shared -- @tparam Vector2 rayStart -- @tparam Vector2 rayEnd -- @tparam Enumerable ignoredBodies -- @tparam Nullable`1 collisionCategory -- @tparam bool ignoreSensors -- @tparam Predicate`1 customPredicate -- @tparam bool allowInsideFixture -- @treturn Enumerable function Submarine.PickBodies(rayStart, rayEnd, ignoredBodies, collisionCategory, ignoreSensors, customPredicate, allowInsideFixture) end --- CheckVisibility -- @realm shared -- @tparam Vector2 rayStart -- @tparam Vector2 rayEnd -- @tparam bool ignoreLevel -- @tparam bool ignoreSubs -- @tparam bool ignoreSensors -- @tparam bool ignoreDisabledWalls -- @tparam bool ignoreBranches -- @treturn Body function Submarine.CheckVisibility(rayStart, rayEnd, ignoreLevel, ignoreSubs, ignoreSensors, ignoreDisabledWalls, ignoreBranches) end --- FlipX -- @realm shared -- @tparam table parents function FlipX(parents) end --- Update -- @realm shared -- @tparam number deltaTime function Update(deltaTime) end --- ApplyForce -- @realm shared -- @tparam Vector2 force function ApplyForce(force) end --- EnableMaintainPosition -- @realm shared function EnableMaintainPosition() end --- NeutralizeBallast -- @realm shared function NeutralizeBallast() end --- SetPrevTransform -- @realm shared -- @tparam Vector2 position function SetPrevTransform(position) end --- SetPosition -- @realm shared -- @tparam Vector2 position -- @tparam table checkd -- @tparam bool forceUndockFromStaticSubmarines function SetPosition(position, checkd, forceUndockFromStaticSubmarines) end --- CalculateDockOffset -- @realm shared -- @tparam Submarine sub -- @tparam Submarine dockedSub -- @treturn Nullable`1 function Submarine.CalculateDockOffset(sub, dockedSub) end --- Translate -- @realm shared -- @tparam Vector2 amount function Translate(amount) end --- FindClosest -- @realm shared -- @tparam Vector2 worldPosition -- @tparam bool ignoreOutposts -- @tparam bool ignoreOutsideLevel -- @tparam bool ignoreRespawnShuttle -- @tparam Nullable`1 teamType -- @treturn Submarine function Submarine.FindClosest(worldPosition, ignoreOutposts, ignoreOutsideLevel, ignoreRespawnShuttle, teamType) end --- IsConnectedTo -- @realm shared -- @tparam Submarine otherSub -- @treturn bool function IsConnectedTo(otherSub) end --- GetHulls -- @realm shared -- @tparam bool alsoFromConnectedSubs -- @treturn table function GetHulls(alsoFromConnectedSubs) end --- GetGaps -- @realm shared -- @tparam bool alsoFromConnectedSubs -- @treturn table function GetGaps(alsoFromConnectedSubs) end --- GetItems -- @realm shared -- @tparam bool alsoFromConnectedSubs -- @treturn table function GetItems(alsoFromConnectedSubs) end --- GetWaypoints -- @realm shared -- @tparam bool alsoFromConnectedSubs -- @treturn table function GetWaypoints(alsoFromConnectedSubs) end --- GetWalls -- @realm shared -- @tparam bool alsoFromConnectedSubs -- @treturn table function GetWalls(alsoFromConnectedSubs) end --- GetEntities -- @realm shared -- @tparam bool includingConnectedSubs -- @tparam table list -- @treturn table function GetEntities(includingConnectedSubs, list) end --- GetCargoContainers -- @realm shared -- @treturn table function GetCargoContainers() end --- GetEntities -- @realm shared -- @tparam bool includingConnectedSubs -- @tparam Enumerable list -- @treturn Enumerable function GetEntities(includingConnectedSubs, list) end --- IsEntityFoundOnThisSub -- @realm shared -- @tparam MapEntity entity -- @tparam bool includingConnectedSubs -- @tparam bool allowDifferentTeam -- @tparam bool allowDifferentType -- @treturn bool function IsEntityFoundOnThisSub(entity, includingConnectedSubs, allowDifferentTeam, allowDifferentType) end --- FreeID -- @realm shared function FreeID() end --- GetType -- @realm shared -- @treturn Type function GetType() end --- Equals -- @realm shared -- @tparam Object obj -- @treturn bool function Equals(obj) end --- GetHashCode -- @realm shared -- @treturn number function GetHashCode() end --- -- Info, Field of type SubmarineInfo -- @realm shared -- @SubmarineInfo Info --- -- HiddenSubPosition, Field of type Vector2 -- @realm shared -- @Vector2 HiddenSubPosition --- -- IdOffset, Field of type number -- @realm shared -- @number IdOffset --- -- Submarine.MainSub, Field of type Submarine -- @realm shared -- @Submarine Submarine.MainSub --- -- Submarine.VisibleEntities, Field of type Enumerable -- @realm shared -- @Enumerable Submarine.VisibleEntities --- -- DockedTo, Field of type Enumerable -- @realm shared -- @Enumerable DockedTo --- -- Submarine.LastPickedPosition, Field of type Vector2 -- @realm shared -- @Vector2 Submarine.LastPickedPosition --- -- Submarine.LastPickedFraction, Field of type number -- @realm shared -- @number Submarine.LastPickedFraction --- -- Submarine.LastPickedFixture, Field of type Fixture -- @realm shared -- @Fixture Submarine.LastPickedFixture --- -- Submarine.LastPickedNormal, Field of type Vector2 -- @realm shared -- @Vector2 Submarine.LastPickedNormal --- -- Loading, Field of type bool -- @realm shared -- @bool Loading --- -- GodMode, Field of type bool -- @realm shared -- @bool GodMode --- -- Submarine.Loaded, Field of type table -- @realm shared -- @table Submarine.Loaded --- -- SubBody, Field of type SubmarineBody -- @realm shared -- @SubmarineBody SubBody --- -- PhysicsBody, Field of type PhysicsBody -- @realm shared -- @PhysicsBody PhysicsBody --- -- Borders, Field of type Rectangle -- @realm shared -- @Rectangle Borders --- -- VisibleBorders, Field of type Rectangle -- @realm shared -- @Rectangle VisibleBorders --- -- Position, Field of type Vector2 -- @realm shared -- @Vector2 Position --- -- WorldPosition, Field of type Vector2 -- @realm shared -- @Vector2 WorldPosition --- -- RealWorldCrushDepth, Field of type number -- @realm shared -- @number RealWorldCrushDepth --- -- RealWorldDepth, Field of type number -- @realm shared -- @number RealWorldDepth --- -- AtEndExit, Field of type bool -- @realm shared -- @bool AtEndExit --- -- AtStartExit, Field of type bool -- @realm shared -- @bool AtStartExit --- -- DrawPosition, Field of type Vector2 -- @realm shared -- @Vector2 DrawPosition --- -- SimPosition, Field of type Vector2 -- @realm shared -- @Vector2 SimPosition --- -- Velocity, Field of type Vector2 -- @realm shared -- @Vector2 Velocity --- -- HullVertices, Field of type table -- @realm shared -- @table HullVertices --- -- SubmarineSpecificIDTag, Field of type number -- @realm shared -- @number SubmarineSpecificIDTag --- -- AtDamageDepth, Field of type bool -- @realm shared -- @bool AtDamageDepth --- -- ImmuneToBallastFlora, Field of type bool -- @realm shared -- @bool ImmuneToBallastFlora --- -- WreckAI, Field of type WreckAI -- @realm shared -- @WreckAI WreckAI --- -- FlippedX, Field of type bool -- @realm shared -- @bool FlippedX --- -- Submarine.Unloading, Field of type bool -- @realm shared -- @bool Submarine.Unloading --- -- Removed, Field of type bool -- @realm shared -- @bool Removed --- -- IdFreed, Field of type bool -- @realm shared -- @bool IdFreed --- -- Submarine, Field of type Submarine -- @realm shared -- @Submarine Submarine --- -- AiTarget, Field of type AITarget -- @realm shared -- @AITarget AiTarget --- -- InDetectable, Field of type bool -- @realm shared -- @bool InDetectable --- -- SpawnTime, Field of type number -- @realm shared -- @number SpawnTime --- -- ErrorLine, Field of type string -- @realm shared -- @string ErrorLine --- -- TeamID, Field of type CharacterTeamType -- @realm shared -- @CharacterTeamType TeamID --- -- ConnectedDockingPorts, Field of type table -- @realm shared -- @table ConnectedDockingPorts --- -- ShowSonarMarker, Field of type bool -- @realm shared -- @bool ShowSonarMarker --- -- Submarine.HiddenSubStartPosition, Field of type Vector2 -- @realm shared -- @Vector2 Submarine.HiddenSubStartPosition --- -- Submarine.LockX, Field of type bool -- @realm shared -- @bool Submarine.LockX --- -- Submarine.LockY, Field of type bool -- @realm shared -- @bool Submarine.LockY --- -- Submarine.GridSize, Field of type Vector2 -- @realm shared -- @Vector2 Submarine.GridSize --- -- Submarine.MainSubs, Field of type Submarine[] -- @realm shared -- @Submarine[] Submarine.MainSubs --- -- ID, Field of type number -- @realm shared -- @number ID --- -- CreationStackTrace, Field of type string -- @realm shared -- @string CreationStackTrace --- -- CreationIndex, Field of type number -- @realm shared -- @number CreationIndex