Commit Graph

73 Commits

Author SHA1 Message Date
ben hoffman
fd1fe7595b Subobject Data Subsystem:
- Do not create a new blueprint component via the Subobject Data subsystem if the given class is not a blueprint type.
- Check for existing classes with that have the same name when creating a BP class to prevent the user from creating invalid packages.
- Add logging to show the user a reason for failure when the given class name is invalid.

#rb phillip.kavan

#jira UE-116746
#jira UE-116749
#jira UE-117000

#preflight 60b8e5f78e7ee10001f44220

[CL 16549867 by ben hoffman in ue5-main branch]
2021-06-03 13:44:44 -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
7c447b2d16 Keep track of the created slate nodes while updating tree in the local function scope instead of calling FindOrCreateSlateNodeForHandle because we cannot gaurantee that the grandparent node will be in the RootTree when creating subobjects.
#jira UE-116440
#rb marc.audy
#rnx
#preflight 60af061c0bdb270001096ce7

[CL 16480651 by ben hoffman in ue5-main branch]
2021-05-26 23:50:31 -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
f521548a94 Sort blueprint subobjects by their type to ensure that non-scene components show up on the bottom. When adding a new subobject parent non-scene components to the actor instead of the default scene root.
#jira UE-116086
#rb marc.audy
#preflight 60a5604aa5fa6d0001321600

[CL 16391076 by ben hoffman in ue5-main branch]
2021-05-19 15:51:34 -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
ccc7b1af25 Remove unnecessary check in SubobjectDataSubsystem
#jira UE-74439
#rb trivial
#rnx

[CL 16376065 by ben hoffman in ue5-main branch]
2021-05-18 17:02:55 -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
998c788bff Correctly check for a root component that is native with a different name than the default. This will allow other systems such as drag/drop to evaulate correctly when the subobject editor is asked to find the default scene root given only the actor instance.
#jira UE-115866
#rb trivial
#rnx
#preflight 60a2c69e07285b0001e432aa

[CL 16358813 by ben hoffman in ue5-main branch]
2021-05-17 16:43:05 -04:00
ben hoffman
1d83ed6981 Only set a newly created component as the default scene root if it can be reparented. This stops the incorrect ordering of native components in the heirarchy after a new component has been added
#jira none
#rb me
#rnx

[CL 16358428 by ben hoffman in ue5-main branch]
2021-05-17 16:25:26 -04:00
ben hoffman
b930e2e22a Correctly add "(Inherited)" in the case of a native component in the instance editor. Do not display the native component name for instance inhertied bluerpint subobjects.
#jira UE-115866
#rb trivial
#rnx
#preflight 60a290f54f034a000179f3b2

[CL 16354780 by ben hoffman in ue5-main branch]
2021-05-17 13:04:25 -04:00
ben hoffman
0c88f1985c Remove unused variables in SubobjectData.cpp
#jira none
#rb trivial
#rnx
#preflight 609fcf63ae0db000015d9b68

[CL 16341106 by ben hoffman in ue5-main branch]
2021-05-15 10:17:41 -04:00
ben hoffman
26f716014e Add IsInheritedComponent override to FInheritedSubobjectData to get it to correctly return true.
#jira UE-115689
#jira UE-115692
#rb trivial
#rnx
#preflight 609eebf022cce000010a0d06

[CL 16337265 by ben hoffman in ue5-main branch]
2021-05-14 18:33:04 -04:00
ben hoffman
311b677eec Fix incorrect color tinting of icons in inherited blueprints
#jira none
#rb trivial
#rnx
#preflight 609ee4144a67ba0001f24a05

[CL 16336865 by ben hoffman in ue5-main branch]
2021-05-14 17:55:27 -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
1ef77ebb6f Fix Subobject Data Factories not creating inherited subobject data in situations where a USCS_Node was added via the SimpleConstruction Script
#jira UE-115590
#rb trivial
#rnx
#preflight 609db5abcbf9a40001cff7e1

[CL 16323283 by ben hoffman in ue5-main branch]
2021-05-13 20:44:17 -04:00
ben hoffman
892125ab98 Correctly return true for CanEdit() on a FSubobjectData that is an instance-added component, such as the default scene root on an empty actor.
#jira none
#rb trivial
#rnx

[CL 16232124 by ben hoffman in ue5-main branch]
2021-05-06 21:44:04 -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
80476e35a7 Remove un-needed comment
#jira none
#rb trivial
#rnx

[CL 16174596 by ben hoffman in ue5-main branch]
2021-04-30 19:10:31 -04:00
ben hoffman
db3a6d7413 Fix PVS CIS issues
#jira none
#rb trivial
#rnx

[CL 16145593 by ben hoffman in ue5-main branch]
2021-04-28 12:51:53 -04:00
Marc Audy
3cfedaade8 Fix PVS warning V502 when comparing against NAME_None in a trinary
[CL 16137741 by Marc Audy in ue5-main branch]
2021-04-28 01:58:36 -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