SadConsole 9.0.0-alpha6
See the version list below for details.
dotnet add package SadConsole --version 9.0.0-alpha6
NuGet\Install-Package SadConsole -Version 9.0.0-alpha6
<PackageReference Include="SadConsole" Version="9.0.0-alpha6" />
<PackageVersion Include="SadConsole" Version="9.0.0-alpha6" />
<PackageReference Include="SadConsole" />
paket add SadConsole --version 9.0.0-alpha6
#r "nuget: SadConsole, 9.0.0-alpha6"
#:package SadConsole@9.0.0-alpha6
#addin nuget:?package=SadConsole&version=9.0.0-alpha6&prerelease
#tool nuget:?package=SadConsole&version=9.0.0-alpha6&prerelease
- Revamped control rendering.
ControlConsolerenderer 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.
Cursoris now a component.Cursorhas a new property namedMouseClickRepositionwhich whentrueallows a mouse click on the host console to move the cursor.Cursora lot of quality of life improvements.- Removed
ISurfaceRenderDataand went back to normalIScreenSurfacefor 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).
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. 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. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- Newtonsoft.Json (>= 12.0.3)
- TheSadRogue.Primitives (>= 1.0.0-alpha3-debug)
NuGet packages (8)
Showing the top 5 NuGet packages that depend on SadConsole:
| Package | Downloads |
|---|---|
|
SadConsole.Extended
A library of common classes that extend SadConsole with new controls, windows, and more. |
|
|
SadConsole.Host.MonoGame
A graphics hosting library for SadConsole that targets MonoGame. |
|
|
SadConsole.Host.SFML
A graphics hosting library for SadConsole that targets SFML. |
|
|
SadConsole.GoRogueHelpers
A helper library for SadConsole games built with GoRogue. |
|
|
TheSadRogue.Integration
An official integration library for using GoRogue and SadConsole together to create a roguelike. |
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on SadConsole:
| Repository | Stars |
|---|---|
|
Thraka/SadConsole
A .NET ascii/ansi console engine written in C# for MonoGame and SFML. Create your own text roguelike (or other) games!
|
| Version | Downloads | Last Updated | |
|---|---|---|---|
| 10.7.0 | 321 | 11/15/2025 | |
| 10.7.0-debug | 200 | 11/15/2025 | |
| 10.6.0 | 1,040 | 8/9/2025 | |
| 10.6.0-debug | 216 | 8/9/2025 | |
| 10.5.0 | 2,479 | 12/7/2024 | |
| 10.5.0-debug | 241 | 12/7/2024 | |
| 10.4.2 | 376 | 10/24/2024 | |
| 10.4.2-debug | 171 | 10/24/2024 | |
| 10.4.1 | 1,550 | 6/13/2024 | |
| 10.4.1-debug | 270 | 6/13/2024 | |
| 10.4.0 | 1,600 | 3/31/2024 | |
| 10.4.0-debug | 303 | 3/31/2024 | |
| 10.0.3 | 782 | 3/14/2024 | |
| 10.0.3-debug | 378 | 3/14/2024 | |
| 10.0.2 | 1,757 | 11/10/2023 | |
| 10.0.2-debug | 972 | 11/10/2023 | |
| 10.0.1 | 833 | 11/10/2023 | |
| 10.0.1-debug | 797 | 11/10/2023 | |
| 10.0.0 | 1,947 | 10/29/2023 | |
| 10.0.0-debug | 1,096 | 10/29/2023 | |
| 10.0.0-beta3-debug | 1,217 | 10/14/2023 | |
| 10.0.0-beta3 | 1,178 | 10/14/2023 | |
| 10.0.0-beta2-debug | 1,172 | 10/11/2023 | |
| 10.0.0-beta2 | 1,203 | 10/11/2023 | |
| 10.0.0-beta1-debug | 1,207 | 10/11/2023 | |
| 10.0.0-beta1 | 1,236 | 10/11/2023 | |
| 10.0.0-alpha4-debug | 1,488 | 8/26/2023 | |
| 10.0.0-alpha4 | 1,442 | 8/26/2023 | |
| 10.0.0-alpha3-debug | 1,353 | 8/26/2023 | |
| 10.0.0-alpha3 | 1,353 | 8/26/2023 | |
| 10.0.0-alpha2-debug | 1,751 | 6/18/2023 | |
| 10.0.0-alpha2 | 1,550 | 6/18/2023 | |
| 10.0.0-alpha1-debug | 1,703 | 6/4/2023 | |
| 9.2.2 | 5,533 | 1/22/2022 | |
| 9.2.2-debug | 1,369 | 1/22/2022 | |
| 9.2.1 | 2,667 | 1/4/2022 | |
| 9.2.0 | 3,597 | 12/31/2021 | |
| 9.2.0-debug | 1,234 | 12/31/2021 | |
| 9.1.1 | 6,202 | 8/7/2021 | |
| 9.1.1-debug | 1,426 | 8/7/2021 | |
| 9.1.0 | 2,349 | 7/6/2021 | |
| 9.1.0-debug | 1,413 | 7/6/2021 | |
| 9.0.0 | 5,043 | 6/6/2021 | |
| 9.0.0-debug | 1,422 | 6/6/2021 | |
| 9.0.0-beta4 | 2,191 | 1/15/2021 | |
| 9.0.0-beta3 | 2,374 | 12/19/2020 | |
| 9.0.0-beta2 | 1,783 | 10/9/2020 | |
| 9.0.0-beta1 | 1,894 | 8/1/2020 | |
| 9.0.0-alpha9 | 1,930 | 7/25/2020 | |
| 9.0.0-alpha8 | 1,584 | 7/13/2020 | |
| 9.0.0-alpha7 | 2,022 | 7/11/2020 | |
| 9.0.0-alpha6 | 2,006 | 5/28/2020 | |
| 9.0.0-alpha5 | 1,784 | 5/26/2020 | |
| 9.0.0-alpha4 | 1,595 | 5/1/2020 | |
| 9.0.0-alpha3 | 1,801 | 5/1/2020 | |
| 9.0.0-alpha2 | 1,713 | 3/14/2020 | |
| 9.0.0-alpha1 | 2,198 | 1/26/2020 | |
| 8.99.3 | 3,948 | 8/15/2020 | |
| 8.99.3-debug | 1,631 | 8/15/2020 | |
| 8.99.2 | 1,974 | 7/14/2020 | |
| 8.99.2-debug | 1,585 | 7/14/2020 | |
| 8.99.1 | 2,662 | 4/11/2020 | |
| 8.99.1-debug | 1,608 | 4/11/2020 | |
| 8.99.0 | 2,711 | 11/27/2019 | |
| 8.99.0-debug | 1,601 | 11/27/2019 | |
| 8.9.1 | 4,159 | 11/5/2019 | |
| 8.9.1-debug | 1,606 | 11/5/2019 | |
| 8.9.0 | 2,503 | 9/7/2019 | |
| 8.9.0-debug | 1,927 | 9/7/2019 | |
| 8.8.1 | 3,434 | 7/28/2019 | |
| 8.8.1-debug | 1,861 | 7/28/2019 | |
| 8.8.0 | 2,687 | 7/27/2019 | |
| 8.8.0-debug | 1,795 | 7/27/2019 | |
| 8.7.1 | 2,233 | 6/22/2019 | |
| 8.7.1-debug | 1,861 | 6/22/2019 | |
| 8.7.0 | 2,079 | 6/22/2019 | |
| 8.7.0-debug | 1,904 | 6/22/2019 | |
| 8.6.0 | 2,327 | 4/14/2019 | |
| 8.6.0-debug | 1,915 | 4/14/2019 | |
| 8.5.0 | 2,223 | 4/2/2019 | |
| 8.5.0-debug | 1,940 | 4/2/2019 | |
| 8.4.1 | 2,186 | 3/19/2019 | |
| 8.4.1-debug | 1,951 | 3/19/2019 | |
| 8.4.0 | 2,071 | 3/17/2019 | |
| 8.4.0-debug | 1,940 | 3/17/2019 | |
| 8.3.0 | 2,160 | 3/10/2019 | |
| 8.3.0-debug | 1,886 | 3/10/2019 | |
| 8.2.0 | 2,198 | 3/2/2019 | |
| 8.2.0-debug | 1,990 | 3/2/2019 | |
| 8.1.0 | 2,169 | 2/28/2019 | |
| 8.1.0-debug | 1,876 | 2/28/2019 | |
| 8.0.0 | 2,284 | 2/24/2019 | |
| 8.0.0-pre5 | 1,962 | 2/19/2019 | |
| 8.0.0-pre4 | 1,982 | 1/31/2019 | |
| 8.0.0-pre2 | 2,016 | 12/30/2018 | |
| 8.0.0-pre1 | 1,967 | 12/30/2018 | |
| 7.3.0 | 2,216 | 12/29/2018 | |
| 7.2.0 | 2,424 | 11/20/2018 | |
| 7.1.0 | 2,481 | 10/19/2018 | |
| 7.0.4 | 2,421 | 9/8/2018 | |
| 7.0.3 | 2,257 | 9/8/2018 | |
| 7.0.2 | 2,646 | 8/31/2018 | |
| 7.0.0 | 2,293 | 8/29/2018 | |
| 7.0.0-pre1 | 2,099 | 8/22/2018 | |
| 6.5.0 | 2,755 | 6/12/2018 | |
| 6.4.11 | 2,892 | 4/13/2018 | |
| 6.4.11-pre1 | 2,669 | 4/6/2018 | |
| 6.4.10 | 2,853 | 3/18/2018 | |
| 6.4.9 | 2,820 | 3/18/2018 | |
| 6.4.8 | 2,794 | 3/18/2018 | |
| 6.4.7 | 2,857 | 3/16/2018 | |
| 6.4.6 | 3,100 | 2/14/2018 | |
| 6.4.5 | 2,898 | 2/3/2018 | |
| 6.4.3 | 2,733 | 11/14/2017 | |
| 6.4.2 | 2,825 | 8/11/2017 | |
| 6.4.1 | 2,643 | 8/10/2017 | |
| 6.4.0 | 2,721 | 7/25/2017 | |
| 6.3.0 | 2,739 | 6/9/2017 | |
| 6.2.2 | 2,744 | 5/20/2017 | |
| 6.2.1 | 2,841 | 4/23/2017 | |
| 6.2.0 | 2,672 | 4/22/2017 | |
| 6.1.4 | 2,665 | 4/17/2017 | |
| 6.1.3 | 3,333 | 4/3/2017 | |
| 6.1.2 | 2,644 | 4/1/2017 | |
| 6.1.1 | 2,595 | 4/1/2017 | |
| 6.1.0 | 2,601 | 3/31/2017 | |
| 6.0.1 | 2,740 | 3/19/2017 | |
| 6.0.0 | 2,431 | 3/18/2017 |
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();