SadConsole 9.0.0-alpha6

A library that emulates old-school console and command prompt style graphics. Targets .NET Standard 2.1.

This is a prerelease version of SadConsole.
There is a newer prerelease version of this package available.
See the version list below for details.
Install-Package SadConsole -Version 9.0.0-alpha6
dotnet add package SadConsole --version 9.0.0-alpha6
<PackageReference Include="SadConsole" Version="9.0.0-alpha6" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add SadConsole --version 9.0.0-alpha6
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
  • Revamped control rendering. ControlConsole renderer now has a 2nd surface which only controls are rendered to. This way the control layer system can update independently of the actual console.
  • Fixed bug in renderers which the renderer wasn't attached and detached from the object when added.
  • Cursor is now a component.
  • Cursor has a new property named MouseClickReposition which when true allows a mouse click on the host console to move the cursor.
  • Cursor a lot of quality of life improvements.
  • Removed ISurfaceRenderData and went back to normal IScreenSurface for renderers.
  • ControlHost correctly checks the parent of the control when processing the mouse.
  • ControlHost no longer listens to the tab button when a control indicates it handled input
  • Textbox bug fixes (thanks Doctor Triagony).
  • Revamped control rendering. ControlConsole renderer now has a 2nd surface which only controls are rendered to. This way the control layer system can update independently of the actual console.
  • Fixed bug in renderers which the renderer wasn't attached and detached from the object when added.
  • Cursor is now a component.
  • Cursor has a new property named MouseClickReposition which when true allows a mouse click on the host console to move the cursor.
  • Cursor a lot of quality of life improvements.
  • Removed ISurfaceRenderData and went back to normal IScreenSurface for renderers.
  • ControlHost correctly checks the parent of the control when processing the mouse.
  • ControlHost no longer listens to the tab button when a control indicates it handled input
  • Textbox bug fixes (thanks Doctor Triagony).

Release Notes

A lot of structual changes to split out rendering from SadConsole. You now need to add SadConsole.Host.MonoGame
or SadConsole.Host SFML to your project.

Major changes:

- Object model has changed a lot. Console types no longer inherit from CellSurface and are based on a few different base
classes and interfaces implemented through ScreenObject. Everything in SadConsole is now a ScreenObject.

- Console.Surface represents the cell surface of the console. Extension methods are provided so that you can use
Console.Print and related methods. If you coding inside a Console instance though, the extension methods only work if
you qualify the call with this.Print.

- Font/FontMaster are now merged into a single type: Font.

- Font sizes are always represented in an X,Y value now, and are seperate from the font itself. This means every
console has a Font and FontSize property now instead of a single Font property.

- All UI objects were moved into the SadConsole.UI namespace.

- The theme system was overhauled (and mostly backported to SadConsole v8).

- A lot of misc name changes, swapping out where it specified Console and substituting ScreenObject. For example,
SadConsole.Input.MouseConsoleState is now SadConsole.Input.MouseScreenObjectState

- SadConsole.Global had a lot of changes and not longer exists. Properties from Global are now available on SadConsole.GameHost.Instance.

- SadConsole.GameHost.Instance.Screen is the root console displayed on the screen to which all other objects are attached to. It is a console
and you cannot change this. It makes it simpler for new users. To disable it, disable the renderer: SadConsole.GameHost.Instance.Screen.Renderer = null.
Objects added to the Children collection will still work; SadConsole will not bother drawing the root console itself.

- ControlConsole no longer provides the logic for the GUI system. This was migrated to a new component: ControlHost. The host can be added to any console
you want to be able to display controls. The ControlsConsole type remains for ease of use. It now provides a ControlHostComponent property with direct
access to the component instance automatically added to the console.

- Entity is no longer a Console but a ScreenObject.

- App creation is slightly different with a few names migrated and events for draw/update callbacks

 SadConsole.Game.Create(80, 25);
 SadConsole.Game.Instance.OnStart = Init;
 SadConsole.Game.Instance.FrameUpdate += Instance_FrameUpdate;
 SadConsole.Game.Instance.Run();
 SadConsole.Game.Instance.Dispose();

GitHub repositories (1)

Showing the top 1 popular GitHub repositories that depend on SadConsole:

Repository Stars
SadConsole/SadConsole
A .NET ascii/ansi console engine written in C# for MonoGame and XNA. Create your own text roguelike (or other) games!

Version History

Version Downloads Last updated
9.0.0-alpha7 0 7/11/2020
9.0.0-alpha6 180 5/28/2020
9.0.0-alpha5 88 5/26/2020
9.0.0-alpha4 70 5/1/2020
9.0.0-alpha3 90 5/1/2020
9.0.0-alpha2 107 3/14/2020
9.0.0-alpha1 221 1/26/2020
8.99.1 645 4/11/2020
8.99.1-debug 105 4/11/2020
8.99.0 567 11/27/2019
8.99.0-debug 86 11/27/2019
8.9.1 254 11/5/2019
8.9.1-debug 82 11/5/2019
8.9.0 483 9/7/2019
8.9.0-debug 109 9/7/2019
8.8.1 343 7/28/2019
8.8.1-debug 118 7/28/2019
8.8.0 143 7/27/2019
8.8.0-debug 113 7/27/2019
8.7.1 263 6/22/2019
8.7.1-debug 125 6/22/2019
8.7.0 140 6/22/2019
8.7.0-debug 119 6/22/2019
8.6.0 422 4/14/2019
8.6.0-debug 163 4/14/2019
8.5.0 254 4/2/2019
8.5.0-debug 157 4/2/2019
8.4.1 251 3/19/2019
8.4.1-debug 156 3/19/2019
8.4.0 171 3/17/2019
8.4.0-debug 160 3/17/2019
8.3.0 206 3/10/2019
8.3.0-debug 156 3/10/2019
8.2.0 223 3/2/2019
8.2.0-debug 179 3/2/2019
8.1.0 206 2/28/2019
8.1.0-debug 166 2/28/2019
8.0.0 240 2/24/2019
8.0.0-pre5 169 2/19/2019
8.0.0-pre4 180 1/31/2019
8.0.0-pre2 227 12/30/2018
8.0.0-pre1 170 12/30/2018
7.3.0 349 12/29/2018
7.2.0 359 11/20/2018
7.1.0 386 10/19/2018
7.0.4 345 9/8/2018
7.0.3 229 9/8/2018
7.0.2 535 8/31/2018
7.0.0 360 8/29/2018
7.0.0-pre1 242 8/22/2018
6.5.0 524 6/12/2018
6.4.11 503 4/13/2018
6.4.11-pre1 473 4/6/2018
6.4.10 416 3/18/2018
6.4.9 351 3/18/2018
6.4.8 359 3/18/2018
6.4.7 364 3/16/2018
6.4.6 589 2/14/2018
6.4.5 426 2/3/2018
6.4.3 457 11/14/2017
6.4.2 532 8/11/2017
6.4.1 356 8/10/2017
6.4.0 400 7/25/2017
6.3.0 483 6/9/2017
6.2.2 422 5/20/2017
6.2.1 507 4/23/2017
6.2.0 382 4/22/2017
6.1.4 397 4/17/2017
6.1.3 1,039 4/3/2017
6.1.2 370 4/1/2017
6.1.1 379 4/1/2017
6.1.0 363 3/31/2017
6.0.1 440 3/19/2017
6.0.0 438 3/18/2017