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.
-
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
NoesisGUI.MonoGameWrapper.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.
- 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.
Pull requests are welcome. Please make your code compliant with Microsoft recommended coding conventions:
The code provided under MIT License. Please read LICENSE.md for details.