SadConsole 9.0.0-alpha6
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" />
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 |
---|---|
.NET | net5.0 net5.0-windows net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows |
.NET Core | netcoreapp3.0 netcoreapp3.1 |
.NET Standard | netstandard2.1 |
MonoAndroid | monoandroid |
MonoMac | monomac |
MonoTouch | monotouch |
Tizen | tizen60 |
Xamarin.iOS | xamarinios |
Xamarin.Mac | xamarinmac |
Xamarin.TVOS | xamarintvos |
Xamarin.WatchOS | xamarinwatchos |
-
.NETStandard 2.1
- Newtonsoft.Json (>= 12.0.3)
- TheSadRogue.Primitives (>= 1.0.0-alpha3-debug)
NuGet packages (6)
Showing the top 5 NuGet packages that depend on SadConsole:
Package | Downloads |
---|---|
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.GoRogueHelpers
A helper library for SadConsole games built with GoRogue. |
|
SadConsole.Extended
A library of common classes that extend SadConsole with new controls, windows, and more. |
|
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 XNA. Create your own text roguelike (or other) games!
|
Version | Downloads | Last updated | |
---|---|---|---|
9.2.2 | 654 | 1/22/2022 | |
9.2.2-debug | 64 | 1/22/2022 | |
9.2.1 | 304 | 1/4/2022 | |
9.2.0 | 434 | 12/31/2021 | |
9.2.0-debug | 58 | 12/31/2021 | |
9.1.1 | 1,518 | 8/7/2021 | |
9.1.1-debug | 178 | 8/7/2021 | |
9.1.0 | 563 | 7/6/2021 | |
9.1.0-debug | 147 | 7/6/2021 | |
9.0.0 | 1,050 | 6/6/2021 | |
9.0.0-debug | 153 | 6/6/2021 | |
9.0.0-beta4 | 320 | 1/15/2021 | |
9.0.0-beta3 | 367 | 12/19/2020 | |
9.0.0-beta2 | 311 | 10/9/2020 | |
9.0.0-beta1 | 394 | 8/1/2020 | |
9.0.0-alpha9 | 445 | 7/25/2020 | |
9.0.0-alpha8 | 260 | 7/13/2020 | |
9.0.0-alpha7 | 378 | 7/11/2020 | |
9.0.0-alpha6 | 457 | 5/28/2020 | |
9.0.0-alpha5 | 347 | 5/26/2020 | |
9.0.0-alpha4 | 300 | 5/1/2020 | |
9.0.0-alpha3 | 351 | 5/1/2020 | |
9.0.0-alpha2 | 308 | 3/14/2020 | |
9.0.0-alpha1 | 580 | 1/26/2020 | |
8.99.3 | 2,190 | 8/15/2020 | |
8.99.3-debug | 272 | 8/15/2020 | |
8.99.2 | 466 | 7/14/2020 | |
8.99.2-debug | 254 | 7/14/2020 | |
8.99.1 | 1,068 | 4/11/2020 | |
8.99.1-debug | 310 | 4/11/2020 | |
8.99.0 | 1,020 | 11/27/2019 | |
8.99.0-debug | 302 | 11/27/2019 | |
8.9.1 | 787 | 11/5/2019 | |
8.9.1-debug | 295 | 11/5/2019 | |
8.9.0 | 849 | 9/7/2019 | |
8.9.0-debug | 424 | 9/7/2019 | |
8.8.1 | 783 | 7/28/2019 | |
8.8.1-debug | 431 | 7/28/2019 | |
8.8.0 | 519 | 7/27/2019 | |
8.8.0-debug | 414 | 7/27/2019 | |
8.7.1 | 644 | 6/22/2019 | |
8.7.1-debug | 432 | 6/22/2019 | |
8.7.0 | 491 | 6/22/2019 | |
8.7.0-debug | 441 | 6/22/2019 | |
8.6.0 | 782 | 4/14/2019 | |
8.6.0-debug | 457 | 4/14/2019 | |
8.5.0 | 648 | 4/2/2019 | |
8.5.0-debug | 503 | 4/2/2019 | |
8.4.1 | 620 | 3/19/2019 | |
8.4.1-debug | 472 | 3/19/2019 | |
8.4.0 | 533 | 3/17/2019 | |
8.4.0-debug | 460 | 3/17/2019 | |
8.3.0 | 578 | 3/10/2019 | |
8.3.0-debug | 465 | 3/10/2019 | |
8.2.0 | 592 | 3/2/2019 | |
8.2.0-debug | 500 | 3/2/2019 | |
8.1.0 | 576 | 2/28/2019 | |
8.1.0-debug | 471 | 2/28/2019 | |
8.0.0 | 633 | 2/24/2019 | |
8.0.0-pre5 | 544 | 2/19/2019 | |
8.0.0-pre4 | 537 | 1/31/2019 | |
8.0.0-pre2 | 570 | 12/30/2018 | |
8.0.0-pre1 | 525 | 12/30/2018 | |
7.3.0 | 659 | 12/29/2018 | |
7.2.0 | 793 | 11/20/2018 | |
7.1.0 | 818 | 10/19/2018 | |
7.0.4 | 798 | 9/8/2018 | |
7.0.3 | 684 | 9/8/2018 | |
7.0.2 | 984 | 8/31/2018 | |
7.0.0 | 731 | 8/29/2018 | |
7.0.0-pre1 | 626 | 8/22/2018 | |
6.5.0 | 917 | 6/12/2018 | |
6.4.11 | 1,005 | 4/13/2018 | |
6.4.11-pre1 | 908 | 4/6/2018 | |
6.4.10 | 905 | 3/18/2018 | |
6.4.9 | 848 | 3/18/2018 | |
6.4.8 | 844 | 3/18/2018 | |
6.4.7 | 874 | 3/16/2018 | |
6.4.6 | 1,079 | 2/14/2018 | |
6.4.5 | 916 | 2/3/2018 | |
6.4.3 | 922 | 11/14/2017 | |
6.4.2 | 994 | 8/11/2017 | |
6.4.1 | 823 | 8/10/2017 | |
6.4.0 | 883 | 7/25/2017 | |
6.3.0 | 942 | 6/9/2017 | |
6.2.2 | 887 | 5/20/2017 | |
6.2.1 | 1,006 | 4/23/2017 | |
6.2.0 | 850 | 4/22/2017 | |
6.1.4 | 869 | 4/17/2017 | |
6.1.3 | 1,508 | 4/3/2017 | |
6.1.2 | 833 | 4/1/2017 | |
6.1.1 | 845 | 4/1/2017 | |
6.1.0 | 823 | 3/31/2017 | |
6.0.1 | 908 | 3/19/2017 | |
6.0.0 | 810 | 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();