This library provides solution for integration NoesisGUI 2.0 with MonoGame 3.6 library. Currently it supports only MonoGame projects for Windows DirectX 11. OpenGL support planned. Example MonoGame project with integrated NoesisGUI is included.
- Visual Studio 2013/2015/2017, any edition.
- MonoGame 3.6 for VisualStudio.
- NoesisGUI 2.0 Managed SDK (C#)
-
Download NoesisGUI 2.0 Managed SDK (C#).
-
Extract it to the folder
\NoesisGUI-SDK\
. The resulting directory tree should look like this:NoesisGUI-CSharpSDK |--Bin |--Data |--Doc |--Lib |--Src
-
Open
NoesisGUI.MonoGameWrapper.sln
with Visual Studio 2013/2015/2017. -
Open context menu on
TestMonoGameNoesisGUI
project 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.0 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.dll
during 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\Bin
into 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).
- 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.