TheiaECS_Extended 1.1.0

dotnet add package TheiaECS_Extended --version 1.1.0
                    
NuGet\Install-Package TheiaECS_Extended -Version 1.1.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="TheiaECS_Extended" Version="1.1.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="TheiaECS_Extended" Version="1.1.0" />
                    
Directory.Packages.props
<PackageReference Include="TheiaECS_Extended" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add TheiaECS_Extended --version 1.1.0
                    
#r "nuget: TheiaECS_Extended, 1.1.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package TheiaECS_Extended@1.1.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=TheiaECS_Extended&version=1.1.0
                    
Install as a Cake Addin
#tool nuget:?package=TheiaECS_Extended&version=1.1.0
                    
Install as a Cake Tool

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 through delegates within Bundles.

  • Singleton Components – Implements a centralized pattern for managing single-instance Components through the Atom class.

  • 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 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.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Released TheiaECS Extended 1.1.0 : Refactor on Atom and Systems (breaking change).
     Released TheiaECS Extended 1.0.32 : Generic keys for DataTables .
     Released TheiaECS Extended 1.0.31 : Updated TheiaECS_Common and TheiaECS_Lib Packages. Added new method for DataTables.
     Released TheiaECS Extended 1.0.3 : Updated TheiaECS_Lib Package.
     Released TheiaECS Extended 1.0.2 : Added TheiaECS_Common Package as Dependency.
     Released TheiaECS Extended 1.0.