greenfloor
NoesisGUI MonoGame Integration
This library provides solution for integration NoesisGUI 2.1 with MonoGame 3.6 library. Currently it supports only MonoGame projects for Windows DirectX 11. Example MonoGame project with integrated NoesisGUI is included.
Prerequisites
Installation
-
Download NoesisGUI 2.1 Managed SDK (C#).
-
Extract it to the folder
\NoesisGUI-CSharpSDK\. The resulting directory tree should look like this:NoesisGUI-CSharpSDK |--Bin |--Data |--Doc |--Lib |--Src -
Open
hok.slnwith Visual Studio 2017. -
Open context menu on
TestMonoGameNoesisGUIproject and selectSet as StartUp Project. -
Press F5 to launch the example game project.
-
Please note that the game example project uses sample XAML files from NoesisGUI SDK (it robocopy them from it on post-build to the game build Data folder. NoesisGUI 2.1 works with XAML files without any preprocessing/building step). You could store XAML files in any folder you want and robocopy them this way. One of the useful approaches is to store them in a WPF class library project which could be opened with Visual Studio to edit XAML with full syntax support and autocomplete. It also could be done as a WPF application project which could be executed independently to verify your UI is working properly (but that will require writing more demonstration logic here). WPF XAML is almost 100% compatible with NoesisGUI (see docs).
-
Please note that the game example project copies
NoesisGUI-CSharpSDK\Bin\windows_x86\Noesis.dllduring the post-build event. This is a native NoesisGUI library (written in C++) and if you need 64-bit version or support for another platform, you need to copy according library fromNoesisGUI-CSharpSDK\Bininto the root of the game build folder.
Roadmap
- Add OpenGL support (currently only DirectX 11 is supported).
- Make it platform-independent (currently there are a few PInvoke Windows dependencies for input handling).
- Add touch input support.
Contributing
Pull requests are welcome. Please make your code compliant with Microsoft recommended coding conventions:
License
The code provided under MIT License. Please read LICENSE.md for details.