22bd56652d35d9dae839b92e3e82b0ccdd785539
Changes the observable collections to always force a full reset. This isn't great for performance but since it's deferred it should be alright in most cases, and will fix the issues where the event is seen by the WPF dispatcher after the list has been modified.
d07caea0f6bea49fe91c2e6aa16cbe693ecd4d4c
Saving now waits for the file flush to complete before returning a result
5b098c68aa986053960b4424f917e997b1a1bcd5
Some more options when invoking things on the game thread, using C# async features.
Framework code for reloading sessions
c188367749fec7cd64766ee28b6ce749583f0f33
Observable dictionary based on sorted keys.
Display blocks in entity manager grouped by subtype.
22bd56652d35d9dae839b92e3e82b0ccdd785539 Changes the observable collections to always force a full reset. This isn't great for performance but since it's deferred it should be alright in most cases, and will fix the issues where the event is seen by the WPF dispatcher after the list has been modified.
d07caea0f6bea49fe91c2e6aa16cbe693ecd4d4c Saving now waits for the file flush to complete before returning a result
5b098c68aa986053960b4424f917e997b1a1bcd5 Some more options when invoking things on the game thread, using C# async features. Framework code for reloading sessions
c188367749fec7cd64766ee28b6ce749583f0f33 Observable dictionary based on sorted keys. Display blocks in entity manager grouped by subtype.