NttSharp 1.0.1

dotnet add package NttSharp --version 1.0.1
                    
NuGet\Install-Package NttSharp -Version 1.0.1
                    
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="NttSharp" Version="1.0.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="NttSharp" Version="1.0.1" />
                    
Directory.Packages.props
<PackageReference Include="NttSharp" />
                    
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 NttSharp --version 1.0.1
                    
#r "nuget: NttSharp, 1.0.1"
                    
#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 NttSharp@1.0.1
                    
#: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=NttSharp&version=1.0.1
                    
Install as a Cake Addin
#tool nuget:?package=NttSharp&version=1.0.1
                    
Install as a Cake Tool

Ntt# - An Entity Component System for C#

Ntt# is a small library for creating games easily and efficiently without sparing performance.<br/>

Introduction

Traditionally in game development inheritance is the key abstraction most developers go for when desiging their master-pieces. This approach, while solid, comes with many caveats that can heavily impact the performance and stability of games and programs alike. With this in mind developers have been experimenting with new ways to build their game logic that can meet the high performance and stability requirments of today's games. One of those many approaches is the entity-component-system (shorthand ECS), which is a pattern that favors a component based approach over an inheritance based one. This system seperates individual pieces of 'objects' into components and encourages a more dynamic yet performant way of structuring game data.</br>

Code Example

using NttSharp.Entities;
using NttSharp.Models;

namespace NttSharp.Example.Console
{
    public struct Position
    {
        public int X;
        public int Y;

        public Position(int x, int y)
        {
            X = x;
            Y = y;
        }
    }

    public struct Velocity
    {
        public int X;
        public int Y;

        public Velocity(int x, int y)
        {
            X = x;
            Y = y;
        }
    }

    public partial class Program
    {
        static void Main(string[] args)
        {
            World world = new World();

            foreach (int offset in Enumerable.Range(0, 10))
            {
                int entity = world.Create();

                world.Assign(entity, new Position(offset, offset));

                if (offset % 2 is 0)
                {
                    world.Assign(entity, new Velocity(offset, offset));
                }
            }

            world.Each((ref Position position, ref Velocity velocity) =>
            {
                //
            });

            world.Each((int entity, ref Position position, ref Velocity velocity) =>
            {
                //
            });

            View<Position, Velocity> view = world.View<Position, Velocity>();

            foreach (var entity in view)
            {
                ref Position position = ref view.Get1(entity);
                ref Velocity velocity = ref view.Get2(entity);

                //
            }
        }
    }
}
Product Compatible and additional computed target framework versions.
.NET net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  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.
  • net7.0

    • No dependencies.

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.1 301 6/5/2023
1.0.0 248 6/5/2023