Added simple navigation, some more implementation details

This commit is contained in:
Brychan Dempsey 2021-06-03 15:02:40 +12:00
parent c2c5d35f13
commit 5894fa3949
4 changed files with 47 additions and 0 deletions

View File

@ -1,4 +1,6 @@
*[JavaECS](../../README.md) / [docs](../overview.md) / component*
# Component
### Contents
[About](#About)

View File

@ -1,4 +1,6 @@
*[JavaECS](../../README.md) / [docs](../overview.md) / entity*
# Entity
### Contents
[About](#About)
@ -26,6 +28,9 @@ ___An entity contains no further data.___
In order to be useful, its identifier must be registered to one or more [components](../component/component.md).
Entities are also initialised with a Java [BitSet](). Each bit represents the index of a component, to determine which component an entity is registered to
## Usage
*some specific usage info here*
``` java
@ -35,3 +40,4 @@ void todo();
## Notes
* The only requirement for a Entity is that it has a unique ID. An [entity manager](../manager/entity_manager.md) could implement a more complex ID system such as using a packed array for only a small region of IDs, or using named IDs by use of a dictionary or ordered hash-map
* The maximum number of entities is limited by the size of the container used to store it. E.g., for a 32-bit unsigned integer, there are ~4.3 billion ID's available. But keep in mind that such a large amount of IDs will take significant time for each system to consider.
* LinkedList is used to initialise the arrays, as a linked list is not limited to a maximum size: (https://stackoverflow.com/questions/3767979/how-much-data-can-a-list-can-hold-at-the-maximum)

16
docs/overview.md Normal file
View File

@ -0,0 +1,16 @@
*[JavaECS](../../README.md) / docs*
# Entity
### Contents
[About](#About)
[Usage](#Usage)
[Notes](#Notes)
### See also:
[entity](./entity/entity.md)
[component](./component/component.md)
[system](./system/system.md)

View File

@ -1,7 +1,13 @@
*[JavaECS](../../README.md) / [docs](../overview.md) / system*
# System
### Contents
[About](#About)
[Implementation](#Implementation)
[Examples](#Examples)
## About
The system runs operations that must be performed on its assoiciated components.
@ -20,5 +26,22 @@ void health_system(){
}
}
```
## Implementation
The systems are managed by the following code:
``` java
class SystemManager{
ECS baseECS;
int systemIndex;
public SystemManager(ECS baseECS){
this.baseECS = baseECS;
systemIndex = 0;
}
}
```
## Examples