783ef72eae
-fixed getSystem function
2018-09-29 20:34:47 +02:00
41a7f22cb3
-fixed optional components issue
2018-09-29 11:53:22 +02:00
c0ac19b6f9
-fixed EntityTemplate.getComponent()
...
-fxied issue with components string in systems HashMap
2018-09-27 22:45:23 +02:00
c915b1a8c7
-EntityTemplate.getComponent additional data check
...
-LinearLayout proggress:
*added alignment to data
*fixed add/remove component functions
2018-09-26 12:50:51 +02:00
c18ac54265
-LinearLayout proggress:
...
*EntityTemplate.getComponent
*Adding/removing components for Entitites
-better code for adding components
2018-09-26 10:57:42 +02:00
cb9bac5dde
-LinearLayout implemntation:
...
*Entity.getComponent works
*adding/removing objects work
*update work
2018-09-26 09:02:16 +02:00
9511e1936e
-fixed issue with optional components in systems
2018-09-21 16:44:40 +02:00
8cb5d6ce62
-EntitesBlock freeing
...
-IDManager now increment counter on ID releasing (previously while creating new ID)
2018-09-20 20:33:55 +02:00
45110e236c
-fixed removingComponents issue (object was transferred to another block, but count of entities in block doesn't increase)
...
-functions to get System by ID or ECS System by Type
-added system_id to system
-fixed issue with registering systems without update() function
2018-09-20 19:12:53 +02:00
4ad81fe116
-changes in EntityAlocator
...
* renamed to BlockAllocator
* now it's template with compile time assingable block_size and block_in_allocation variables
-WIP Event management
* probably working sendSelfEvent()
* registerEvent()
-added win_dll.d as Windows DLL require functionality
2018-09-19 17:50:05 +02:00
d0fcdba6cd
-registering same system multiple times only replace pointer for callback
...
-added export attributes (required by windows to make DLL library, not work at now due to DMD bugs)
-interface D files to import
2018-09-18 13:28:04 +02:00
cb0f56b0fb
-EntityAllocator fixed issue with not initialized block pointer
...
-deffered adding entities
-deffered adding and removeing components
2018-09-17 14:46:30 +02:00
b3dce6560a
-suport system callback: onCreate, onDestroy, onBegin, onEnd
...
-support for optional Components for System
-Components IDs in Systems are now stored as ushorts
2018-09-16 22:40:55 +02:00
8fdb56e840
-fixed crash on getComponent when component doesn't exist
...
-fixed Components ids sorting
-added deferred object removing
-new EntityManager functions: begin(), end().
2018-09-16 14:16:18 +02:00
a066a97f01
-added removeComponents() function (removing by ids array, or components types)
...
-sorting IDs in addComponents() and removeComponents()
2018-09-14 12:03:27 +02:00
5b2a6e9890
-added EntityBlocks allocating in blocks (no memory freeing, currently block contain 128 EntityBlocks)
2018-09-13 22:37:37 +02:00
1aa1fbf36b
-support for system priority
...
-fixed callers system pointer update
-fixed HashMap issue
2018-09-13 22:04:43 +02:00
0eaff0adad
-Components onDestroy() support (called when component is destoryed)
...
-EntityCallers pointers to systems now are updated after adding new system (or in future system reloading)
-fixed compilation issue referenced to filling components with default values
2018-09-13 21:32:13 +02:00
624c899c8c
-getComponent functions for Template and Entity
...
-error information about adding system with non existing component (prints name of system and component)
-fill components in template with default values
2018-09-13 20:53:34 +02:00
4b19907c03
-formatted all files with dfmt
...
-more messy tests
-some documentation
-some useful code moved to functions
-adding components to existing entity
-opportunity to get entity by ID
-fixed calculating deltas
-sorting IDs arrays for allocating Templates
-fixed alignment caluclation
-added compile-time checks for "component_id" member existing in component
2018-09-13 00:10:48 +02:00
d3222eefbb
-some usefull functions for IDManager
...
-added EntityManager.removeEntity(EntityID)
-EntitiesBlock now has ID usefull for updating first_free_block in EntityInfo
2018-09-12 17:38:41 +02:00
ae53e13d42
-add systemCaller to entity only if their components matches
...
-System onEnable() and onDisable() callbacks
2018-09-12 15:28:10 +02:00
17551b08a5
-IDManager
...
-times counting for tests
2018-09-12 14:01:35 +02:00
86e4e57f74
Format files with dfmt
2018-09-10 21:48:33 +02:00
2069e7b420
Optimize alignNum
2018-09-10 21:38:36 +02:00
9c5a60447c
Update for all entities
2018-09-10 18:52:31 +02:00
4d35bc2a1b
Support more than one bucket for given entity type
2018-09-10 18:34:40 +02:00
a61a54b43f
-components and infos are now stored in hash maps
...
-adding entities
-Template allocating and freeing
-Deltas calulating for components in EntityType
-Updating for every EntityType and System
-Generate deltas, components list, and functions callers for Systems
2018-09-09 23:28:18 +02:00
6217aec6be
-changed README
...
-license changed to BSD (maybe temporary)
-added configurations to dub.json
-initial ECS implementation (WIP):
-Manager, System, Entity, Component
-registering components
-registering systems
-calling update
2018-09-07 20:54:29 +02:00