You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A high performance, low memory usage, archetyped based EC framework/ECS library for C#.
Whaaaat?! Aren't there enough ECS libraries out there!
While Frent's implementation is an archetype based ECS, thats not why Frent was made. Frent is primarily an EC framework - Entity Component framework - that allows you to easily use composition for code reuse rather than inheritance with minimal boilerplate. Write components that include behavior, lifetime management, and events while enjoying all the performance benefits of an ECS.
Want to write systems anyways? Frent also has a Systems API that allows you to query entities in the style of an ECS.
Warning
Frent is still in beta and is not completely stable.
Quick Example
usingFrent;usingFrent.Systems;usingFrent.Components;usingSystem.Numerics;usingWorldworld=newWorld();Entityentity=world.Create<Position,Velocity>(new(Vector2.Zero),new(Vector2.One));//Call Update to run the update functions of your componentsworld.Update();// Position is (1, 1)Console.WriteLine(entity.Get<Position>());recordstructPosition(Vector2Value);recordstructVelocity(Vector2Delta):IComponent<Position>{publicvoidUpdate(refPositionposition)=>position.Value+=Delta;}