mirror of
https://github.com/BlackMATov/evolved.lua.git
synced 2025-12-16 22:19:25 +07:00
update roadmap
This commit is contained in:
@@ -2,11 +2,17 @@
|
|||||||
|
|
||||||
## Backlog
|
## Backlog
|
||||||
|
|
||||||
- add system groups (for disabling for example)
|
|
||||||
- add destroing policies (fragments, phases, systems)
|
- add destroing policies (fragments, phases, systems)
|
||||||
|
|
||||||
|
## Known issues
|
||||||
|
|
||||||
|
- destroying of fragments leave chunks with dead fragments (destroing policies)
|
||||||
|
- destroying of systems can leave dead systems in the library state (destroying policies)
|
||||||
|
- destroying of phases can leave dead phases in the library state (destroying policies)
|
||||||
|
|
||||||
## After first release
|
## After first release
|
||||||
|
|
||||||
|
- add system groups
|
||||||
- auto chunk count reducing
|
- auto chunk count reducing
|
||||||
- add INDEX fragment trait
|
- add INDEX fragment trait
|
||||||
- add REQUIRES fragment trait
|
- add REQUIRES fragment trait
|
||||||
|
|||||||
38
evolved.lua
38
evolved.lua
@@ -1192,36 +1192,36 @@ local __defer_remove_hook
|
|||||||
---@param chunk evolved.chunk
|
---@param chunk evolved.chunk
|
||||||
---@param place integer
|
---@param place integer
|
||||||
local function __detach_entity(chunk, place)
|
local function __detach_entity(chunk, place)
|
||||||
local chunk_entities = chunk.__entities
|
local entities = chunk.__entities
|
||||||
local chunk_entity_count = chunk.__entity_count
|
local entity_count = chunk.__entity_count
|
||||||
|
|
||||||
local chunk_component_count = chunk.__component_count
|
local component_count = chunk.__component_count
|
||||||
local chunk_component_storages = chunk.__component_storages
|
local component_storages = chunk.__component_storages
|
||||||
|
|
||||||
chunk.__entity_count = chunk_entity_count - 1
|
if place == entity_count then
|
||||||
|
entities[place] = nil
|
||||||
|
|
||||||
if place == chunk_entity_count then
|
for component_index = 1, component_count do
|
||||||
chunk_entities[place] = nil
|
local component_storage = component_storages[component_index]
|
||||||
|
|
||||||
for component_index = 1, chunk_component_count do
|
|
||||||
local component_storage = chunk_component_storages[component_index]
|
|
||||||
component_storage[place] = nil
|
component_storage[place] = nil
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
local last_entity = chunk_entities[chunk_entity_count]
|
local last_entity = entities[entity_count]
|
||||||
local last_entity_index = last_entity % 0x100000
|
local last_entity_index = last_entity % 0x100000
|
||||||
__entity_places[last_entity_index] = place
|
__entity_places[last_entity_index] = place
|
||||||
|
|
||||||
chunk_entities[place] = last_entity
|
entities[place] = last_entity
|
||||||
chunk_entities[chunk_entity_count] = nil
|
entities[entity_count] = nil
|
||||||
|
|
||||||
for component_index = 1, chunk_component_count do
|
for component_index = 1, component_count do
|
||||||
local component_storage = chunk_component_storages[component_index]
|
local component_storage = component_storages[component_index]
|
||||||
local last_component = component_storage[chunk_entity_count]
|
local last_component = component_storage[entity_count]
|
||||||
component_storage[place] = last_component
|
component_storage[place] = last_component
|
||||||
component_storage[chunk_entity_count] = nil
|
component_storage[entity_count] = nil
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
chunk.__entity_count = entity_count - 1
|
||||||
end
|
end
|
||||||
|
|
||||||
---@param chunk evolved.chunk
|
---@param chunk evolved.chunk
|
||||||
@@ -1229,10 +1229,6 @@ local function __detach_all_entities(chunk)
|
|||||||
local entities = chunk.__entities
|
local entities = chunk.__entities
|
||||||
local entity_count = chunk.__entity_count
|
local entity_count = chunk.__entity_count
|
||||||
|
|
||||||
if entity_count == 0 then
|
|
||||||
return
|
|
||||||
end
|
|
||||||
|
|
||||||
local component_count = chunk.__component_count
|
local component_count = chunk.__component_count
|
||||||
local component_storages = chunk.__component_storages
|
local component_storages = chunk.__component_storages
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user