LughSharp 0.0.1-beta4.1

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

( Heavily Work In Progress )

C# 2D Game Framework project inspired by, but not a direct copy of, the Java LibGDX Game Framework.# The original reason for this project was to learn C# and to gain experience with C#, as my exposure that language, and OOP in general was very limited ( I've spent most of my career with C and Assembly languages ).

I realise and accept that the code within this project is not the best, and that it is not production ready. I'm working on it, and I'm hoping to release a version 1.0.0 at some point.

COMPLETED:

  • Asset Management.
  • TexturePacker support.
  • OpenGL 2D Graphics.
  • TiledMap support.
  • BitmapFont support.
  • Json handling to support Scene2D Skins.
  • Ninepatch support
  • Sprite2D animations.
  • ImagePacker
  • Input System.
  • TiledMap Animated Tiles.
  • Sprite Scrolling.
  • Update Logger.Debug and Logger.Error to acceot NULL messages and report them as such.

IN PROGRESS:

  • Audio needs testing and/or finishing.

  • TiledMapPacker support.

  • Scene2D UI is not yet complete. 1. I'm currently testing the UI Actors and their functionality. 2. I'm working on adding StyleRegistry and StyleFactory classes to enable creation and use of Scene2D UI Actors without the need for Json Skin files, although support for Json Skins will still be retained.

      - Button              - Done
      - CheckBox            - Done
      - Dialog              - 
      - ImageButton         - Done
      - ImageTextButton     - Done
      - Label               - Done
      - ListBox             - Done
      - ProgressBar         - Done
      - Scene2DImage        - Done
      - ScrollPane          - Done
      - SelectBox           - 
      - Slider              - Done
      - SplitPane           - 
      - Table               - 
      - TextArea            - Done
      - TextButton          - Done
      - TextField           - Done
      - TextTooltip         - 
      - Tooltip             - 
      - Touchpad            - 
      - Tree                - 
      - Window              - 
    
  • Something for consideration:

    All Styles should provide a fully defined default style. This will remove any possibility of problems with the default style not being defined..

TODO:

  • Box2D Physics support.
  • 3D Graphics needs testing and/or finishing.
  • 2D Particle System needs testing and/or finishing.
  • Distance Field Font generation.

TESTS NEEDED:

  • Maths
  • Scene2D
  • Network
  • TiledMap
  • Audio
  • Asset Management
  • Collections
  • Input
  • Scene2D UI

FUTURE UPDATES:

  • Migrate to EventHandler based event system for Scene2D. This is a BIG task and will require a lot of work.
  • Use NUnit for testing properly.
  • Freetype Font Support
  • SpriteFont support.
  • Add AnimatedTileBuilder to TiledMap support.
  • Network / HTTP etc.



ref (method parameters)

  • pass by reference. Variable passed must be initialised first. (check other uses of ref).
  • the method MAY modify parameter.

out (method parameters)

  • Like ref but variable does not need to be initialised.
  • the method MUST modify parameter.

in (method parameters)

  • pass by reference but disable modification.
  • the method CANNOT modify parameter.
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.

Version Downloads Last Updated
0.0.1-beta4.1 51 6/17/2026
0.0.1-beta4.0 69 5/12/2026
0.0.1-beta3.4 95 3/16/2026
0.0.1-beta3.3 256 12/15/2025
0.0.1-beta3.2 155 8/8/2024
0.0.1-beta3.1 147 7/7/2024
0.0.1-beta3 149 7/4/2024
0.0.1-beta1 159 3/16/2024

Updated for internal structural testing.