Commit Graph

180 Commits

Author SHA1 Message Date
patrick enfedaque
073de4ad22 DataLayerTreeItem: workaround compiler bug
#rb philippe.deseve, jeanfrancois.dube
#preflight 646f60e36c2a2532b14d13c3
#rnx

[CL 25644303 by patrick enfedaque in ue5-main branch]
2023-05-26 12:02:43 -04:00
kirill zorin
de8db5ff76 Converting ARO-facing raw pointers to TObjectPtr ahead of raw pointer ARO API deprecation.
#rb zousar.shaker
#rb markus.breyer
#rb robert.manuszewski

#preflight 646391406b1406b54ab15460

[CL 25489627 by kirill zorin in ue5-main branch]
2023-05-16 10:52:49 -04:00
richard malo
86eaeb896a Small refactor : Use FArchiveMD5::GetGuidFromHash to simplify code
#rb jeanfrancois.dube
#preflight 64555ee9ed7ffaa0f5d56e7d

[CL 25369689 by richard malo in ue5-main branch]
2023-05-08 09:08:07 -04:00
richard malo
dd61b26132 Prevent assigning actor to private data layer not part of the same WorldDataLayers
#rb patrick.enfedaque
#jira UE-184478
#preflight 644baf9ef502608229e5fe83

[CL 25238952 by richard malo in ue5-main branch]
2023-04-28 16:01:13 -04:00
philippe deseve
3005ef7582 Non-user managed actors can no longer be added/removed to DataLayers via the DataLayerOutliner (similar to DragnDropOp)
Removed DataLayerMode capture of this as it is not valid when the context menu is re-created

#rb richard.malo

[CL 24991903 by philippe deseve in ue5-main branch]
2023-04-11 11:30:47 -04:00
philippe deseve
905303061e Fix static analysis error
#rb none
#preflight 642583c2c42c7fd1cbae978e

[CL 24867828 by philippe deseve in ue5-main branch]
2023-03-31 02:38:56 -04:00
patrick enfedaque
3773a4f9ef DataLayer: Private DataLayer
- Editor only DataLayer type that can be used for filters without having to create DataLayer asset

#rb richard.malo
#preflight 6422e1065e52099fe3ce0745
#rnx

[CL 24820907 by patrick enfedaque in ue5-main branch]
2023-03-28 12:23:16 -04:00
philippe deseve
a0b4da2047 Expand UDataLayerInstance interface in preparation for ExternalDataLayer.
Allow DataLayerInstance to not support Parenting or being parented.
Allow preventing adding or removing actors from the DataLayerOutliner
Allow preventing adding DataLayerInstance to the actor editor context
Add UDataLayerInstance::IsUserManaged to define if the data layer creation/deletion is managed by the user.

#rb richard.malo

[CL 24797884 by philippe deseve in ue5-main branch]
2023-03-26 15:44:07 -04:00
jeanfrancois dube
ca323e9920 Scene Outliner: don't sort unloaded actors at the end of the list to avoid messy behavior when changing the loaded state of an actor.
#rb richard.malo
#preflight 641af921691c5ebc153fcb51

[CL 24778066 by jeanfrancois dube in ue5-main branch]
2023-03-24 08:26:31 -04:00
patrick enfedaque
14d2ded84b DataLayer: Refactor some relabel code to support DataLayerInstanceWithAsset renaming (when they are private)
- Renamed to ShortName to simplify
- Moved into FDataLayerUtils
- New code isn't deprecated as support for renaming private DLs will be added
- New code is independant from deprecated code 5.1/5.0 that can be removed once we update our internal projects (UE-176057)

#rb richard.malo, philippe.deseve
#preflight 64186fb65d3e25354ffddcf3
#rnx

[CL 24723930 by patrick enfedaque in ue5-main branch]
2023-03-20 17:16:42 -04:00
patrick enfedaque
0a3865cb06 DataLayerEditorSubsystem: Update Visibility on initialized World Partition only (Optim)
#rb richard.malo
#preflight 641073f1bd6894c4351de9c1
#rnx

[CL 24652685 by patrick enfedaque in ue5-main branch]
2023-03-15 07:39:52 -04:00
patrick enfedaque
3b2527047f WorldPartition: UnloadReason now provided by FActorDescFilter
#rb jeanfrancois.dube, richard.malo
#preflight 640b26d90e1f02786bee254c
#rnx

[CL 24592065 by patrick enfedaque in ue5-main branch]
2023-03-10 11:01:34 -05:00
patrick enfedaque
3348e07dcf LevelInstance: Fix Skipped actor descs being displayed in outliner since CL 24422197
#rb richard.malo, sebastien.lussier
#preflight 640791f7aa00423335532974
#rnx

[CL 24560412 by patrick enfedaque in ue5-main branch]
2023-03-08 10:55:55 -05:00
patrick enfedaque
4217ec9c76 DataLayer Outliner: Fix WorldDataLayer item not being displayed when World doesn't yet have DL Instances
#rb richard.malo
#preflight 6406408bde14c9e34b8cd5e1

[CL 24538778 by patrick enfedaque in ue5-main branch]
2023-03-07 08:19:49 -05:00
jeanfrancois dube
b448744e87 Templated FWorldPartitionHelpers::GetWorldPartition so it's inlined and not recursive.
#rb richard.malo
#preflight 63ffe80fe32cdb7d9aee32c1

[CL 24484233 by jeanfrancois dube in ue5-main branch]
2023-03-02 12:12:52 -05:00
richard malo
6583fa5db3 Allow editing data layers of level instance when editing the level instance
- When editing level instance, only show loaded/unloaded actors of this level
- When editing level instance, don't prefix actor label with parent level instance(s)
- Replaced import data layer menu option by drag and dropping level instance data layers into main world AWorldDataLayers
- Removed menu option "Create Data Layer under <other> DataLayer" as it will never be allowed for DataLayerInstanceWithAsset since created without any valid DataLayerAsset.
- Disabled changing visibility and editor loading of DataLayerInstances of editing level instance
- Allow editing data layer of level instance when editing the level instance even when main world is not partitioned
- Changed font from bold to bold+italic on DataLayerInstances containing actors part of editor selection
- Removed suffix "- WorldDataLayers" on parent node of DataLayerInstances in the DataLayer Outliner
- Colorize and append "(Current)" to WorldDataLayer of editing Level Instance in the DataLayer Outliner
- Support Make Current on Level instance DataLayerInstances when editing level instance
#rb patrick.enfedaque
#jira UE-178410
#jira UE-177386
#preflight 63f8f0f19009dd70d7b87224

[CL 24441128 by richard malo in ue5-main branch]
2023-02-28 08:35:38 -05:00
philippe deseve
6df56def9a UDataLayerInstance can be outered to a Uobject other than AWorldDataLayers
Provide GetWorldDataLayer to Replace GetAWorldDataLayers
UObject might not have a level in its outerchain.
UDataLayerInstance::GetTypedOuter overloaded so compilation fails if done on UWorld, ULevel or AWorldDataLayer

#rb richard.malo

[CL 24344188 by philippe deseve in ue5-main branch]
2023-02-21 13:26:58 -05:00
jeanfrancois dube
d298c880cf World Partition Editor Loading: added custom loading adapters filtering and moved all Data Layers specific code into Data Layer subsystem, using the new filtering function.
#rb patrick.enfedaque, richard.malo
#preflight 63f38efae832ea950a72a121

[CL 24322910 by jeanfrancois dube in ue5-main branch]
2023-02-20 15:38:05 -05:00
richard malo
cb32fe9838 Fixed crash when opening data layer menu after closing/reopening the data layer outliner
#rb patrick.enfedaque
#jira UE-177265
#preflight 63ee6f0c1d71bcd2627afc53

[CL 24267984 by richard malo in ue5-main branch]
2023-02-16 15:59:16 -05:00
richard malo
1f05a96ddf Properly hook Data Layers menu extenders and pass selection to delegate.
#rb patrick.enfedaque
#preflight 63dbe5b8797b029c0adbbdfa

[CL 23984017 by richard malo in ue5-main branch]
2023-02-02 18:41:35 -05:00
richard malo
047bfb94b7 - Added UDataLayerManager which is local to each WorldPartition.
- This will allow instanced world partition maps to maintain their own Data Layer runtime states.
- Deprecated DataLayerSubsystem since DataLayerManager superseeds its functionality.
- Added helpers like UWorld::GetDataLayerManager and UWorldPartitionBlueprintLibrary::GetDataLayerManager which will automatically find the associated DataLayerManager for the object it's running the BP.
#rb jeanfrancois.dube, patrick.enfedaque, philippe.deseve

[CL 23938773 by richard malo in ue5-main branch]
2023-01-31 17:03:25 -05:00
Patrick Enfedaque
5a569ba2d8 Redo CL 23850205:
- Make FSceneOutlinerTreeItemID taking FGuid constructor explicit to find issues where wrong ID was passed in
- Convert DataLayer tree items to use the FArchiveMD5

#rb richard.malo, jeanfrancois.dube
#preflight 63d2d10f3656ea96dc9131da

[CL 23873707 by Patrick Enfedaque in ue5-main branch]
2023-01-26 15:05:37 -05:00
jeanfrancois dube
88e3c64d55 Data Layers: don't allow user changes for non-user managed actor types.
#rb richard.malo
#preflight none

[CL 23866536 by jeanfrancois dube in ue5-main branch]
2023-01-26 08:24:51 -05:00
richard malo
0038a91e7f Fixed static analysis dereferencing null pointer in DataLayerHierarchy.cpp
#rb trivial

[CL 23673013 by richard malo in ue5-main branch]
2023-01-12 20:51:03 -05:00
richard malo
eeb4d65df4 Show child actors of child level instances even when editing a level instance
#rb patrick.enfedaque

[CL 23666583 by richard malo in ue5-main branch]
2023-01-12 13:42:23 -05:00