uFrame integration
Hi,
I wanted to ask if anyone is using uFrame 1.6 with Noesis? I saw the git repo but it seems outdated, is it still working?
best,
Robert
I wanted to ask if anyone is using uFrame 1.6 with Noesis? I saw the git repo but it seems outdated, is it still working?
best,
Robert
Re: uFrame integration
We agreed with the uFrame people to have a common MVVM architeture based on Microsoft interfaces. Those folder are:
Thanks!
- uFrame: https://github.com/InvertGames/uFrame/t ... /UnityMVVM
- NoesisGUI: https://github.com/Noesis/UnityMVVM
Thanks!
Re: uFrame integration
Untested -- replace Noesis' copy with this copy, delete the matching files from uFrame. It compiles, but might explode at runtime.
* I might have had to change namespace in uFrame as well -- they had the one interface in the wrong namespace.
* I might have had to change namespace in uFrame as well -- they had the one interface in the wrong namespace.
- Attachments
-
- MVVM.zip
- (6.9 KiB) Downloaded 251 times
Re: uFrame integration
I gave up on uFrame being WPF MVVM compatible a long time ago. Last year in the 1.5 cycle I submitted a pull request that fixed a lot of bugs and made it compatible, but it wasn't merged. Aside from that there was a showstopper bug in the closed source code generator.
The UnityMVVM folder included in Noesis should be the same as in uFrame but it isn't. You can remove the UnityMVVM folder from uFrame 1.6 and it will compile. However on runtime it will explode because uFrame's WPF compatibility has been thrown out of the window. For example, the commands have been replaced with signals and they don't implement System.Windows.Input.ICommand.
I moved on from uFrame and started creating MVVM classes manually in Visual Studio and Blend. It's not that bad actually. But then I ran into the next problem, which is that Noesis has some significant performance problems when it comes to binding. Which looking at the Trello board is planned to be addressed in the version after the next version.
So far MVVM in Unity has caused more trouble than it solved. ¯\_(ツ)_/¯
The UnityMVVM folder included in Noesis should be the same as in uFrame but it isn't. You can remove the UnityMVVM folder from uFrame 1.6 and it will compile. However on runtime it will explode because uFrame's WPF compatibility has been thrown out of the window. For example, the commands have been replaced with signals and they don't implement System.Windows.Input.ICommand.
I moved on from uFrame and started creating MVVM classes manually in Visual Studio and Blend. It's not that bad actually. But then I ran into the next problem, which is that Noesis has some significant performance problems when it comes to binding. Which looking at the Trello board is planned to be addressed in the version after the next version.
So far MVVM in Unity has caused more trouble than it solved. ¯\_(ツ)_/¯
Re: uFrame integration
I hadn't noticed how old the thread was, or I wouldn't have replied.
I have a game model. I have controllers that talk to the game model, and a Hub that publishes. My Unity scenes use MonoBehaviours as views against the game model, so that there is no coupling to Unity and the next time I decide that I hate Unity too much to deal with it and swap to something else, none of the game logic changes.
In the Code Behind for my Noesis code, I subscribe to the hub -- and update the UI as appropriate, and then just don't have a separate view model. I'm still decoupled -- I can replace Noesis with anything else, and the only code I'm writing is the same code I would be writing anyway.
I've thought about setting things up to test with Visual Studio and Blend -- right now that's not been a priority because my UI needs are relatively simple.
I have a game model. I have controllers that talk to the game model, and a Hub that publishes. My Unity scenes use MonoBehaviours as views against the game model, so that there is no coupling to Unity and the next time I decide that I hate Unity too much to deal with it and swap to something else, none of the game logic changes.
In the Code Behind for my Noesis code, I subscribe to the hub -- and update the UI as appropriate, and then just don't have a separate view model. I'm still decoupled -- I can replace Noesis with anything else, and the only code I'm writing is the same code I would be writing anyway.
I've thought about setting things up to test with Visual Studio and Blend -- right now that's not been a priority because my UI needs are relatively simple.
Re: uFrame integration
This one? It started only five days ago : )I hadn't noticed how old the thread was, or I wouldn't have replied.
Re: uFrame integration
Just a clarification here. The problem is not at the bindings but at our containers. As they do not support virtualization many inefficiencies happen when there are many items (100+) inside a listbox for example.But then I ran into the next problem, which is that Noesis has some significant performance problems when it comes to binding. Which looking at the Trello board is planned to be addressed in the version after the next version.
We wanted to solve this in v1.2.5 but the task is huge so we decided to postpone it for v.1.2.6. This is a very important and critical issue. It will be solved.
Who is online
Users browsing this forum: Ahrefs [Bot], Bing [Bot], Semrush [Bot] and 9 guests