mirror of
https://github.com/BlackMATov/evolved.lua.git
synced 2025-12-15 04:15:28 +07:00
remove redundant registry api (del, get_or)
This commit is contained in:
@@ -54,10 +54,8 @@ idpool:release -> id -> ()
|
||||
registry.entity -> (entity)
|
||||
registry.guid -> entity -> (id)
|
||||
registry.alive -> entity -> (boolean)
|
||||
registry.del -> entity -> entity... -> (entity)
|
||||
registry.set -> entity -> entity -> any -> (entity)
|
||||
registry.get -> entity -> entity... -> (any...)
|
||||
registry.get_or -> entity -> entity -> any -> (any)
|
||||
registry.has -> entity -> entity -> (boolean)
|
||||
registry.has_all -> entity -> entity... -> (boolean)
|
||||
registry.has_any -> entity -> entity... -> (boolean)
|
||||
@@ -87,10 +85,8 @@ registry.components -> chunk -> entity... -> (any[]...)
|
||||
```
|
||||
entity:guid -> (id)
|
||||
entity:alive -> (boolean)
|
||||
entity:del -> entity... -> (entity)
|
||||
entity:set -> entity -> any -> (entity)
|
||||
entity:get -> entity... -> (any...)
|
||||
entity:get_or -> entity -> any -> (any)
|
||||
entity:has -> entity -> (boolean)
|
||||
entity:has_all -> entity... -> (boolean)
|
||||
entity:has_any -> entity... -> (boolean)
|
||||
|
||||
@@ -31,21 +31,6 @@ do
|
||||
assert(not e:remove())
|
||||
end
|
||||
|
||||
do
|
||||
local f1, f2, f3 =
|
||||
evo.registry.entity(),
|
||||
evo.registry.entity(),
|
||||
evo.registry.entity()
|
||||
|
||||
local e = evo.registry.entity()
|
||||
assert(e == e:set(f1):set(f2):set(f3))
|
||||
assert(e:has_all(f1, f2, f3))
|
||||
assert(e == e:del():del(f1))
|
||||
assert(not e:has(f1) and e:has_all(f2, f3))
|
||||
assert(e == e:del(f2, f3, f3))
|
||||
assert(not e:has_any(f1, f2, f3))
|
||||
end
|
||||
|
||||
do
|
||||
local f1, f2, f3, f4, f5 =
|
||||
evo.registry.entity(),
|
||||
@@ -158,28 +143,23 @@ do
|
||||
|
||||
assert(not e:assign(f, 42))
|
||||
assert(not e:has(f))
|
||||
assert(e:get_or(f) == nil)
|
||||
assert(e:get_or(f, 42) == 42)
|
||||
assert(e:get(f) == nil)
|
||||
|
||||
assert(e:insert(f, 84))
|
||||
assert(e:has(f))
|
||||
assert(e:get_or(f) == 84)
|
||||
assert(e:get_or(f, 42) == 84)
|
||||
assert(e:get(f) == 84)
|
||||
|
||||
assert(not e:insert(f, 21))
|
||||
assert(e:has(f))
|
||||
assert(e:get_or(f) == 84)
|
||||
assert(e:get_or(f, 42) == 84)
|
||||
assert(e:get(f) == 84)
|
||||
|
||||
assert(e:assign(f))
|
||||
assert(e:has(f))
|
||||
assert(e:get_or(f) == true)
|
||||
assert(e:get_or(f, 42) == true)
|
||||
assert(e:get(f) == true)
|
||||
|
||||
assert(e:assign(f, 21))
|
||||
assert(e:has(f))
|
||||
assert(e:get_or(f) == 21)
|
||||
assert(e:get_or(f, 42) == 21)
|
||||
assert(e:get(f) == 21)
|
||||
end
|
||||
|
||||
do
|
||||
@@ -189,26 +169,26 @@ do
|
||||
local e = evo.registry.entity()
|
||||
|
||||
assert(e == e:set(f, 42))
|
||||
assert(e:get_or(f) == 42)
|
||||
assert(e:get(f) == 42)
|
||||
|
||||
assert(e == e:set(f, 21))
|
||||
assert(e:get_or(f) == 21)
|
||||
assert(e:get(f) == 21)
|
||||
end
|
||||
|
||||
do
|
||||
local e = evo.registry.entity()
|
||||
|
||||
assert(not e:assign(f, 42))
|
||||
assert(e:get_or(f) == nil)
|
||||
assert(e:get(f) == nil)
|
||||
|
||||
assert(e:insert(f, 42))
|
||||
assert(e:get_or(f) == 42)
|
||||
assert(e:get(f) == 42)
|
||||
|
||||
assert(e:assign(f, 21))
|
||||
assert(e:get_or(f) == 21)
|
||||
assert(e:get(f) == 21)
|
||||
|
||||
assert(not e:insert(f, 42))
|
||||
assert(e:get_or(f) == 21)
|
||||
assert(e:get(f) == 21)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -702,8 +682,8 @@ for _ = 1, 100 do
|
||||
|
||||
if e1.__chunk ~= nil then
|
||||
for f, _ in pairs(e1.__chunk.__components) do
|
||||
assert(e1:get_or(f) == f.__guid)
|
||||
assert(e2:get_or(f) == f.__guid)
|
||||
assert(e1:get(f) == f.__guid)
|
||||
assert(e2:get(f) == f.__guid)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -434,14 +434,6 @@ function registry.alive(entity)
|
||||
return idpools.alive(__guids, entity.__guid)
|
||||
end
|
||||
|
||||
---@param entity evolved.entity
|
||||
---@param ... evolved.entity fragments
|
||||
---@return evolved.entity
|
||||
function registry.del(entity, ...)
|
||||
registry.remove(entity, ...)
|
||||
return entity
|
||||
end
|
||||
|
||||
---@param entity evolved.entity
|
||||
---@param fragment evolved.entity
|
||||
---@param component any
|
||||
@@ -497,21 +489,6 @@ function registry.get(entity, ...)
|
||||
end
|
||||
end
|
||||
|
||||
---@param entity evolved.entity
|
||||
---@param fragment evolved.entity
|
||||
---@param default any
|
||||
---@return any
|
||||
---@nodiscard
|
||||
function registry.get_or(entity, fragment, default)
|
||||
local chunk = entity.__chunk
|
||||
if chunk == nil then return default end
|
||||
|
||||
local components = chunk.__components[fragment]
|
||||
if components == nil then return default end
|
||||
|
||||
return components[entity.__index_in_chunk]
|
||||
end
|
||||
|
||||
---@param entity evolved.entity
|
||||
---@param fragment evolved.entity
|
||||
---@return boolean
|
||||
@@ -1184,10 +1161,8 @@ end
|
||||
|
||||
evolved_entity_mt.guid = registry.guid
|
||||
evolved_entity_mt.alive = registry.alive
|
||||
evolved_entity_mt.del = registry.del
|
||||
evolved_entity_mt.set = registry.set
|
||||
evolved_entity_mt.get = registry.get
|
||||
evolved_entity_mt.get_or = registry.get_or
|
||||
evolved_entity_mt.has = registry.has
|
||||
evolved_entity_mt.has_all = registry.has_all
|
||||
evolved_entity_mt.has_any = registry.has_any
|
||||
|
||||
Reference in New Issue
Block a user