-documentation

This commit is contained in:
Mergul 2018-10-01 19:40:24 +02:00
parent 288ad4c6cd
commit 437c672478
5 changed files with 154 additions and 4 deletions

View file

@ -3,13 +3,22 @@ module ecs.system;
import ecs.entity;
import ecs.manager;
/************************************************************************************************************************
*System contain data required to proper glue EntityManager with Systems.
*/
struct System
{
/************************************************************************************************************************
*Check if system is enabled.
*/
export bool enabled()
{
return m_enabled;
}
/************************************************************************************************************************
*Enable system. If actually it is enabled function do nothing.
*/
export void enable()
{
if (!m_enabled && m_enable)
@ -17,6 +26,9 @@ struct System
m_enabled = true;
}
/************************************************************************************************************************
*Disable system. If actually it is disabled function do nothing.
*/
export void disable()
{
if (m_enabled && m_disable)
@ -24,6 +36,9 @@ struct System
m_enabled = false;
}
/************************************************************************************************************************
*Get system priority.
*/
export int priority()
{
return m_priority;
@ -38,10 +53,14 @@ package:
///pointer to system implementation
void* m_system_pointer;
///system name
const (char)[] name;
///required components
ushort[] m_components;
///absen components
ushort[] m_absen_components;
///optional components
ushort[] m_optional_components;
//void function(ref EntityManager.CallData data, void* entity) update;