Move ECS to Bubel module
This commit is contained in:
parent
a7a63f6a20
commit
5411e97cb1
46 changed files with 163 additions and 154 deletions
|
|
@ -1,3 +1,7 @@
|
||||||
|
default:
|
||||||
|
artifacts:
|
||||||
|
expire_in: 1 day
|
||||||
|
|
||||||
stages:
|
stages:
|
||||||
- build
|
- build
|
||||||
- test
|
- test
|
||||||
|
|
|
||||||
|
|
@ -86,6 +86,11 @@ ninja
|
||||||
python compile_wasm.py -opt
|
python compile_wasm.py -opt
|
||||||
```
|
```
|
||||||
|
|
||||||
|
##### Documentation
|
||||||
|
```shell
|
||||||
|
adrdox -i source/bubel/ecs/ -o docs/ -s skeleton.html
|
||||||
|
```
|
||||||
|
|
||||||
For more detailed build options please check documentation for used build system.
|
For more detailed build options please check documentation for used build system.
|
||||||
|
|
||||||
## Demos
|
## Demos
|
||||||
|
|
|
||||||
4
demos/external/sources/mmutils/thread_pool.d
vendored
4
demos/external/sources/mmutils/thread_pool.d
vendored
|
|
@ -1,6 +1,6 @@
|
||||||
module mmutils.thread_pool;
|
module mmutils.thread_pool;
|
||||||
|
|
||||||
import ecs.atomic;
|
import bubel.ecs.atomic;
|
||||||
|
|
||||||
//import core.stdc.stdio;
|
//import core.stdc.stdio;
|
||||||
//import core.stdc.stdlib : free, malloc, realloc;
|
//import core.stdc.stdlib : free, malloc, realloc;
|
||||||
|
|
@ -32,7 +32,7 @@ else
|
||||||
|
|
||||||
version (D_BetterC)
|
version (D_BetterC)
|
||||||
{
|
{
|
||||||
import ecs.std;
|
import bubel.ecs.std;
|
||||||
extern (C) __gshared int _d_eh_personality(int, int, size_t, void*, void*)
|
extern (C) __gshared int _d_eh_personality(int, int, size_t, void*, void*)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
||||||
|
|
@ -6,9 +6,9 @@ import cimgui.cimgui;
|
||||||
|
|
||||||
import game_core.job_updater;
|
import game_core.job_updater;
|
||||||
|
|
||||||
import ecs.manager;
|
import bubel.ecs.manager;
|
||||||
import ecs.core;
|
import bubel.ecs.core;
|
||||||
import ecs.std;
|
import bubel.ecs.std;
|
||||||
|
|
||||||
import ecs_utils.gfx.renderer;
|
import ecs_utils.gfx.renderer;
|
||||||
import ecs_utils.imgui_bind;
|
import ecs_utils.imgui_bind;
|
||||||
|
|
|
||||||
|
|
@ -6,11 +6,11 @@ import bindbc.sdl;
|
||||||
|
|
||||||
import cimgui.cimgui;
|
import cimgui.cimgui;
|
||||||
|
|
||||||
import ecs.attributes;
|
import bubel.ecs.attributes;
|
||||||
import ecs.core;
|
import bubel.ecs.core;
|
||||||
import ecs.entity;
|
import bubel.ecs.entity;
|
||||||
import ecs.manager;
|
import bubel.ecs.manager;
|
||||||
import ecs.std;
|
import bubel.ecs.std;
|
||||||
|
|
||||||
import ecs_utils.gfx.texture;
|
import ecs_utils.gfx.texture;
|
||||||
import ecs_utils.math.vector;
|
import ecs_utils.math.vector;
|
||||||
|
|
|
||||||
|
|
@ -6,11 +6,11 @@ import bindbc.sdl;
|
||||||
|
|
||||||
import cimgui.cimgui;
|
import cimgui.cimgui;
|
||||||
|
|
||||||
import ecs.attributes;
|
import bubel.ecs.attributes;
|
||||||
import ecs.core;
|
import bubel.ecs.core;
|
||||||
import ecs.entity;
|
import bubel.ecs.entity;
|
||||||
import ecs.manager;
|
import bubel.ecs.manager;
|
||||||
import ecs.std;
|
import bubel.ecs.std;
|
||||||
|
|
||||||
import ecs_utils.gfx.texture;
|
import ecs_utils.gfx.texture;
|
||||||
import ecs_utils.math.vector;
|
import ecs_utils.math.vector;
|
||||||
|
|
|
||||||
|
|
@ -6,11 +6,11 @@ import bindbc.sdl;
|
||||||
|
|
||||||
import cimgui.cimgui;
|
import cimgui.cimgui;
|
||||||
|
|
||||||
import ecs.attributes;
|
import bubel.ecs.attributes;
|
||||||
import ecs.core;
|
import bubel.ecs.core;
|
||||||
import ecs.entity;
|
import bubel.ecs.entity;
|
||||||
import ecs.manager;
|
import bubel.ecs.manager;
|
||||||
import ecs.std;
|
import bubel.ecs.std;
|
||||||
|
|
||||||
import ecs_utils.gfx.texture;
|
import ecs_utils.gfx.texture;
|
||||||
import ecs_utils.math.vector;
|
import ecs_utils.math.vector;
|
||||||
|
|
|
||||||
|
|
@ -6,11 +6,11 @@ import bindbc.sdl;
|
||||||
|
|
||||||
import cimgui.cimgui;
|
import cimgui.cimgui;
|
||||||
|
|
||||||
import ecs.attributes;
|
import bubel.ecs.attributes;
|
||||||
import ecs.core;
|
import bubel.ecs.core;
|
||||||
import ecs.entity;
|
import bubel.ecs.entity;
|
||||||
import ecs.manager;
|
import bubel.ecs.manager;
|
||||||
import ecs.std;
|
import bubel.ecs.std;
|
||||||
|
|
||||||
import ecs_utils.gfx.texture;
|
import ecs_utils.gfx.texture;
|
||||||
import ecs_utils.math.vector;
|
import ecs_utils.math.vector;
|
||||||
|
|
|
||||||
|
|
@ -6,11 +6,11 @@ import bindbc.sdl;
|
||||||
|
|
||||||
import cimgui.cimgui;
|
import cimgui.cimgui;
|
||||||
|
|
||||||
import ecs.attributes;
|
import bubel.ecs.attributes;
|
||||||
import ecs.core;
|
import bubel.ecs.core;
|
||||||
import ecs.entity;
|
import bubel.ecs.entity;
|
||||||
import ecs.manager;
|
import bubel.ecs.manager;
|
||||||
import ecs.std;
|
import bubel.ecs.std;
|
||||||
|
|
||||||
import ecs_utils.gfx.texture;
|
import ecs_utils.gfx.texture;
|
||||||
import ecs_utils.math.vector;
|
import ecs_utils.math.vector;
|
||||||
|
|
|
||||||
|
|
@ -6,11 +6,11 @@ import bindbc.sdl;
|
||||||
|
|
||||||
import cimgui.cimgui;
|
import cimgui.cimgui;
|
||||||
|
|
||||||
import ecs.attributes;
|
import bubel.ecs.attributes;
|
||||||
import ecs.core;
|
import bubel.ecs.core;
|
||||||
import ecs.entity;
|
import bubel.ecs.entity;
|
||||||
import ecs.manager;
|
import bubel.ecs.manager;
|
||||||
import ecs.std;
|
import bubel.ecs.std;
|
||||||
|
|
||||||
import ecs_utils.gfx.texture;
|
import ecs_utils.gfx.texture;
|
||||||
import ecs_utils.math.vector;
|
import ecs_utils.math.vector;
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,12 @@ import bindbc.sdl;
|
||||||
|
|
||||||
import cimgui.cimgui;
|
import cimgui.cimgui;
|
||||||
|
|
||||||
import ecs.attributes;
|
import bubel.ecs.attributes;
|
||||||
import ecs.core;
|
import bubel.ecs.core;
|
||||||
import ecs.entity;
|
import bubel.ecs.entity;
|
||||||
import ecs.manager;
|
import bubel.ecs.manager;
|
||||||
import ecs.std;
|
import bubel.ecs.std;
|
||||||
import ecs.vector;
|
import bubel.ecs.vector;
|
||||||
|
|
||||||
import ecs_utils.gfx.texture;
|
import ecs_utils.gfx.texture;
|
||||||
import ecs_utils.math.vector;
|
import ecs_utils.math.vector;
|
||||||
|
|
|
||||||
|
|
@ -6,11 +6,11 @@ import bindbc.sdl;
|
||||||
|
|
||||||
import cimgui.cimgui;
|
import cimgui.cimgui;
|
||||||
|
|
||||||
import ecs.attributes;
|
import bubel.ecs.attributes;
|
||||||
import ecs.core;
|
import bubel.ecs.core;
|
||||||
import ecs.entity;
|
import bubel.ecs.entity;
|
||||||
import ecs.manager;
|
import bubel.ecs.manager;
|
||||||
import ecs.std;
|
import bubel.ecs.std;
|
||||||
|
|
||||||
import ecs_utils.gfx.texture;
|
import ecs_utils.gfx.texture;
|
||||||
import ecs_utils.math.vector;
|
import ecs_utils.math.vector;
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,13 @@
|
||||||
module game_core.job_updater;
|
module game_core.job_updater;
|
||||||
|
|
||||||
import ecs.std;
|
import bubel.ecs.std;
|
||||||
import ecs.vector;
|
import bubel.ecs.vector;
|
||||||
import ecs.atomic;
|
import bubel.ecs.atomic;
|
||||||
|
|
||||||
import ecs_utils.utils;
|
import ecs_utils.utils;
|
||||||
|
|
||||||
//import core.time;
|
//import core.time;
|
||||||
import ecs.manager;
|
import bubel.ecs.manager;
|
||||||
import mmutils.thread_pool;
|
import mmutils.thread_pool;
|
||||||
|
|
||||||
version(LDC)
|
version(LDC)
|
||||||
|
|
|
||||||
|
|
@ -4,10 +4,10 @@ import app;
|
||||||
|
|
||||||
import cimgui.cimgui;
|
import cimgui.cimgui;
|
||||||
|
|
||||||
import ecs.std;
|
import bubel.ecs.std;
|
||||||
import ecs.system;
|
import bubel.ecs.system;
|
||||||
import ecs.vector;
|
import bubel.ecs.vector;
|
||||||
import ecs.entity;
|
import bubel.ecs.entity;
|
||||||
|
|
||||||
import gui.system;
|
import gui.system;
|
||||||
import gui.template_;
|
import gui.template_;
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
module gui.system;
|
module gui.system;
|
||||||
|
|
||||||
import ecs.system;
|
import bubel.ecs.system;
|
||||||
|
|
||||||
struct SystemGUI
|
struct SystemGUI
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
module gui.template_;
|
module gui.template_;
|
||||||
|
|
||||||
import ecs.entity;
|
import bubel.ecs.entity;
|
||||||
|
|
||||||
struct TemplateGUI
|
struct TemplateGUI
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
module ecs_utils.gfx.buffer;
|
module ecs_utils.gfx.buffer;
|
||||||
|
|
||||||
import ecs.std;
|
import bubel.ecs.std;
|
||||||
|
|
||||||
import glad.gl.gl;
|
import glad.gl.gl;
|
||||||
import glad.gl.gles2;
|
import glad.gl.gles2;
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ module ecs_utils.gfx.config;
|
||||||
|
|
||||||
import bindbc.sdl;
|
import bindbc.sdl;
|
||||||
|
|
||||||
import ecs.std;
|
import bubel.ecs.std;
|
||||||
|
|
||||||
import ecs_utils.gfx.material;
|
import ecs_utils.gfx.material;
|
||||||
import ecs_utils.gfx.mesh;
|
import ecs_utils.gfx.mesh;
|
||||||
|
|
@ -18,7 +18,7 @@ enum LayerType
|
||||||
sorted
|
sorted
|
||||||
}
|
}
|
||||||
|
|
||||||
import ecs.vector;
|
import bubel.ecs.vector;
|
||||||
|
|
||||||
static struct GfxConfig
|
static struct GfxConfig
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ module ecs_utils.gfx.material;
|
||||||
|
|
||||||
import bindbc.sdl;
|
import bindbc.sdl;
|
||||||
|
|
||||||
import ecs.std;
|
import bubel.ecs.std;
|
||||||
|
|
||||||
import ecs_utils.gfx.shader;
|
import ecs_utils.gfx.shader;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ module ecs_utils.gfx.mesh;
|
||||||
|
|
||||||
import bindbc.sdl;
|
import bindbc.sdl;
|
||||||
|
|
||||||
import ecs.std;
|
import bubel.ecs.std;
|
||||||
|
|
||||||
import ecs_utils.gfx.buffer;
|
import ecs_utils.gfx.buffer;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ module ecs_utils.gfx.renderer;
|
||||||
|
|
||||||
import bindbc.sdl;
|
import bindbc.sdl;
|
||||||
|
|
||||||
import ecs.std;
|
import bubel.ecs.std;
|
||||||
|
|
||||||
//import ecs_utils.core : Backend;
|
//import ecs_utils.core : Backend;
|
||||||
import ecs_utils.gfx.buffer;
|
import ecs_utils.gfx.buffer;
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ module ecs_utils.gfx.shader;
|
||||||
|
|
||||||
import bindbc.sdl;
|
import bindbc.sdl;
|
||||||
|
|
||||||
import ecs.std;
|
import bubel.ecs.std;
|
||||||
|
|
||||||
import glad.gl.gl;
|
import glad.gl.gl;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ module ecs_utils.gfx.texture;
|
||||||
|
|
||||||
import bindbc.sdl;
|
import bindbc.sdl;
|
||||||
|
|
||||||
import ecs.std;
|
import bubel.ecs.std;
|
||||||
|
|
||||||
import ecs_utils.math.vector;
|
import ecs_utils.math.vector;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
module ecs_utils.gfx.vertex;
|
module ecs_utils.gfx.vertex;
|
||||||
|
|
||||||
import ecs.std;
|
import bubel.ecs.std;
|
||||||
|
|
||||||
struct Vertex
|
struct Vertex
|
||||||
{
|
{
|
||||||
|
|
|
||||||
30
meson.build
30
meson.build
|
|
@ -1,21 +1,21 @@
|
||||||
project('DECS', 'd')
|
project('DECS', 'd')
|
||||||
|
|
||||||
src = [
|
src = [
|
||||||
'source/ecs/atomic.d',
|
'source/bubel/ecs/atomic.d',
|
||||||
'source/ecs/attributes.d',
|
'source/bubel/ecs/attributes.d',
|
||||||
'source/ecs/block_allocator.d',
|
'source/bubel/ecs/block_allocator.d',
|
||||||
'source/ecs/core.d',
|
'source/bubel/ecs/core.d',
|
||||||
'source/ecs/entity.d',
|
'source/bubel/ecs/entity.d',
|
||||||
'source/ecs/events.d',
|
'source/bubel/ecs/events.d',
|
||||||
'source/ecs/hash_map.d',
|
'source/bubel/ecs/hash_map.d',
|
||||||
'source/ecs/id_manager.d',
|
'source/bubel/ecs/id_manager.d',
|
||||||
'source/ecs/manager.d',
|
'source/bubel/ecs/manager.d',
|
||||||
'source/ecs/package.d',
|
'source/bubel/ecs/package.d',
|
||||||
'source/ecs/simple_vector.d',
|
'source/bubel/ecs/simple_vector.d',
|
||||||
'source/ecs/std.d',
|
'source/bubel/ecs/std.d',
|
||||||
'source/ecs/system.d',
|
'source/bubel/ecs/system.d',
|
||||||
'source/ecs/traits.d',
|
'source/bubel/ecs/traits.d',
|
||||||
'source/ecs/vector.d'
|
'source/bubel/ecs/vector.d'
|
||||||
]
|
]
|
||||||
|
|
||||||
tests_src = [
|
tests_src = [
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ Emscripten functions are contained in API similar to druntime.
|
||||||
Copyright: Copyright © 2018-2019, Dawid Masiukiewicz, Michał Masiukiewicz
|
Copyright: Copyright © 2018-2019, Dawid Masiukiewicz, Michał Masiukiewicz
|
||||||
License: BSD 3-clause, see LICENSE file in project root folder.
|
License: BSD 3-clause, see LICENSE file in project root folder.
|
||||||
*/
|
*/
|
||||||
module ecs.atomic;
|
module bubel.ecs.atomic;
|
||||||
|
|
||||||
version(Emscripten)version = ECSEmscripten;
|
version(Emscripten)version = ECSEmscripten;
|
||||||
|
|
||||||
|
|
@ -20,7 +20,7 @@ Struct EntitiesData
|
||||||
Copyright: Copyright © 2018-2019, Dawid Masiukiewicz, Michał Masiukiewicz
|
Copyright: Copyright © 2018-2019, Dawid Masiukiewicz, Michał Masiukiewicz
|
||||||
License: BSD 3-clause, see LICENSE file in project root folder.
|
License: BSD 3-clause, see LICENSE file in project root folder.
|
||||||
*/
|
*/
|
||||||
module ecs.attributes;
|
module bubel.ecs.attributes;
|
||||||
|
|
||||||
///Used to mark optional components for system.
|
///Used to mark optional components for system.
|
||||||
enum optional = "optional";
|
enum optional = "optional";
|
||||||
|
|
@ -6,10 +6,10 @@ Module contain memory allocator.
|
||||||
Copyright: Copyright © 2018-2019, Dawid Masiukiewicz, Michał Masiukiewicz
|
Copyright: Copyright © 2018-2019, Dawid Masiukiewicz, Michał Masiukiewicz
|
||||||
License: BSD 3-clause, see LICENSE file in project root folder.
|
License: BSD 3-clause, see LICENSE file in project root folder.
|
||||||
*/
|
*/
|
||||||
module ecs.block_allocator;
|
module bubel.ecs.block_allocator;
|
||||||
|
|
||||||
import ecs.manager;
|
import bubel.ecs.manager;
|
||||||
import ecs.std;
|
import bubel.ecs.std;
|
||||||
|
|
||||||
/************************************************************************************************************************
|
/************************************************************************************************************************
|
||||||
Allocator allocate large blocks and return smaller blocks. When there is no more blocks then next large block is allocated.
|
Allocator allocate large blocks and return smaller blocks. When there is no more blocks then next large block is allocated.
|
||||||
|
|
@ -49,10 +49,10 @@ Struct System1
|
||||||
Copyright: Copyright © 2018-2019, Dawid Masiukiewicz, Michał Masiukiewicz
|
Copyright: Copyright © 2018-2019, Dawid Masiukiewicz, Michał Masiukiewicz
|
||||||
License: BSD 3-clause, see LICENSE file in project root folder.
|
License: BSD 3-clause, see LICENSE file in project root folder.
|
||||||
*/
|
*/
|
||||||
module ecs.core;
|
module bubel.ecs.core;
|
||||||
|
|
||||||
public import ecs.manager;
|
public import bubel.ecs.manager;
|
||||||
public import ecs.entity;
|
public import bubel.ecs.entity;
|
||||||
|
|
||||||
/************************************************************************************************************************
|
/************************************************************************************************************************
|
||||||
Main struct used as namespace for templates.
|
Main struct used as namespace for templates.
|
||||||
|
|
@ -4,10 +4,10 @@ Entity module.
|
||||||
Copyright: Copyright © 2018-2019, Dawid Masiukiewicz, Michał Masiukiewicz
|
Copyright: Copyright © 2018-2019, Dawid Masiukiewicz, Michał Masiukiewicz
|
||||||
License: BSD 3-clause, see LICENSE file in project root folder.
|
License: BSD 3-clause, see LICENSE file in project root folder.
|
||||||
*/
|
*/
|
||||||
module ecs.entity;
|
module bubel.ecs.entity;
|
||||||
|
|
||||||
import ecs.system;
|
import bubel.ecs.system;
|
||||||
import ecs.manager;
|
import bubel.ecs.manager;
|
||||||
|
|
||||||
/************************************************************************************************************************
|
/************************************************************************************************************************
|
||||||
Entity ID structure. Used as reference to Entity. Pointer to entity should be ever used to store entity reference!
|
Entity ID structure. Used as reference to Entity. Pointer to entity should be ever used to store entity reference!
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
module ecs.events;
|
module bubel.ecs.events;
|
||||||
|
|
||||||
import ecs.block_allocator;
|
import bubel.ecs.block_allocator;
|
||||||
import ecs.entity;
|
import bubel.ecs.entity;
|
||||||
import ecs.manager;
|
import bubel.ecs.manager;
|
||||||
import ecs.std;
|
import bubel.ecs.std;
|
||||||
|
|
||||||
import std.algorithm.comparison : max;
|
import std.algorithm.comparison : max;
|
||||||
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
module ecs.hash_map;
|
module bubel.ecs.hash_map;
|
||||||
|
|
||||||
import std.traits;
|
import std.traits;
|
||||||
|
|
||||||
import ecs.vector;
|
import bubel.ecs.vector;
|
||||||
import ecs.traits;
|
import bubel.ecs.traits;
|
||||||
|
|
||||||
enum doNotInline = "version(DigitalMars)pragma(inline,false);version(LDC)pragma(LDC_never_inline);";
|
enum doNotInline = "version(DigitalMars)pragma(inline,false);version(LDC)pragma(LDC_never_inline);";
|
||||||
|
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
module ecs.id_manager;
|
module bubel.ecs.id_manager;
|
||||||
|
|
||||||
import ecs.entity;
|
import bubel.ecs.entity;
|
||||||
import ecs.std;
|
import bubel.ecs.std;
|
||||||
import ecs.vector;
|
import bubel.ecs.vector;
|
||||||
|
|
||||||
import ecs.atomic;
|
import bubel.ecs.atomic;
|
||||||
import core.stdc.string : memcpy;
|
import core.stdc.string : memcpy;
|
||||||
|
|
||||||
/************************************************************************************************************************
|
/************************************************************************************************************************
|
||||||
|
|
@ -4,7 +4,7 @@ Most important module. Almost every function is called from EntityManager.
|
||||||
Copyright: Copyright © 2018-2019, Dawid Masiukiewicz, Michał Masiukiewicz
|
Copyright: Copyright © 2018-2019, Dawid Masiukiewicz, Michał Masiukiewicz
|
||||||
License: BSD 3-clause, see LICENSE file in project root folder.
|
License: BSD 3-clause, see LICENSE file in project root folder.
|
||||||
*/
|
*/
|
||||||
module ecs.manager;
|
module bubel.ecs.manager;
|
||||||
|
|
||||||
import std.algorithm : max;
|
import std.algorithm : max;
|
||||||
import std.conv : to;
|
import std.conv : to;
|
||||||
|
|
@ -14,21 +14,21 @@ import std.traits;
|
||||||
//import core.stdc.stdlib : qsort;
|
//import core.stdc.stdlib : qsort;
|
||||||
//import core.stdc.string;
|
//import core.stdc.string;
|
||||||
|
|
||||||
import ecs.system; //not ordered as forward reference bug workaround
|
import bubel.ecs.system; //not ordered as forward reference bug workaround
|
||||||
import ecs.block_allocator;
|
import bubel.ecs.block_allocator;
|
||||||
import ecs.entity;
|
import bubel.ecs.entity;
|
||||||
import ecs.events;
|
import bubel.ecs.events;
|
||||||
import ecs.hash_map;
|
import bubel.ecs.hash_map;
|
||||||
import ecs.id_manager;
|
import bubel.ecs.id_manager;
|
||||||
import ecs.simple_vector;
|
import bubel.ecs.simple_vector;
|
||||||
import ecs.std;
|
import bubel.ecs.std;
|
||||||
import ecs.traits;
|
import bubel.ecs.traits;
|
||||||
import ecs.vector;
|
import bubel.ecs.vector;
|
||||||
import ecs.atomic;
|
import bubel.ecs.atomic;
|
||||||
|
|
||||||
export alias gEM = EntityManager.instance;
|
export alias gEM = EntityManager.instance;
|
||||||
export alias gEntityManager = EntityManager.instance;
|
export alias gEntityManager = EntityManager.instance;
|
||||||
alias SerializeVector = ecs.vector.Vector!ubyte;
|
alias SerializeVector = bubel.ecs.vector.Vector!ubyte;
|
||||||
|
|
||||||
/************************************************************************************************************************
|
/************************************************************************************************************************
|
||||||
Entity manager is responsible for everything.
|
Entity manager is responsible for everything.
|
||||||
10
source/bubel/ecs/package.d
Normal file
10
source/bubel/ecs/package.d
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
module ecs;
|
||||||
|
|
||||||
|
public import bubel.ecs.core;
|
||||||
|
public import bubel.ecs.entity;
|
||||||
|
public import bubel.ecs.manager;
|
||||||
|
public import bubel.ecs.system;
|
||||||
|
|
||||||
|
import bubel.ecs.events;
|
||||||
|
import bubel.ecs.id_manager;
|
||||||
|
import bubel.ecs.std;
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
module ecs.simple_vector;
|
module bubel.ecs.simple_vector;
|
||||||
|
|
||||||
import ecs.std;
|
import bubel.ecs.std;
|
||||||
|
|
||||||
//import core.stdc.string;
|
//import core.stdc.string;
|
||||||
|
|
||||||
|
|
@ -5,7 +5,7 @@ This module contain implementation of standard functionality.
|
||||||
Copyright: Copyright © 2018-2019, Dawid Masiukiewicz, Michał Masiukiewicz
|
Copyright: Copyright © 2018-2019, Dawid Masiukiewicz, Michał Masiukiewicz
|
||||||
License: BSD 3-clause, see LICENSE file in project root folder.
|
License: BSD 3-clause, see LICENSE file in project root folder.
|
||||||
*/
|
*/
|
||||||
module ecs.std;
|
module bubel.ecs.std;
|
||||||
|
|
||||||
version(Emscripten)version = ECSEmscripten;
|
version(Emscripten)version = ECSEmscripten;
|
||||||
|
|
||||||
|
|
@ -4,10 +4,10 @@ System module.
|
||||||
Copyright: Copyright © 2018-2019, Dawid Masiukiewicz, Michał Masiukiewicz
|
Copyright: Copyright © 2018-2019, Dawid Masiukiewicz, Michał Masiukiewicz
|
||||||
License: BSD 3-clause, see LICENSE file in project root folder.
|
License: BSD 3-clause, see LICENSE file in project root folder.
|
||||||
*/
|
*/
|
||||||
module ecs.system;
|
module bubel.ecs.system;
|
||||||
|
|
||||||
import ecs.entity;
|
import bubel.ecs.entity;
|
||||||
import ecs.manager;
|
import bubel.ecs.manager;
|
||||||
|
|
||||||
/************************************************************************************************************************
|
/************************************************************************************************************************
|
||||||
System contain data required to proper glue EntityManager with Systems.
|
System contain data required to proper glue EntityManager with Systems.
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
module ecs.traits;
|
module bubel.ecs.traits;
|
||||||
|
|
||||||
import std.traits;
|
import std.traits;
|
||||||
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
module ecs.vector;
|
module bubel.ecs.vector;
|
||||||
|
|
||||||
import core.bitop;
|
import core.bitop;
|
||||||
//import core.stdc.stdlib : free, malloc;
|
//import core.stdc.stdlib : free, malloc;
|
||||||
import ecs.std;
|
import bubel.ecs.std;
|
||||||
//import core.stdc.string : memcpy, memset;
|
//import core.stdc.string : memcpy, memset;
|
||||||
//import std.algorithm : swap;
|
//import std.algorithm : swap;
|
||||||
import std.conv : emplace;
|
import std.conv : emplace;
|
||||||
|
|
@ -1,10 +0,0 @@
|
||||||
module ecs;
|
|
||||||
|
|
||||||
public import ecs.core;
|
|
||||||
public import ecs.entity;
|
|
||||||
public import ecs.manager;
|
|
||||||
public import ecs.system;
|
|
||||||
|
|
||||||
import ecs.events;
|
|
||||||
import ecs.id_manager;
|
|
||||||
import ecs.std;
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
module tests.basic;
|
module tests.basic;
|
||||||
|
|
||||||
import ecs.core;
|
import bubel.ecs.core;
|
||||||
import ecs.manager;
|
import bubel.ecs.manager;
|
||||||
import ecs.system;
|
import bubel.ecs.system;
|
||||||
import ecs.attributes;
|
import bubel.ecs.attributes;
|
||||||
|
|
||||||
import std.array : staticArray;
|
import std.array : staticArray;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
module tests.id_manager;
|
module tests.id_manager;
|
||||||
|
|
||||||
import ecs.id_manager;
|
import bubel.ecs.id_manager;
|
||||||
import ecs.entity;
|
import bubel.ecs.entity;
|
||||||
|
|
||||||
unittest
|
unittest
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -5,9 +5,9 @@ import core.stdc.stdio;
|
||||||
import core.stdc.string;
|
import core.stdc.string;
|
||||||
import core.sys.posix.setjmp;
|
import core.sys.posix.setjmp;
|
||||||
|
|
||||||
import ecs.vector;
|
import bubel.ecs.vector;
|
||||||
import ecs.simple_vector;
|
import bubel.ecs.simple_vector;
|
||||||
import ecs.std;
|
import bubel.ecs.std;
|
||||||
|
|
||||||
enum int ASSERTED = 123;
|
enum int ASSERTED = 123;
|
||||||
enum string OUT_FILE = "test_report.xml";
|
enum string OUT_FILE = "test_report.xml";
|
||||||
|
|
|
||||||
|
|
@ -3,12 +3,12 @@ module tests.tests;
|
||||||
import std.experimental.allocator;
|
import std.experimental.allocator;
|
||||||
import std.experimental.allocator.mallocator;*/
|
import std.experimental.allocator.mallocator;*/
|
||||||
|
|
||||||
import ecs.entity;
|
import bubel.ecs.entity;
|
||||||
import ecs.events;
|
import bubel.ecs.events;
|
||||||
import ecs.manager;
|
import bubel.ecs.manager;
|
||||||
import ecs.system;
|
import bubel.ecs.system;
|
||||||
import ecs.attributes;
|
import bubel.ecs.attributes;
|
||||||
import ecs.core;
|
import bubel.ecs.core;
|
||||||
|
|
||||||
version (WebAssembly)
|
version (WebAssembly)
|
||||||
{
|
{
|
||||||
|
|
@ -714,7 +714,7 @@ else:
|
||||||
|
|
||||||
//foreach(i; 0..1_000_000)gEM.removeEntity(gEM.addEntity(tmpl).id);
|
//foreach(i; 0..1_000_000)gEM.removeEntity(gEM.addEntity(tmpl).id);
|
||||||
|
|
||||||
import ecs.std;
|
import bubel.ecs.std;
|
||||||
|
|
||||||
EntityID[] idss = Mallocator.makeArray!EntityID(5000); //[5000]
|
EntityID[] idss = Mallocator.makeArray!EntityID(5000); //[5000]
|
||||||
//scope(exit)Mallocator.dispose(idss);
|
//scope(exit)Mallocator.dispose(idss);
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
module tests.vector;
|
module tests.vector;
|
||||||
|
|
||||||
import ecs.simple_vector;
|
import bubel.ecs.simple_vector;
|
||||||
//import ecs.vector;
|
//import bubel.ecs.vector;
|
||||||
|
|
||||||
@("simple-vector")
|
@("simple-vector")
|
||||||
unittest
|
unittest
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue