Commit Graph

8 Commits

Author SHA1 Message Date
mikko mononen
739a976ab0 PropertyBag: Moved internal methods into lambdas to avoid exposing types in header
#jira UE-150401
#rb Mieszko.Zielinski
#preflight 626a45ed0464895bc5f91a0e

[CL 19954490 by mikko mononen in ue5-main branch]
2022-04-28 03:48:27 -04:00
christopher waters
c848b53f89 Fixing various NonUnity compile errors.
#jira none
#rb none
#preflight 626990c02735a2c0ea8cc96b

[CL 19946125 by christopher waters in ue5-main branch]
2022-04-27 16:20:41 -04:00
jamie dale
6071834747 Fixed FInstancedStruct edits not propagating to instances when editing a CDO
Only the ImportText flow of changing a property actually calls PropagatePropertyChange, so we need to use SetPerObjectValues (which calls ImportText internally) rather than directly copy the struct state.

#jira
#rb Rex.Hill, Mikko.Mononen

#ROBOMERGE-AUTHOR: jamie.dale
#ROBOMERGE-SOURCE: CL 19918614 via CL 19920983 via CL 19921157
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 19923192 by jamie dale in ue5-main branch]
2022-04-26 12:54:29 -04:00
mikko mononen
8824b8d398 Property Bag: Fixed layout and other improvements
- Changed GetOrCreateFromDescs() to always ensure on errors
- Added method to migrate to another property bag instance
- Added metatag "FixedLayout" which allows to only edit values, not layout
- Changed the details customization to be allowed to embed in other customizations

#jira UE-147507
#review
#preflight 6267da5a272f4a558dbcedf6

[CL 19918231 by mikko mononen in ue5-main branch]
2022-04-26 07:56:14 -04:00
mikko mononen
898275734f Property Bag: UPropertyBag and FInstancedPropertyBag
- Property bags allows to create customs structs via code or UI and store them in an property bag instance
- Bags are identified by their layout, a UScriptStruct is created for each unique layout
- The instances serialize the layout, not the type, to simplify handling with old data
- Property values can be migrated between different bags

#jira UE-147507
#review
#preflight 625e96dbdb15ac92db919089

[CL 19806374 by mikko mononen in ue5-main branch]
2022-04-19 07:13:19 -04:00
jamie dale
fa94dbbf19 Improved FInstancedStruct property editing stability
FInstancedStruct now edits a copy of the data (like FStructVariant did) to avoid issues where the detail panel would try and access invalid data. This copy is migrated back to the source whenever a property on the struct is edited, and the source is synced to the copy either every 0.1s or immediately on undo/redo or when the source is edited via its property handle.

The custom revert logic has been removed now that FInstancedStruct implements Identical correctly (as a deep-compare for a value type), and the customization now reads the meta-data from the correct property (to handle containers of FInstancedStruct) as well as handling the "HideViewOptions", "ShowTreeView", and CPF_NoClear meta-data that the standard struct picker supports.

#jira
#preflight 61eeeca1ef289ffc6df11ba7
#rb Mikko.Mononen

#ROBOMERGE-AUTHOR: jamie.dale
#ROBOMERGE-SOURCE: CL 18739655 via CL 18743464 via CL 18743615 via CL 18743717 via CL 18745443 via CL 18746261
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18746495 by jamie dale in ue5-main branch]
2022-01-26 17:30:43 -05:00
mikko mononen
fa60f81a8b Instanced Struct and StateTree: Fixed reset to default buttons (was previously crashing)
#jira none
#review
#robomerge 5.0

[CL 17941517 by mikko mononen in ue5-main branch]
2021-10-27 05:49:26 -04:00
Mieszko Zielinski
2266451827 Moved StructUtils plugin out of NotForLicensees and marked it as experimental.
#rb Mikko.Mononen
#preflight 607e6c0ed4e6700001476800

[CL 16058905 by Mieszko Zielinski in ue5-main branch]
2021-04-20 02:43:47 -04:00