Commit Graph

256 Commits

Author SHA1 Message Date
mikko mononen
f690c92f05 SmartObject: Fix missing header in entry annotation
#preflight 63c7ccd7883895985e3c2dac

[CL 23754056 by mikko mononen in ue5-main branch]
2023-01-18 07:41:01 -05:00
mikko mononen
25c538c4f2 SmartObject: Entry annotation
- fixed transforming multiple slots
- added way for annotations to be transformed in editor
- added beginnings of Smart Object entry annotation

#jira UE-172417 UE-174418
#rb Mieszko.Zielinski
#preflight 63c7bb6ae81a360aa9f9e152

[CL 23753534 by mikko mononen in ue5-main branch]
2023-01-18 06:27:31 -05:00
bob tellez
5a84e8a7d8 [Backout] - CL23746516
[FYI] Yoan.StAmant
Original CL Desc
-----------------------------------------------------------------
[SmartObject] updated the smartobject blueprint library:
- renamed 'K2_SetSmartObjectEnabled' to 'AddOrRemoveSmartObject' since 'Enabled= false' is a concept used when the object is no longer available for queries but active interactions can finish.
- added functions to add to/remove from the simulation all smart objects from a single or a list of actors.
- added functions to enable/disable smart objects on a single or a list of actors.
#jira UE-165689
#rb mikko.mononen
#rb maxime.mercier
#rb patrick.carroll
#preflight 63c6fda33f587d9e1403726c

[CL 23752173 by bob tellez in ue5-main branch]
2023-01-18 01:06:52 -05:00
bob tellez
09e68111e3 [Backout] - CL23741166
[FYI] Yoan.StAmant
Original CL Desc
-----------------------------------------------------------------
[SmartObjects]
- Removed synchronization logic between ability system component and smartobject instance tags.
- Added SmartObject subsystem to the SmartObjectWorldConditionSchema to help fixing unit tests where we use a derived subsystem. Updated existing SmartObject world conditions to use it.
- Added support for world conditions to the main smart object instance (in addition to those in each slot). Slots could be also disabled by their parent conditions.
- Removed object tags filter from the definition and replaced it by the newly added condition (FWorldCondition_SmartObjectActorTagQuery)
#rb mikko.mononen
#preflight 63c6c3530b358b97d198a121

[CL 23752170 by bob tellez in ue5-main branch]
2023-01-18 01:06:45 -05:00
bob tellez
3688402f79 #SmartObjects Add asset name to warning about struct conversion
[FYI] Yoan.StAmant
#preflight skip

[CL 23749903 by bob tellez in ue5-main branch]
2023-01-17 19:47:51 -05:00
yoan stamant
9fabd23ca4 [SmartObject] updated the smartobject blueprint library:
- renamed 'K2_SetSmartObjectEnabled' to 'AddOrRemoveSmartObject' since 'Enabled= false' is a concept used when the object is no longer available for queries but active interactions can finish.
- added functions to add to/remove from the simulation all smart objects from a single or a list of actors.
- added functions to enable/disable smart objects on a single or a list of actors.
#jira UE-165689
#rb mikko.mononen
#rb maxime.mercier
#rb patrick.carroll
#preflight 63c6fda33f587d9e1403726c

[CL 23748053 by yoan stamant in ue5-main branch]
2023-01-17 18:40:30 -05:00
yoan stamant
d5778c0be3 CIS fix
#rnx
#preflight skip

[CL 23747941 by yoan stamant in ue5-main branch]
2023-01-17 18:37:58 -05:00
yoan stamant
853ad94e66 [SmartObjects]
- Removed synchronization logic between ability system component and smartobject instance tags.
- Added SmartObject subsystem to the SmartObjectWorldConditionSchema to help fixing unit tests where we use a derived subsystem. Updated existing SmartObject world conditions to use it.
- Added support for world conditions to the main smart object instance (in addition to those in each slot). Slots could be also disabled by their parent conditions.
- Removed object tags filter from the definition and replaced it by the newly added condition (FWorldCondition_SmartObjectActorTagQuery)
#rb mikko.mononen
#preflight 63c6c3530b358b97d198a121

[CL 23747892 by yoan stamant in ue5-main branch]
2023-01-17 18:37:13 -05:00
henrik karlsson
3c9aacb1ad [Engine/Plugins]
* Updated public headers for ~170 engine plugins using iwyu to remove includes not needed. Removed includes are still available behind UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_2

#preflight 63c08f4a2a6acaf1622bcc73
#rb none

[CL 23674775 by henrik karlsson in ue5-main branch]
2023-01-13 01:54:01 -05:00
yoan stamant
4cf60160b5 [SmartObject] updated FSmartObjectHandleFactory::CreateSOHandle by refining the condition to strip the asset path string in partitioned world. We only want this for actors streamed by WorldPartitionLevelStreamingDynamic.
#rb patrick.enfedaque
#rb maxime.mercier
#rnx
#preflight none

[CL 23672863 by yoan stamant in ue5-main branch]
2023-01-12 20:38:26 -05:00
mikko mononen
c1f2999501 SmartObject: Fix mutable uses of instanced structs and struct views.
#jira UE-172049
#rb Mieszko.Zielinski
#preflight 63bff27f4b018bfa80049378

[CL 23661846 by mikko mononen in ue5-main branch]
2023-01-12 09:01:21 -05:00
mieszko zielinski
6ff463500e StaticAnalysis fixes for SmartObjectPersistentCollection.cpp
#rb none
#preflight 63bc48e768068a8bd6f31072

[CL 23631765 by mieszko zielinski in ue5-main branch]
2023-01-10 15:20:16 -05:00
henrik karlsson
73d19879ca [Engine]
* Fixed non-unity compile errors when building non editor config

#preflight skipped
#rb none

[CL 23592538 by henrik karlsson in ue5-main branch]
2023-01-05 16:12:13 -05:00
Mieszko Zielinski
eee5fd6311 clang non-unity compilation fix
#rb trivial
#preflight 639368170236bc17cea82428
#preflight 63936b6b0236bc17cea95b60

[CL 23465122 by Mieszko Zielinski in ue5-main branch]
2022-12-09 12:24:23 -05:00
mieszko zielinski
5be4672ff9 Added a rendering component for SmartObjectContainerRenderingComponent
#preflight 639207de0236bc17ce31ddf5

[CL 23461403 by mieszko zielinski in ue5-main branch]
2022-12-09 03:39:11 -05:00
mieszko zielinski
d08bd7242e Made Smart Objects' tag synchronization in USmartObjectComponent::OnRuntimeInstanceBound be performed only for collection-bound Smart Objects
#preflight 6391f815c709c72756a95d60

[CL 23449268 by mieszko zielinski in ue5-main branch]
2022-12-08 12:45:07 -05:00
mieszko zielinski
dcfa2f8008 Fixed SmartObject unit tests failing if triggered via the Editor
#preflight 6391f98d5624e6da5eed076b

[CL 23448070 by mieszko zielinski in ue5-main branch]
2022-12-08 11:50:57 -05:00
mieszko zielinski
2da21261b0 Deprecated ESmartObjectUnregistrationMode and its use in SmartObjectComponent registration and unregistration and introduced two explicit paths for smart object removal:
* Unregister - keeps or deletes the runtime SO information based on SmartObjectComponent.RegistrationType
* Remove - called on SmartObject's EndPlay and ends up removing runtime data regardless of the registration type.

Also:
* SmartObjectSubsystem unfriended SmartObjectComponent - it was a toxic relationship anyway! ;)
* Made changes towards simplification of how things are done - Registering, Unregistering, Binding SO Component to a RuntimeInstance.

#preflight 6390906fbb6fefa4721822e4

[CL 23431219 by mieszko zielinski in ue5-main branch]
2022-12-07 13:05:23 -05:00
yoan stamant
bce7be85e8 [SmartObject] added custom show flag "SmartObjects" and bound the SmartObjectSubsystem rendering to it (disabled by default)
#jira UE-171598
#rb maxime.mercier
#preflight 6390a6bbc0652bbec2eae06d

[CL 23430985 by yoan stamant in ue5-main branch]
2022-12-07 12:51:50 -05:00
Mieszko Zielinski
9a29546f20 Temporarily commented out the overzealaus ensure in USmartObjectSubsystem::AddCollectionEntryToSimulation. The proper fix is WIP in a different stream
#jira UE-172055
#preflight 638f835a5c5308d18cedafd7
#review-23411933
#deadend

[CL 23412459 by Mieszko Zielinski in ue5-main branch]
2022-12-06 13:20:56 -05:00
mieszko zielinski
bccb817a3f SmartObject registrations changes.
- SmartObject gained knowledge whether it was registered as a part of a colleciton, or as a dynamic smart object.
- cleaned up SmartObjectComponents SOHandle setting an resetting - there's a separate function for invalidating the handle.
- added handling of SmartObjectComponent's destruction (as opposed to unregistration due to being streamed out, potentially temporarily)

#preflight 638a25c74c3ce8ae5d20ba60

[CL 23389318 by mieszko zielinski in ue5-main branch]
2022-12-05 08:19:29 -05:00
mikko mononen
2f2f301d65 WorldCondition: Allow query state to be bitwise relocatable, make tie to definition safer
- stored the whole condition cached state into the allocated memory to allow state to be bitwise relocated
- made definition UObject, and store reference to the definition directly into the state
- keep instantiated definitions alive (create new object)
- added query invalidation handle which is used to invalidate the query

#rb Mieszko.Zielinski
#preflight 63872b143377450900b57a46

[CL 23325777 by mikko mononen in ue5-main branch]
2022-11-30 07:17:21 -05:00
mieszko zielinski
66a5a0a1f1 Removed the part of ADEPRECATED_SmartObjectCollection::PostLoad requesting the actor to be marked as garbage since the actor is being referenced by some unrelated code, and referencing garbage is undesired.
The actor should be cleaned out on save automatically since it's deprecated now. To make it clear to the end user updated the actor label to reflect its deprecation.

#preflight 6385c2e7766a2aeed2e0a549

[CL 23303069 by mieszko zielinski in ue5-main branch]
2022-11-29 05:02:39 -05:00
mieszko zielinski
bf25520ccc SmartObject collection rework, introducing a FSmartObjectContainer type that encapsulates SmartObjectComponent registration and storage. The SmartObjectSubsystem now stores a Container that aggregates all other containers supplied by loaded/streamed in SmartObjectPersistentCollection instances.
In addition:
* SmartObjectCollection got deprecated and there's a auto-update path triggered in SmartObjectCollection::PostLoad
* SmartObjectComponent component can opt out of being a part of a collection with `bCanBePartOfCollection`
* Right now we limit SmartObjects to be registered with at most a single Collection. This might change in the future if required.

Note that this is the first change in a series, we're going to support miltiple collections per level with convenient ways of assigning SmartObjects to individual collections.

#jira UE-168977
#preflight 637f8faa4004f73f627ecaca

#preflight 637fa5378b12eb83a77ad7d9

[CL 23262132 by mieszko zielinski in ue5-main branch]
2022-11-24 14:53:52 -05:00
mikko mononen
a796b2d2e4 WorldConditions: Changed FWorldConditionContextData::SetSchema to take reference instead of pointer for consistency.
#rb Mieszko.Zielinski
#preflight 637f61694004f73f62731056

[CL 23259383 by mikko mononen in ue5-main branch]
2022-11-24 10:07:17 -05:00