TheiaECS_Extended 1.0.2
dotnet add package TheiaECS_Extended --version 1.0.2
NuGet\Install-Package TheiaECS_Extended -Version 1.0.2
<PackageReference Include="TheiaECS_Extended" Version="1.0.2" />
paket add TheiaECS_Extended --version 1.0.2
#r "nuget: TheiaECS_Extended, 1.0.2"
// Install TheiaECS_Extended as a Cake Addin #addin nuget:?package=TheiaECS_Extended&version=1.0.2 // Install TheiaECS_Extended as a Cake Tool #tool nuget:?package=TheiaECS_Extended&version=1.0.2
TheiaECS Extended
An extended library designed to enhance TheiaECS with additional capabilities, features, and an improved developer experience!
β What is TheiaECS and TheiaECS Extended?
TheiaECS is a expressive, simple and efficient Entity Component System (ECS) framework designed for game development in C#. It provides a structured way to organize game logic through a composition-based architecture.
TheiaECS_Extended builds upon this foundation, introducing additional features that streamline development, improve maintainability, and provide more powerful and resourceful tools.
π Key Features
Systems β A default approach for creating and organizing your gameβs systems, using Units for individual system logic, Bundles to group systems together, and MultiBundle to execute multiple bundles in parallel.
Singleton Components β Implements a centralized pattern for managing single-instance Components through the Atom class, utilizing the Monostate pattern that allows for both polymorphism and inheritance while sharing state across all instances. The Molecule class extends this by providing lifecycle management for multiple Atom Components, offering customizable methods for initialization, loading, updating, and drawing operations, streamlining component handling and system processing.
Data Tables β Offers an efficient system for managing and accessing data using the DataTable class. It enables the Components to reference managed resources like Sprites, Sounds, etc., via table indices, ensuring memory safety and optimized memory usage. It can add custom keys, insert values, and retrieve data efficiently, making it ideal for handling game assets while minimizing memory overhead.
Relations β Manages and tracks the parent-child relationships between entities in a World, with the FamilyTree class handling the organization and manipulation of relationship data, while the Relation component stores the specific relationship details.
World Serialization β Utilizes Assemblages to serialize and deserialize Entities and their Components, offering better control over what gets saved. It uses MessagePack for efficient binary serialization. During serialization, temporary entity IDs are stored, and a playback system dynamically recreates the Entities during deserialization. Relationships between Entities are restored as they are instantiated, ensuring all references point to valid Entities.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
-
net9.0
- MessagePack (>= 3.1.3)
- TheiaECS (>= 1.0.2)
- TheiaECS_Common (>= 1.0.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.2 | 37 | 3/10/2025 |
Released TheiaECS Extended 1.0.2 : Added TheiaECS_Common Package as Dependency.
Released TheiaECS Extended 1.0.