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" />
paket add SadConsole --version 9.0.0-alpha6
#r "nuget: SadConsole, 9.0.0-alpha6"
// Install SadConsole as a Cake Addin
#addin nuget:?package=SadConsole&version=9.0.0-alpha6&prerelease
// Install SadConsole as a Cake Tool
#tool nuget:?package=SadConsole&version=9.0.0-alpha6&prerelease
- 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 namedMouseClickReposition
which whentrue
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 normalIScreenSurface
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).
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. |
.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 (7)
Showing the top 5 NuGet packages that depend on SadConsole:
Package | Downloads |
---|---|
SadCanvas
A canvas class that works with SadConsole and MonoGame host. |
|
SadConsole.Host.MonoGame
A graphics hosting library for SadConsole. Targets MonoGame and .NET Standard 2.1. |
|
SadConsole.Host.SFML
A graphics hosting library for SadConsole. Targets SFML and .NET Standard 2.1. |
|
SadConsole.Extended
A library of common classes that extend SadConsole with new controls, windows, and more. |
|
SadConsole.GoRogueHelpers
A helper library for SadConsole games built with GoRogue. |
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 XNA. Create your own text roguelike (or other) games!
|
Version | Downloads | Last updated | |
---|---|---|---|
9.2.2 | 2,334 | 1/22/2022 | |
9.2.2-debug | 112 | 1/22/2022 | |
9.2.1 | 697 | 1/4/2022 | |
9.2.0 | 1,143 | 12/31/2021 | |
9.2.0-debug | 95 | 12/31/2021 | |
9.1.1 | 2,136 | 8/7/2021 | |
9.1.1-debug | 212 | 8/7/2021 | |
9.1.0 | 787 | 7/6/2021 | |
9.1.0-debug | 184 | 7/6/2021 | |
9.0.0 | 1,503 | 6/6/2021 | |
9.0.0-debug | 186 | 6/6/2021 | |
9.0.0-beta4 | 363 | 1/15/2021 | |
9.0.0-beta3 | 409 | 12/19/2020 | |
9.0.0-beta2 | 356 | 10/9/2020 | |
9.0.0-beta1 | 437 | 8/1/2020 | |
9.0.0-alpha9 | 491 | 7/25/2020 | |
9.0.0-alpha8 | 295 | 7/13/2020 | |
9.0.0-alpha7 | 432 | 7/11/2020 | |
9.0.0-alpha6 | 502 | 5/28/2020 | |
9.0.0-alpha5 | 393 | 5/26/2020 | |
9.0.0-alpha4 | 333 | 5/1/2020 | |
9.0.0-alpha3 | 387 | 5/1/2020 | |
9.0.0-alpha2 | 344 | 3/14/2020 | |
9.0.0-alpha1 | 635 | 1/26/2020 | |
8.99.3 | 2,425 | 8/15/2020 | |
8.99.3-debug | 306 | 8/15/2020 | |
8.99.2 | 588 | 7/14/2020 | |
8.99.2-debug | 287 | 7/14/2020 | |
8.99.1 | 1,213 | 4/11/2020 | |
8.99.1-debug | 343 | 4/11/2020 | |
8.99.0 | 1,217 | 11/27/2019 | |
8.99.0-debug | 338 | 11/27/2019 | |
8.9.1 | 1,050 | 11/5/2019 | |
8.9.1-debug | 326 | 11/5/2019 | |
8.9.0 | 977 | 9/7/2019 | |
8.9.0-debug | 466 | 9/7/2019 | |
8.8.1 | 930 | 7/28/2019 | |
8.8.1-debug | 476 | 7/28/2019 | |
8.8.0 | 640 | 7/27/2019 | |
8.8.0-debug | 458 | 7/27/2019 | |
8.7.1 | 768 | 6/22/2019 | |
8.7.1-debug | 474 | 6/22/2019 | |
8.7.0 | 613 | 6/22/2019 | |
8.7.0-debug | 483 | 6/22/2019 | |
8.6.0 | 904 | 4/14/2019 | |
8.6.0-debug | 500 | 4/14/2019 | |
8.5.0 | 772 | 4/2/2019 | |
8.5.0-debug | 547 | 4/2/2019 | |
8.4.1 | 734 | 3/19/2019 | |
8.4.1-debug | 515 | 3/19/2019 | |
8.4.0 | 654 | 3/17/2019 | |
8.4.0-debug | 498 | 3/17/2019 | |
8.3.0 | 699 | 3/10/2019 | |
8.3.0-debug | 509 | 3/10/2019 | |
8.2.0 | 717 | 3/2/2019 | |
8.2.0-debug | 542 | 3/2/2019 | |
8.1.0 | 702 | 2/28/2019 | |
8.1.0-debug | 510 | 2/28/2019 | |
8.0.0 | 781 | 2/24/2019 | |
8.0.0-pre5 | 591 | 2/19/2019 | |
8.0.0-pre4 | 576 | 1/31/2019 | |
8.0.0-pre2 | 619 | 12/30/2018 | |
8.0.0-pre1 | 574 | 12/30/2018 | |
7.3.0 | 783 | 12/29/2018 | |
7.2.0 | 924 | 11/20/2018 | |
7.1.0 | 952 | 10/19/2018 | |
7.0.4 | 928 | 9/8/2018 | |
7.0.3 | 824 | 9/8/2018 | |
7.0.2 | 1,120 | 8/31/2018 | |
7.0.0 | 862 | 8/29/2018 | |
7.0.0-pre1 | 673 | 8/22/2018 | |
6.5.0 | 1,061 | 6/12/2018 | |
6.4.11 | 1,156 | 4/13/2018 | |
6.4.11-pre1 | 989 | 4/6/2018 | |
6.4.10 | 1,052 | 3/18/2018 | |
6.4.9 | 996 | 3/18/2018 | |
6.4.8 | 998 | 3/18/2018 | |
6.4.7 | 1,035 | 3/16/2018 | |
6.4.6 | 1,243 | 2/14/2018 | |
6.4.5 | 1,081 | 2/3/2018 | |
6.4.3 | 1,069 | 11/14/2017 | |
6.4.2 | 1,136 | 8/11/2017 | |
6.4.1 | 968 | 8/10/2017 | |
6.4.0 | 1,027 | 7/25/2017 | |
6.3.0 | 1,087 | 6/9/2017 | |
6.2.2 | 1,044 | 5/20/2017 | |
6.2.1 | 1,153 | 4/23/2017 | |
6.2.0 | 1,003 | 4/22/2017 | |
6.1.4 | 1,025 | 4/17/2017 | |
6.1.3 | 1,664 | 4/3/2017 | |
6.1.2 | 984 | 4/1/2017 | |
6.1.1 | 993 | 4/1/2017 | |
6.1.0 | 971 | 3/31/2017 | |
6.0.1 | 1,062 | 3/19/2017 | |
6.0.0 | 960 | 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();