Commit Graph

16 Commits

Author SHA1 Message Date
phillip kavan
a5b516dcc9 Add missing imports after dragging one or more non-imported namespaced type assets into the components tree in the Blueprint editor.
Change summary:
- Removed SSubobjectBlueprintEditor::FOnNewSubobjectAdded typedef and OnNewSubobjectAdded delegate members. Deprecation was not needed as these were added after the 5.0 release.
- Restored SSubobjectBlueprintEditor::AddNewSubobject() back to its original implementation (prior to adding the now-defunct OnNewSubobjectAdded event).
- Added USubobjectDataSubsystem::OnNewSubobjectAdded() to allow potential listeners to register for and receive successful subobject "add" event notifications.
- Modified USubobjectDataSubsystem::AddNewSubobject() to broadcast new subobject data to any registered listener(s) after a successful add.
- Added FBlueprintEditor::DeferredNamespaceImports to stack auto-imports for events that can be triggered more than once within a single frame.
- Modified FBlueprintEditor::OnComponentAddedToBlueprint() to handle subobject add events that target editor Blueprint objects. Also fixed to query the subobject class for its default import set instead of the subobject itself.
- Modified the FBlueprintEditor dtor to unregister the OnBlueprintUnloaded() event handler as I noticed this was not previously being done (benign as the shared ptr was skipped for being invalid, but this now removes us from the broadcast chain).
- Fixed up minor formatting inconsistencies in some legacy FBlueprintEditor analytics-related code paths.

#jira UE-148495
#rb Ben.Hoffman
#preflight 63078bf937470da4bf38fcf2

[CL 21688272 by phillip kavan in ue5-main branch]
2022-08-29 16:50:08 -04:00
marc audy
4ab0c3a671 Fix crashing when undoing a native component class change in a blueprint
Fix asserts as a result of replacing actor components without going through proper register/unregister lifecycle
Move logic for component class changing out of the details customization and in to the subobject data subsystem
#jira UE-114303
#preflight 621a7ca51d1c5017996c2a01
#rb ben.hoffman
#lockdown julien.marchand

#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 19179312 in //UE5/Release-5.0/... via CL 19180540
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19204194 by marc audy in ue5-main branch]
2022-03-01 14:57:56 -05:00
Zousar Shaker
9abf3ef937 Wrapped ObjectPtr upgrade refresh for Engine + ShooterGame
#rb none
#preflight 60f6411c35476b00018dd12c

[CL 16892864 by Zousar Shaker in ue5-main branch]
2021-07-20 00:21:34 -04:00
ben hoffman
a38ca94c2d Add a flag to force deletion on subobjects so that when making a new scene root the CanDelete check will be bypassed.
This is needed because when the user drags a new scene component over the existing one, the old one should be deleted but is still marked as the SceneRoot (and cannot be deleted because we have to update the instances of the archetypes)

#jira UE-119151
#rb trivial
#rnx
#preflight 60edf5d0ef22fa000176acdf

[CL 16843507 by ben hoffman in ue5-main branch]
2021-07-13 17:56:24 -04:00
ben hoffman
e467c4e6f6 Fix some spelling mistakes in comments
#rb trivial
#rnx
#jira none

[CL 16840894 by ben hoffman in ue5-main branch]
2021-07-13 15:03:42 -04:00
ben hoffman
43f96dd3a6 Fix typo in comment
#jira none
#rb trivial
#rnx

[CL 16679627 by ben hoffman in ue5-main branch]
2021-06-15 17:11:10 -04:00
ben hoffman
1dba26f55d Automatically select a new component for rename upon duplication.
#jira UE-117759
#rb phillip.kavan
#rnx
#preflight 60c2bc6c1264df0001bc76ee

[CL 16635347 by ben hoffman in ue5-main branch]
2021-06-10 22:27:25 -04:00
ben hoffman
4b3aa3e563 Make DeleteSubobject functions for an instance and blueprint seperate for better context menu searches
#jira none
#rb trivial
#rnx

#preflight 60be2392884c63000171ad30

[CL 16572253 by ben hoffman in ue5-main branch]
2021-06-07 12:17:06 -04:00
ben hoffman
1f58841e58 Add DisplayName metadata to CreateNewCppComponent and CreateNewBPComponent
#jira UE-116741
#rb trivial
#rnx

[CL 16514835 by ben hoffman in ue5-main branch]
2021-06-01 11:39:12 -04:00
ben hoffman
5ad480280e Fix typo in param name for USubobjectDataSubsystem::CreateNewBPComponent
#jira UE-116739
#rb trivial
#rnx

[CL 16514521 by ben hoffman in ue5-main branch]
2021-06-01 11:12:42 -04:00
ben hoffman
0267dce005 When adding to instance inhertied subobjects, if the actor instance cannot be initalliy found walk up the heirarchy until we find one.
#jira UE-115687
#rb marc.audy
#preflight 60a6ad227370d300018b3ad5

[CL 16408716 by ben hoffman in ue5-main branch]
2021-05-20 15:59:06 -04:00
ben hoffman
cace383786 Fix a case where an ensure could be triggered when adding a new component to a blueprint with BP inherited components
#jira none
#rb
#rnx
#preflight 60a42f4a7d6b060001e8d724

[CL 16377852 by ben hoffman in ue5-main branch]
2021-05-18 18:36:56 -04:00
ben hoffman
f3116b5fe4 Fix a bug where the hierarchy would all be attached to the default scene root for native blueprints.
Correctly sort non-scene components to the bottom of the component tree.
This is some logic that was missed during the SCS editor refactor and is known to work already.

#jira UE-115776
#rb trivial
#rnx
#preflight 60a40b42292e32000148e10b

[CL 16374996 by ben hoffman in ue5-main branch]
2021-05-18 16:15:05 -04:00
ben hoffman
eec1ad4fad Add cateogry meta tags to the subobject data param structs.
#jira UE-115069
#rb me
#rnx
#preflight 609eb9f7f6c6e3000137bca0

[CL 16333374 by ben hoffman in ue5-main branch]
2021-05-14 15:18:47 -04:00
ben hoffman
54fc57a238 Update comments on CreateNewCPPComponent and expose it to BP
#jira none
#rnx
#rb trivial

[CL 16198130 by ben hoffman in ue5-main branch]
2021-05-04 15:46:56 -04:00
ben hoffman
61908bed8a Create the Subobject Data interface module. This provides an API that can be used to manipulate Subobjects such as adding/removing components, reparenting, and changing the scene heirarchy.
The SubobjectDataSubsystem is how users can manipulate a given object within Blueprints or Python scripting. Given a Uobject instance in a level or a UBlueprint asset, you can use GatherSubobjectData to get get an array of handles that you can use to manipulate that subobject.

This is what the new SubobjectEditor (Previously the SCS editor) will be using instead of having all its logic within slate code.

#rb marc.audy
#jira UE-64131
#preflight 6082ce4f8de3a60001cf6af8
#preflight 6082d84a92d7e700019f53e0

[CL 16104548 by ben hoffman in ue5-main branch]
2021-04-23 11:01:15 -04:00