Commit Graph

273 Commits

Author SHA1 Message Date
christian savoie
c171565cab [MVVM] Update GetBindingSourceProperty to return function return type properties
* Fixes warning when binding list/panel items to a function instead of a property

[REVIEW] [at]editor-ui-systems
#tests Changed binding from a property to a function
#rb zahra.nikbakht

[CL 36803206 by christian savoie in 5.5 branch]
2024-10-02 17:25:45 -04:00
alain lafleur
ff0a5a3185 Replace check calls with ensure calls since the connections are supposed to be created in Shipping as well.
Therefore, compilation of the assets were failing on production backend.

Some other undetected? cases have been corrected at the same time.

swarm review has been upvoted in another branch : https://p4-swarm.epicgames.net/reviews/36646875

#rb JeanMichel.Dignard
#rnx
#tests Tested with and without fix on shipping build. Saw the bug happening while debugging

[CL 36765502 by alain lafleur in 5.5 branch]
2024-10-01 20:54:30 -04:00
alain lafleur
1b905ebe01 Merging
//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]
2024-10-01 18:59:25 -04:00
christian savoie
291cb8f68a [MVVM] Fix VM default resolvers to be created in the correct package so they save properly
[REVIEW] [at]editor-ui-systems
#tests Add a new VM that defaults to resolver, restart editor to see data being saved correctly

[CL 36172869 by christian savoie in 5.5 branch]
2024-09-10 21:32:44 -04:00
Ryan Hummer
4af2fd066d Updating Dev-Release-5.5 from Main at CL #36144969
#okforversepublic

[CL 36146571 by Ryan Hummer in Dev-5.5 branch]
2024-09-10 10:26:02 -04:00
daren cheng
f217a26b50 Add verbose info to invalid conversion functions.
#rb daren.cheng
[FYI] editor-ui-systems
#tests editor compile

[CL 36026584 by daren cheng in ue5-main branch]
2024-09-04 18:49:50 -04:00
daren cheng
40714e7a08 Add LoadAsset & derived classes to allowlist for MVVM
Make Node Bindings show display name rather than node class name

#rb daren.cheng
#tests editor
[FYI] editor-ui-systems

[CL 35937414 by daren cheng in ue5-main branch]
2024-08-30 16:58:33 -04:00
bob tellez
cdb994c7e7 #UE Add more info to an ensure
[CL 35912959 by bob tellez in ue5-main branch]
2024-08-29 23:31:16 -04:00
daren cheng
8187a73b14 Add autocast for object types for async conversion functions.
[REVIEW] [at]editor-ui-systems
#rb daren.cheng
[FYI] editor-ui-systems
#tests validation, Editor

[CL 35904712 by daren cheng in ue5-main branch]
2024-08-29 15:40:52 -04:00
daren cheng
7b4e0dd09e Lower log level on multiple bindings. Make message more descriptive.
Add validation to MVVM compiler for async events

#rb Vincent.Gauthier
#tests PIE, standalone, validation
[FYI] alain.lafleur

[CL 35837426 by daren cheng in ue5-main branch]
2024-08-27 16:52:01 -04:00
daren cheng
77ef4d3ffa Add Async MakeBrush & LoadTexture / LoadMaterial Nodes for MVVM
[REVIEW] [at]editor-ui-systems
#rb daren.cheng
[FYI] editor-ui-systems
#tests PIE, cooked, validation

[CL 35836548 by daren cheng in ue5-main branch]
2024-08-27 16:28:59 -04:00
daren cheng
2e95785e75 Add AreSourcesValidForBinding to Async, needed should async finish after binding src / dst become gc'd
#tests PIE, cooked, validation
#rb alain.lafleur
[FYI] Patrick.Boutot

[CL 35836278 by daren cheng in ue5-main branch]
2024-08-27 16:21:50 -04:00
dave jones2
64ae24ec12 Removed extraneous GetSelfPin implementations.
Since GetThenPin was added to UK2Node in 5.x, derived classes don't need to provide their own implementations. These were largely identical to the one in UK2Node. Additionally, overriding non-virtual functions can be error prone if there's an expectation of polymorphic behavior.

#rb dan.oconnor, jodon.karlik
#rnx
[FYI] George.Rolfe

[CL 35782464 by dave jones2 in ue5-main branch]
2024-08-23 16:46:50 -04:00
christian savoie
2a16908813 [MVVM] Change default resolver to use TSoftClassPtr
[FYI] daren.cheng, zahra.nikbakht
#tests Launch editor and look at options in field in settings

[CL 35747633 by christian savoie in ue5-main branch]
2024-08-22 13:43:32 -04:00
christian savoie
9541ac84e5 Remove meta class specifier causing crash in editor
[CL 35660104 by christian savoie in ue5-main branch]
2024-08-20 13:08:57 -04:00
christian savoie
8a3b1c35fc [MVVM] Add ability to set default resolver to select by default in project settings.
* Fixed a mixed up condition
* Cleanup resolver reference when not using it as a creation type.

[REVIEW] [at]editor-ui-systems, [at]jc.authier
#tests Changed creation types. Added a VM that's defaulted to use resolver type.
#rb daren.cheng, jc.authier

[CL 35642642 by christian savoie in ue5-main branch]
2024-08-19 18:26:43 -04:00
zahra nikbakht
b761017d21 MVVM: fix generated functions not being cleared properly on undo.
The temporary array holding the generated graphs should not be affected by undo because it holds data created on the compiler context which is itself not transactional.
#jira UE-211315
#rb daren.cheng

[CL 35582017 by zahra nikbakht in ue5-main branch]
2024-08-15 18:42:31 -04:00
zahra nikbakht
931efd4395 MVVM: fix crash when adding extensions to panel widgets.
#rb alain.lafleur

[CL 35562340 by zahra nikbakht in ue5-main branch]
2024-08-15 10:10:38 -04:00
daren cheng
f256db3ad4 Fix Static Analysis MVVM Async
#tests NonUnity
#rb daren.cheng

[CL 35534246 by daren cheng in ue5-main branch]
2024-08-14 10:52:14 -04:00
daren cheng
b6c830e5f6 Fix incorrect API Exposure MVVM
#tests NonUnity
#rb daren.cheng

[CL 35533675 by daren cheng in ue5-main branch]
2024-08-14 10:34:15 -04:00
zahra nikbakht
ac410ff582 MVVM: disable auto-conversion from SoftObjectPointer to ObjectPointer in conversion function arguments
#rb daren.cheng

[CL 35533495 by zahra nikbakht in ue5-main branch]
2024-08-14 10:28:44 -04:00
daren cheng
9121acc4c1 Add Async Node support to MVVM
Add generated ubergraph / multicast support to MVVM.
Some MVVM conversion function compilation refactoring, param / result structs, duplicate method extraction.

#tests PIE, Standalone, Cooked
#rb dan.oconnor, Patrick.Boutot

[CL 35532573 by daren cheng in ue5-main branch]
2024-08-14 09:59:16 -04:00
daren cheng
016453e06a Add comments related to delegates / events / MVVM
#tests PIE, Standalone, Cooked
#rb daren.cheng

[CL 35384568 by daren cheng in ue5-main branch]
2024-08-07 18:25:51 -04:00
patrick boutot
2e269042c7 MVVM: Add Callback on the WidgetBlueprintGeneratedClass to collect save override. The generated function are transient in editor but save during the cooking process.
#rb Jamie.Dale, Zahra.Nikbakht, Vincent.Gauthier

[CL 35115660 by patrick boutot in ue5-main branch]
2024-07-26 14:43:34 -04:00
andrew rodham
927c5d41b3 Sequencer: Added time-warp capabilities to sequences, sub-sections and skeletal animation sections
This is a large suite of changes that are being submitted in bulk for build-health reasons:

Core machinery:
 - FMovieSceneNumericVariant: This is the base variant type that represents either a double, or a custom object. It is not much use on its own, but provides the basis for the time-warp variant, and will be the basis for parameterization.
 - FMovieSceneTimeWarpVariant: This is a drop in replacement for a double PlayRate/TimeScale UProperty that can now represent a time-warp or play rate curve, a loop, a clamp, or a fixed time. It also provides functionality for remapping time, and inverse remapping time.
 - The following interpolation types have been added/improved to add Derivative and Integral functionality
   * FConstantValue: Represents a curve of the form y=c
   * FLinearInterpolation: Represents a curve of the form y=mx + c
   * FQuadraticInterpolation: Represents a curve of the form y=ax^2 + bx + c.
   * FCubicInterpolation: Represents a curve of the form y=ax^3 + bx^2 + cx + d.
   * FQuarticInterpolation: Represents a curve of the form y=ax^4 + bx^3 + cx^2 + dx + e. Does not support integration.
   * FCubicBezierInterpolation now has an AsCubic method that converts it to a cubic polynomial form, which also allows derivative/integral functionality.
 - FPiecewiseCurve(Model): A generic read-only piecewise curve implementation and curve editor model. Used to display derivative curves for playrate.
 - FMovieSceneTimingParameters: A struct for specifying section timing that simplifies computation of a transform. I wanted to replace all implementations with this but current deprecation mechanisms were prohibitively restrictive. More work will be needed there to remove legacy code.
 - FMovieSceneTimeWarpChannel: A new channel type that defines time in one of two domains: PlayRate or Time

Curve Editor: Added the ability to specify custom axes and child curves
- Custom Axes:
  * Custom axes can now be assigned to each curve within a view, and the axis defines the scaling for that curve.
  * This allows us to have multiple different 'spaces' on the same view that have vastly different scales (for instance, play rate, and tick resolution times)
- Child Curves:
  * Child curves are added whenever their parent is added. This allows us to show the derivative of a play rate curve on the curve editor.

Sequencer: Added Owning Object and key offsets to channel meta-data and curve models, made Sequencer key-editors polymorphic,
- New options on channel proxy entries allow us to specify that a channel's keys are relative to their section start time via a key offset
- New options in the curve editor models allow for a non-UMovieSceneSection owner object type

#jira UE-149871
#rb Ludovic.Chabant, David.Bromberg, Max.Chen

[CL 34813298 by andrew rodham in ue5-main branch]
2024-07-15 10:52:09 -04:00