docs update and entity.spawner

This commit is contained in:
Evil Factory
2021-10-03 12:13:45 -03:00
parent a5233b4686
commit 446686e18c
7 changed files with 303 additions and 12 deletions

View File

@@ -64,14 +64,6 @@ namespace Barotrauma
}
}
public EntitySpawner Spawner
{
get
{
return Entity.Spawner;
}
}
public GameSession GameSession
{
get

View File

@@ -48,6 +48,12 @@ namespace Barotrauma
return "table";
}
if (type.StartsWith("Action"))
return "function";
if (type.StartsWith("Func"))
return "function";
return type;
}

View File

@@ -436,6 +436,7 @@ namespace Barotrauma
lua.Globals["RandSync"] = UserData.CreateStatic<Rand.RandSync>();
lua.Globals["SubmarineInfo"] = UserData.CreateStatic<SubmarineInfo>();
lua.Globals["Rectangle"] = UserData.CreateStatic<Rectangle>();
lua.Globals["Entity"] = UserData.CreateStatic<Entity>();
#if SERVER
@@ -462,7 +463,7 @@ namespace Barotrauma
lua.Globals["SERVER"] = isServer;
lua.Globals["CLIENT"] = !isServer;
LuaDocs.GenerateDocs(typeof(JobPrefab));
LuaDocs.GenerateDocs(typeof(EntitySpawner));
if (File.Exists("Lua/MoonsharpSetup.lua")) // try the default loader
DoFile("Lua/MoonsharpSetup.lua");

113
docs/lua/Entity.Spawner.lua Normal file
View File

@@ -0,0 +1,113 @@
-- luacheck: ignore 111
--[[--
Barotrauma EntitySpawner class with some additional functions and fields
Barotrauma source code: [EntitySpawner.cs](https://github.com/evilfactory/Barotrauma-lua-attempt/blob/master/Barotrauma/BarotraumaShared/SharedSource/Networking/EntitySpawner.cs)
]]
-- @code Entity.Spawner
-- @pragma nostrip
--- CreateNetworkEvent
-- @realm shared
-- @tparam Entity entity
-- @tparam bool remove
function CreateNetworkEvent(entity, remove) end
--- ServerWrite
-- @realm shared
-- @tparam IWriteMessage message
-- @tparam Client client
-- @tparam Object[] extraData
function ServerWrite(message, client, extraData) end
--- AddToSpawnQueue
-- @realm shared
-- @tparam ItemPrefab itemPrefab
-- @tparam Vector2 worldPosition
-- @tparam Nullable`1 condition
-- @tparam function onSpawned
function AddToSpawnQueue(itemPrefab, worldPosition, condition, onSpawned) end
--- AddToSpawnQueue
-- @realm shared
-- @tparam ItemPrefab itemPrefab
-- @tparam Vector2 position
-- @tparam Submarine sub
-- @tparam Nullable`1 condition
-- @tparam function onSpawned
function AddToSpawnQueue(itemPrefab, position, sub, condition, onSpawned) end
--- AddToSpawnQueue
-- @realm shared
-- @tparam ItemPrefab itemPrefab
-- @tparam Inventory inventory
-- @tparam Nullable`1 condition
-- @tparam function onSpawned
-- @tparam bool spawnIfInventoryFull
-- @tparam bool ignoreLimbSlots
function AddToSpawnQueue(itemPrefab, inventory, condition, onSpawned, spawnIfInventoryFull, ignoreLimbSlots) end
--- AddToSpawnQueue
-- @realm shared
-- @tparam string speciesName
-- @tparam Vector2 worldPosition
-- @tparam function onSpawn
function AddToSpawnQueue(speciesName, worldPosition, onSpawn) end
--- AddToSpawnQueue
-- @realm shared
-- @tparam string speciesName
-- @tparam Vector2 position
-- @tparam Submarine sub
-- @tparam function onSpawn
function AddToSpawnQueue(speciesName, position, sub, onSpawn) end
--- AddToSpawnQueue
-- @realm shared
-- @tparam string speciesName
-- @tparam Vector2 worldPosition
-- @tparam CharacterInfo characterInfo
-- @tparam function onSpawn
function AddToSpawnQueue(speciesName, worldPosition, characterInfo, onSpawn) end
--- AddToRemoveQueue
-- @realm shared
-- @tparam Entity entity
function AddToRemoveQueue(entity) end
--- AddToRemoveQueue
-- @realm shared
-- @tparam Item item
function AddToRemoveQueue(item) end
--- IsInSpawnQueue
-- @realm shared
-- @tparam Predicate`1 predicate
-- @treturn bool
function IsInSpawnQueue(predicate) end
--- CountSpawnQueue
-- @realm shared
-- @tparam Predicate`1 predicate
-- @treturn number
function CountSpawnQueue(predicate) end
--- IsInRemoveQueue
-- @realm shared
-- @tparam Entity entity
-- @treturn bool
function IsInRemoveQueue(entity) end
--- Update
-- @realm shared
-- @tparam bool createNetworkEvents
function Update(createNetworkEvents) end
---
-- SpawnTime, Field of type number
-- @realm shared
-- @number SpawnTime

151
docs/lua/Entity.lua Normal file
View File

@@ -0,0 +1,151 @@
-- luacheck: ignore 111
--[[--
Barotrauma Entity class with some additional functions and fields
Barotrauma source code: [Entity.cs](https://github.com/evilfactory/Barotrauma-lua-attempt/blob/master/Barotrauma/BarotraumaShared/SharedSource/Map/Entity.cs)
]]
-- @code Entity
-- @pragma nostrip
--- Remove
-- @realm shared
function Remove() end
--- ToString
-- @realm shared
-- @treturn string
function ToString() end
--- GetEntities
-- @realm shared
-- @treturn IEnumerable`1
function Entity.GetEntities() end
--- FindFreeID
-- @realm shared
-- @tparam number idOffset
-- @treturn number
function Entity.FindFreeID(idOffset) end
--- FindEntityByID
-- @realm shared
-- @tparam number ID
-- @treturn Entity
function Entity.FindEntityByID(ID) end
--- RemoveAll
-- @realm shared
function Entity.RemoveAll() end
--- FreeID
-- @realm shared
function FreeID() end
--- DumpIds
-- @realm shared
-- @tparam number count
-- @tparam string filename
function Entity.DumpIds(count, filename) 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
---
-- Entity.EntityCount, Field of type number
-- @realm shared
-- @number Entity.EntityCount
---
-- Removed, Field of type bool
-- @realm shared
-- @bool Removed
---
-- IdFreed, Field of type bool
-- @realm shared
-- @bool IdFreed
---
-- SimPosition, Field of type Vector2
-- @realm shared
-- @Vector2 SimPosition
---
-- Position, Field of type Vector2
-- @realm shared
-- @Vector2 Position
---
-- WorldPosition, Field of type Vector2
-- @realm shared
-- @Vector2 WorldPosition
---
-- DrawPosition, Field of type Vector2
-- @realm shared
-- @Vector2 DrawPosition
---
-- Submarine, Field of type Submarine
-- @realm shared
-- @Submarine Submarine
---
-- AiTarget, Field of type AITarget
-- @realm shared
-- @AITarget AiTarget
---
-- SpawnTime, Field of type number
-- @realm shared
-- @number SpawnTime
---
-- ID, Field of type number
-- @realm shared
-- @number ID
---
-- Entity.Spawner, Field of type EntitySpawner
-- @realm shared
-- @EntitySpawner Entity.Spawner
---
-- Entity.NullEntityID, Field of type number
-- @realm shared
-- @number Entity.NullEntityID
---
-- Entity.EntitySpawnerID, Field of type number
-- @realm shared
-- @number Entity.EntitySpawnerID
---
-- Entity.RespawnManagerID, Field of type number
-- @realm shared
-- @number Entity.RespawnManagerID
---
-- Entity.DummyID, Field of type number
-- @realm shared
-- @number Entity.DummyID
---
-- Entity.ReservedIDStart, Field of type number
-- @realm shared
-- @number Entity.ReservedIDStart

View File

@@ -31,4 +31,4 @@ function Networking.Send(netMessage, connection, deliveryMethod) end
--- Adds a function to listen for lua net messages
-- @realm shared
function Networking.Receive(netMessageName, callback) end
function Networking.Receive(netMessageName, callback) end

View File

@@ -6,10 +6,38 @@
<p>{* ldoc.markup(mod.description) *}</p>
{% for kind, items in mod.kinds() do %}
{%
local kinds = {}
local kindsIpairs = {}
for kind, items in mod.kinds() do
local name = kind
if kind == "Tables" then
name = "Fields"
end
for item in items() do
if kinds[name] == nil then
kinds[name] = {}
local value = {}
value.kind = name
value.items = kinds[name]
table.insert(kindsIpairs, value)
end
kinds[name][item] = true
end
end
%}
{% for i, value in ipairs(kindsIpairs) do
local kind = value.kind
local items = value.items
%}
<h1 class="title">{{kind}}</h1>
{% for item in items() do %}
{% for item, _ in pairs(items) do %}
<section class="method" id="{{item.name}}">
<header>
<a class="anchor">