Skip to content

GCourtney27/Insight-Entity-Component-System

Repository files navigation

Insight-Entity-Component-System

A simple header only entity component system (ECS) written in C++17. Currently in use by the Insight Engine.
Designed to be cache friendly, easily consumable, and expandable using templates.

Requirements:

Visual Studio 2019
x64 compatible CPU

Example Usage

ECS::EntityAdmin EntityAdmin;
Entity_t Entity = EntityAdmin.CreateEntity();
StaticMeshComponent* pMesh = EntityAdmin.AddComponent(Entity, {}, {});
ScriptComponent* pScript = EntityAdmin.AddComponent(Entity, "Path/To/File.hi");
GeometryProcessingSystem GeometrySystem(EntityAdmin);

while(AppIsRuning)
{
GeometrySystem.Execute();
}

EntityAdmin.RemoveComponentById<StaticMeshComponent(pMesh->GetId());
EntityAdmin.DestroyEntity(Entity);

About

A templated entity-component system written in C++17 for Insight Engine.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages