//Fortnite/Main/...
to //Fortnite/Dev-FN-32/...
Data driven condition bindings
Authoring and compilation of the new type is hidden behind a project setting.
Fix crash when changing hooked event and trying to edit conversion function parameters.
Fix issue with events valid source check node being purged from the graph upon regenerating connections in the wrapper graph.
Fixes FORT-768257
#tests Tested in editor and in game. Tried with widget property bindings, tried with vm bindings. Verified with multiple bindings to ensure we only execute when it's the condition property that is modified. Ran with cooked version. Tested in standalone and pie.
#rnx
#rb Vincent.Gauthier
[CL 36754418 by alain lafleur in 5.5 branch]
At initalization, one at the time, the source initialize and then execute the bindings. Binding can use a source a soon to be initialize source and a binding can set the value of a source. Both cases need to be taken into account when sorting the sources.
When initializing, the binding can trigger a FieldNotify of another initialized source that can trigger that same source that try to initialize. Add a message if that occurs.
#rb christian.savoie
[CL 31538433 by patrick boutot in ue5-main branch]
Early runs of async loading in the editor were tripping the TStrongObjectPtr's check that it can only be created on the game thread. The was caused by the FMVVMViewBlueprintCompiler::BlueprintView field. Since we're dealing with a non-UObject here, we typically introduce the object reference either by reflecting the struct, or forcing it to inherit from FGCObject.
However, we can also take advantage of the ownership structure. Both the FMVVMViewBlueprintCompiler and UMVVMBlueprintView are owned by UMVVMWidgetBlueprintExtension_View. Technically, FMVVMViewBlueprintCompiler doesn't need a reference to UMVVMBlueprintView if it's already owned by the extension.
#jira UE-206013
#rb Patrick.Boutot, Francis.Hurteau
#rnx
[CL 31496292 by dave jones2 in ue5-main branch]
Expose viewmodels whose creation type is "Create Instance" in the details panel of nested userwidgets and allow editing them independently.
#jira UE-185718
#rb christian.savoie, jared.joyal, Patrick.Boutot
[CL 30717868 by zahra nikbakht in ue5-main branch]
[FYI] zahra.nikbakht
Original CL Desc
-----------------------------------------------------------------
MVVM: allow viewmodel values to be edited on nested userwidgets.
Expose viewmodels whose creation type is "Create Instance" in the details panel of nested userwidgets and allow editing them independently.
#jira UE-185718
#rb Patrick.Boutot
#virtualized
[CL 30378342 by zahra nikbakht in ue5-main branch]
Expose viewmodels whose creation type is "Create Instance" in the details panel of nested userwidgets and allow editing them independently.
#jira UE-185718
#rb Patrick.Boutot
#virtualized
[CL 30376075 by zahra nikbakht in ue5-main branch]
Add a different "key" structures to prevent mistakes with indexes.
Unregister the delay bindings when the source is released.
Store the FieldId, in the source itself. That reduces the amount of work when loading the view.
Add option to delay the events initialization (like we do for bindings).
The binding to evaluate "long path" view models are now separated from regular bindings.
#jira UE-194167
#rb editor-ui-systems
[CL 30042205 by patrick boutot in ue5-main branch]
[FYI] Patrick.Boutot
Original CL Desc
-----------------------------------------------------------------
MVVM: Big rework of the MVVM view compiler. It add supports for conversion function to go from complex to simple. Supports pin split on simple conversion function. Add ability to to support setter function with more than one argument. Build the list of all the sources.
#jira UE-200602, UE-200602, UE-200602, UE-200602, UE-200602
#rb editor-ui-systems
[CL 29801739 by bob tellez in ue5-main branch]
The generated function can assign a property value on a viewmodel, a widget or any property of the UserWidget.
#jira UE-166284
#rb editor-ui-systems
[CL 27236611 by patrick boutot in ue5-main branch]
Bindings will only be executed once at initialization. The bug happend when more than once source can activate the same binding.
Binding can now be OneWay if at least one argument is a FieldNotify. Otherwise it needs to be a OneTime.
Binding that has hardcoded value, no paths, are now supported.
#rb vincent.gauthier
[CL 26846320 by patrick boutot in ue5-main branch]