diff --git a/Barotrauma/BarotraumaShared/SharedSource/Lua/LuaDocs.cs b/Barotrauma/BarotraumaShared/SharedSource/Lua/LuaDocs.cs index 47d8899df..8b23ac3ec 100644 --- a/Barotrauma/BarotraumaShared/SharedSource/Lua/LuaDocs.cs +++ b/Barotrauma/BarotraumaShared/SharedSource/Lua/LuaDocs.cs @@ -115,6 +115,17 @@ local {type.Name} = {EMPTY_TABLE}"; else baseluatext = File.ReadAllText(baselua); + HashSet removed = new HashSet(); + + foreach(var line in baseluatext.Split('\n')) + { + if(line.Contains("-- @remove ")) + { + var replaced = line.Replace("-- @remove ", "").Replace("\r", ""); + removed.Add(replaced); + } + } + sb.Append(baseluatext + "\n\n"); var members = type.GetMembers(); @@ -130,8 +141,10 @@ local {type.Name} = {EMPTY_TABLE}"; if (method.Name.StartsWith("get_") || method.Name.StartsWith("set_")) continue; - sb.Append($"--- {method.Name}\n"); - sb.Append($"-- @realm shared\n"); + var lsb = new StringBuilder(); + + lsb.Append($"--- {method.Name}\n"); + lsb.Append($"-- @realm shared\n"); var paramNames = ""; @@ -145,29 +158,40 @@ local {type.Name} = {EMPTY_TABLE}"; else paramNames = paramNames + EscapeName(parameter.Name) + ", "; - sb.Append($"-- @tparam {ConvertTypeName(parameter.ParameterType.Name)} {EscapeName(parameter.Name)}\n"); + lsb.Append($"-- @tparam {ConvertTypeName(parameter.ParameterType.Name)} {EscapeName(parameter.Name)}\n"); } if (method.ReturnType != typeof(void)) { - sb.Append($"-- @treturn {ConvertTypeName(method.ReturnType.Name)}\n"); + lsb.Append($"-- @treturn {ConvertTypeName(method.ReturnType.Name)}\n"); } - if (method.IsStatic) - sb.Append($"function {type.Name}.{method.Name}({paramNames})"); - else - sb.Append($"function {method.Name}({paramNames})"); - sb.Append(" end\n"); + string functionDecoration; - sb.Append("\n"); + if (method.IsStatic) + functionDecoration = $"function {type.Name}.{method.Name}({paramNames}) end"; + else + functionDecoration = $"function {method.Name}({paramNames}) end"; + + if (removed.Contains(functionDecoration)) + { + continue; + } + + lsb.Append(functionDecoration); + + lsb.Append("\n\n"); + sb.Append(lsb); } if (member.MemberType == MemberTypes.Field) { + var lsb = new StringBuilder(); + var field = (FieldInfo)member; - sb.Append($"---\n"); - sb.Append($"-- "); + lsb.Append($"---\n"); + lsb.Append($"-- "); var name = EscapeName(field.Name); @@ -176,20 +200,26 @@ local {type.Name} = {EMPTY_TABLE}"; if (field.IsStatic) name = type.Name + "." + field.Name; - sb.Append(name); - sb.Append($", Field of type {returnName}\n"); - sb.Append($"-- @realm shared\n"); - sb.Append($"-- @{returnName} {name}\n"); + if (removed.Contains(name)) + continue; - sb.Append("\n"); + lsb.Append(name); + lsb.Append($", Field of type {returnName}\n"); + lsb.Append($"-- @realm shared\n"); + lsb.Append($"-- @{returnName} {name}\n"); + + lsb.Append("\n"); + sb.Append(lsb); } if (member.MemberType == MemberTypes.Property) { + var lsb = new StringBuilder(); + var property = (PropertyInfo)member; - sb.Append($"---\n"); - sb.Append($"-- "); + lsb.Append($"---\n"); + lsb.Append($"-- "); var name = EscapeName(property.Name); @@ -198,12 +228,16 @@ local {type.Name} = {EMPTY_TABLE}"; if (property.GetGetMethod().IsStatic) name = type.Name + "." + property.Name; - sb.Append(name); - sb.Append($", Field of type {returnName}\n"); - sb.Append($"-- @realm shared\n"); - sb.Append($"-- @{returnName} {name}\n"); + if (removed.Contains(name)) + continue; - sb.Append("\n"); + lsb.Append(name); + lsb.Append($", Field of type {returnName}\n"); + lsb.Append($"-- @realm shared\n"); + lsb.Append($"-- @{returnName} {name}\n"); + + lsb.Append("\n"); + sb.Append(lsb); } } diff --git a/docs/baseluadocs/Character.lua b/docs/baseluadocs/Character.lua index c2a321220..b20ec5b22 100644 --- a/docs/baseluadocs/Character.lua +++ b/docs/baseluadocs/Character.lua @@ -10,14 +10,25 @@ Barotrauma source code: [Character.cs](https://github.com/evilfactory/Barotrauma local Character = {} +-- @remove function Character.Create(characterInfo, position, seed, id, isRemotePlayer, hasAi, ragdoll) end +-- @remove function TeleportTo(worldPos) end +-- @remove Character.CharacterList + --- Creates a Character using CharacterInfo. +-- @realm server +-- @tparam CharacterInfo characterInfo +-- @tparam Vector2 position +-- @tparam string seed +-- @tparam number id +-- @tparam bool isRemotePlayer +-- @tparam bool hasAi +-- @tparam RagdollParams ragdoll -- @treturn Character --- @realm server -- @usage --- local vsauce = CharacterInfo("human", "VSAUCE HERE") +-- local vsauce = CharacterInfo("human", "custom name") -- local character = Character.Create(vsauce, Vector2(0, 0), "some random characters") -- print(character) -function Character.Create(characterInfo, position, seed, id, isRemotePlayer, hasAi, ragdollParams) end +function Character.Create(characterInfo, position, seed, id, isRemotePlayer, hasAi, ragdoll) end --- Teleports a character to a position. @@ -25,11 +36,9 @@ function Character.Create(characterInfo, position, seed, id, isRemotePlayer, has -- @tparam Vector2 position -- @usage -- Character.CharacterList[1].TeleportTo(Vector2(0, 0)) -- teleports first created characters to 0, 0 -function TeleportTo(position) end - +function TeleportTo(worldPos) end --- -- Character.CharacterList, Table containing all characters. -- @realm shared --- @Character Character.CharacterList - +-- @table Character.CharacterList diff --git a/docs/lua/generated/Character.lua b/docs/lua/generated/Character.lua index 42d77bd35..e0445c31b 100644 --- a/docs/lua/generated/Character.lua +++ b/docs/lua/generated/Character.lua @@ -10,14 +10,26 @@ Barotrauma source code: [Character.cs](https://github.com/evilfactory/Barotrauma local Character = {} +-- @remove function Character.Create(characterInfo, position, seed, id, isRemotePlayer, hasAi, ragdoll) end +-- @remove function TeleportTo(worldPos) end + +-- @remove function TeleportTo(worldPos) end + --- Creates a Character using CharacterInfo. +-- @realm server +-- @tparam CharacterInfo characterInfo +-- @tparam Vector2 position +-- @tparam string seed +-- @tparam number id +-- @tparam bool isRemotePlayer +-- @tparam bool hasAi +-- @tparam RagdollParams ragdoll -- @treturn Character --- @realm server -- @usage --- local vsauce = CharacterInfo("human", "VSAUCE HERE") +-- local vsauce = CharacterInfo("human", "custom name") -- local character = Character.Create(vsauce, Vector2(0, 0), "some random characters") -- print(character) -function Character.Create(characterInfo, position, seed, id, isRemotePlayer, hasAi, ragdollParams) end +function Character.Create(characterInfo, position, seed, id, isRemotePlayer, hasAi, ragdoll) end --- Teleports a character to a position. @@ -25,14 +37,12 @@ function Character.Create(characterInfo, position, seed, id, isRemotePlayer, has -- @tparam Vector2 position -- @usage -- Character.CharacterList[1].TeleportTo(Vector2(0, 0)) -- teleports first created characters to 0, 0 -function TeleportTo(position) end - +function TeleportTo(worldPos) end --- -- Character.CharacterList, Table containing all characters. -- @realm shared --- @Character Character.CharacterList - +-- @table Character.CharacterList --- Revive @@ -44,11 +54,6 @@ function Revive(removeAllAfflictions) end -- @realm shared function Remove() end ---- TeleportTo --- @realm shared --- @tparam Vector2 worldPos -function TeleportTo(worldPos) end - --- SaveInventory -- @realm shared -- @tparam Inventory inventory @@ -634,18 +639,6 @@ function BreakJoints() end -- @tparam bool log function Kill(causeOfDeath, causeOfDeathAffliction, isNetworkMessage, log) end ---- Create --- @realm shared --- @tparam CharacterInfo characterInfo --- @tparam Vector2 position --- @tparam string seed --- @tparam number id --- @tparam bool isRemotePlayer --- @tparam bool hasAi --- @tparam RagdollParams ragdoll --- @treturn Character -function Character.Create(characterInfo, position, seed, id, isRemotePlayer, hasAi, ragdoll) end - --- Create -- @realm shared -- @tparam string speciesName