Commit Graph

44 Commits

Author SHA1 Message Date
fernando coello
cfc88369be Smart Object: Exposed GetSlotTransform from RequestResult to blueprint
[REVIEW] [at]mikko.mononen [at]mieszko.zielinski
[FYI] [at]julien.marchand [at]aaron.cox
#preflight 63222025bc40358fa204b699
#jira none

[CL 22035674 by fernando coello in ue5-main branch]
2022-09-15 15:11:53 -04:00
josselin francois
77ac482e2f SmartObjectSubsystem : Add GetSmartObjectComponentByRequestResult()
[REVIEW] [at]Yoan.Stamant, [at]Mikko.Mononen
[FYI] philippe.painchaud, loic.devaux, luciano.ferraro
#tests PIE
#rnx

[CL 21975685 by josselin francois in ue5-main branch]
2022-09-12 19:23:55 -04:00
luciano ferraro
5c21a50454 Change back BehaviorDefinitionClass_DEPRECATED to BehaviorDefinitionClass to keep the code backward compatible
#jira
[REVIEW] [at]Mikko.Mononen
#preflight skip

[CL 21907564 by luciano ferraro in ue5-main branch]
2022-09-08 19:36:03 -04:00
marc audy
04c3709768 Replace BehaviorDefinitionClass with a BehaviorDefinitionClasses
[REVIEW] [at]Mikko.Mononen, [at]Yoan.Stamant
[FYI] Loic.Devaux, Josselin.Francois, Nicolas.Bonnelly, Phil.Cole
#preflight 6317787b2b7fe03eb643473b

[CL 21907244 by marc audy in ue5-main branch]
2022-09-08 19:27:10 -04:00
Mieszko Zielinski
d55575b7d8 Added USmartObjectSubsystem.FindSmartObjectsWithLocations that similarly to FindSmartObjects fetched smart object slots matching given filter, but the result also contains smart object locations
Also added a handy "CanBeClaimed" function for testing individual slots.

#review-21737223
#preflight 6310808ae54ec9d581d0fade
#preflight 6310a9eae1124837759bf70f

[CL 21738872 by Mieszko Zielinski in ue5-main branch]
2022-09-01 09:03:19 -04:00
Mieszko Zielinski
23e2dffb20 Made FMassEntityManager a FGCObject to avoid requiring owners to call AddReferencedObjects manually
#review-21677180
#preflight 630ccbede1124837752a8e7f

[CL 21677985 by Mieszko Zielinski in ue5-main branch]
2022-08-29 11:12:18 -04:00
Mieszko Zielinski
9abf914e39 Added another flavor of FMassEntityManager::GetOrCreateConstSharedFragment that makes for more consistent hash calculation (the function itself is calculating it)
Updated most callsites to use the new version. Only two traffic use cases left untouched due to non-trivial hash calculation.

#review-21485588
#preflight 630614210061f895d03e3f4e

[CL 21538494 by Mieszko Zielinski in ue5-main branch]
2022-08-24 08:35:42 -04:00
Mieszko Zielinski
4e2ff2ef25 MassEntityManager moved to a separate file.
Updated header inclusion after moving MassEntityManager into a separate file

#rb none
#preflight 62f662301e61d1ba0e8580ad

[CL 21355128 by Mieszko Zielinski in ue5-main branch]
2022-08-12 10:47:11 -04:00
Mieszko Zielinski
d69aa84834 Separated "entity management" and USubsystem stuff of UMassEntityManager. Now UMassEntityManager hosts a shared ref of newly created FMassEntityManager, and users are free to create their own FMassEntityManager instances to create isolated entity pools.
Updated Mass code to reflect FMassEntityManager introduction

#jira UE-147658
#review-21335324
#review-21335330
#preflight 62f6384acf7afa018b93b9b5

[CL 21353355 by Mieszko Zielinski in ue5-main branch]
2022-08-12 07:56:27 -04:00
Yoan StAmant
43960896b6 [SmartObject] fixed unit tests when SmartObjectCollection is set to build on demand
#jira UE-156476
#rnx
#rb mieszko.zielinski, maxime.mercier
#robomerge EngineMerge
#preflight 62a8d560a43e20b2935635de

[CL 20654838 by Yoan StAmant in ue5-main branch]
2022-06-14 15:16:17 -04:00
JeanFrancois Dube
a28fdcfe97 World Partition:
- Deprecate UWorldPartition::GetWorldBounds and add GetRuntimeWorldBounds along with GetEditorWorldBounds, maintained by the editor hash.
- World Partition editor now shows the runtime world size instead of the editor world size, which makes more sense to the user.

#rb sebastien.lussier
#preflight 62a74476e83d4c62de7f2b62
#rnx

[CL 20627192 by JeanFrancois Dube in ue5-main branch]
2022-06-13 10:49:55 -04:00
Yoan StAmant
47e097a6ce [SmartObject] do not spawn more than one rendering actor when OnWorldComponentsUpdated gets called more than once
#rnx
#preflight 627ac92e0a5817c9d912b645

[CL 20129055 by Yoan StAmant in ue5-main branch]
2022-05-10 16:35:49 -04:00
robert millar
a5e3c40984 Destroy smart object collection actor rather than using MarkAsGarbage so the level doesn't keep a garbage reference to it.
#rb Yoan.Stamant

#ROBOMERGE-AUTHOR: robert.millar
#ROBOMERGE-SOURCE: CL 20085563 via CL 20086158 via CL 20086252 via CL 20086322
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 20108309 by robert millar in ue5-main branch]
2022-05-09 15:04:45 -04:00
Yoan StAmant
c9e58d56af Do not attempt to unregister from simulation or unbind SmartObjectComponent that were not registered (e.g. invalid definition)
#rnx
#rb trivial
#preflight 626c27222660750c3f05d3dd

[CL 19982673 by Yoan StAmant in ue5-main branch]
2022-04-29 14:19:34 -04:00
Yoan StAmant
895d615f85 [SmartObject] do not attempt to remove component from simulation if they were not registered (e.g. invalid definition)
#rnx
#rb none
#preflight skip

[CL 19946836 by Yoan StAmant in ue5-main branch]
2022-04-27 16:53:50 -04:00
Yoan StAmant
83f8306c54 [SmartObject] updated error reporting regarding missing collection in non-editor builds since we can't assume a missing collection will be created during cooking.
#jira UE-149283
#rnx
#rb mieszko.zielinski
#preflight 6268354a430b9997ebe78d4f

[CL 19925660 by Yoan StAmant in ue5-main branch]
2022-04-26 14:39:26 -04:00
yoan stamant
405c0df0c3 [SmartObject] added CVar to be able to completly disable runtime initialization.
Note that this needs to be set before lauching the game and doesn't support to be toggled at runtime.
#rnx
#rb josselin.francois
#preflight 624af6089f40423414926c41

#ROBOMERGE-AUTHOR: yoan.stamant
#ROBOMERGE-SOURCE: CL 19609030 via CL 19609331 via CL 19609513
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v938-19570697)

[CL 19611700 by yoan stamant in ue5-main branch]
2022-04-04 13:22:01 -04:00
yoan stamant
91b9324d52 [SmartObject] UnregisterSmartObjectActor/Component removes the associated runtime instance from the simulation.
#rnx
#b josselin.francois
#preflight 6244899fc61d8a458f3ddeca

#ROBOMERGE-AUTHOR: yoan.stamant
#ROBOMERGE-SOURCE: CL 19560699 via CL 19560702 via CL 19560708
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v937-19513599)

[CL 19562453 by yoan stamant in ue5-main branch]
2022-03-30 15:13:42 -04:00
marc audy
cd7919c4e7 Correct some inconsistencies with Dev-EngineMerge
#rnx

#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 19531108 in //UE5/Release-Engine-Staging/...
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v937-19513599)

[CL 19532836 by marc audy in ue5-main branch]
2022-03-28 16:31:36 -04:00
yoan stamant
7641c72060 [SmartObject] updated API to remove all ensure and allow caller to provide unset handle or handle to object/slots that may not longer be registered in the simulation.
#rnx
#rb mikko.mononen
#rb josselin.francois
#preflight 623385990820efd0945e69d2

#ROBOMERGE-OWNER: yoan.stamant
#ROBOMERGE-AUTHOR: yoan.stamant
#ROBOMERGE-SOURCE: CL 19425613 via CL 19431559 via CL 19435646 via CL 19436095
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v930-19419903)

[CL 19437148 by yoan stamant in ue5-main branch]
2022-03-18 12:31:49 -04:00
yoan stamant
478d81a61b [SmartObject] handles for SmartObject and SmartObjectSlot passed by value
#rnx
#rb trivial
#preflight 62322b8c6e25767a218d46b0

#ROBOMERGE-AUTHOR: yoan.stamant
#ROBOMERGE-SOURCE: CL 19410090 via CL 19412659 via CL 19426193 via CL 19426309
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v930-19419903)

[CL 19429514 by yoan stamant in ue5-main branch]
2022-03-17 19:07:54 -04:00
yoan stamant
4b56d97931 [SmartObject] added support for GameplayTags on runtime instance
+ SmartObjectComponent acts a bridge to sync tags from the RuntimeInstance and the AbilitySystemComponent (if present on the owning actor)
+ Component streamed out and back it will be bound with their persistent counterpart from the simulation and will synchronize their tags
+ RuntimeInstance and Slot now have a dedicated state when they are disabled when the instance tags don't pass the restrictions defined in the SmartObjectDefinition (ObjectTagFilter)
+ Made a pass to improve consistency in error reporting and methods descriptions
+ Added methods to validate if the object/slot associated to a FSmartObjectClaimHandle and FSmartObjectSlotHandle is still valid when those are stored and not used immediately after a call to any of the 'Find' or 'Claim' methods
#rnx
#rb mikko.mononen
#preflight 6230a0b4e65a7e65d68741e4

#ROBOMERGE-AUTHOR: yoan.stamant
#ROBOMERGE-SOURCE: CL 19386803 via CL 19389419 via CL 19398538 via CL 19398590
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19403765 by yoan stamant in ue5-main branch]
2022-03-16 03:47:02 -04:00
Mieszko Zielinski
3b7899bd86 Mass batching-focused API changes. "Old" mass commands completely removed and reimplemented as batched commands using the new batched API.
Also renamed:
FMassArchetypeSubChunks -> FMassArchetypeEntityCollection
FSubChunkInfo -> FArchetypeEntityRange
FArchetypeChunkCollectionWithPayload -> FMassArchetypeEntityCollectionWithPayload

One noteworthy CitySample's mass traffic code change:
FMassTrafficSimpleVehiclePhysicsTemplate.SimpleVehiclePhysicsFragmentTemplate changed from FInstancedStruct to FMassTrafficVehiclePhysicsFragmen since that's the only type ever used.

#review-19288149
#review-19268063
#review-19268048
#review-19268070
#review-19268239
#review-19267967
#preflight 6227720331133a23da452d70

[CL 19302836 by Mieszko Zielinski in ue5-main branch]
2022-03-08 10:30:07 -05:00
yoan stamant
9116dc7413 [SmartObject] access to activity tags should go through SmartObjectSlotView
+ Tags Filtering Policy now only affect TagQueries from the definitions and applied to UserTags provided by requests
+ Tags Merging Policy added for Activity Tags
#rnx
#rb josselin.francois
#preflight 621fab91257fd6e0996de3b2

#ROBOMERGE-AUTHOR: yoan.stamant
#ROBOMERGE-SOURCE: CL 19225863 via CL 19236663 via CL 19236832 via CL 19236900
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19237559 by yoan stamant in ue5-main branch]
2022-03-02 22:33:53 -05:00
yoan stamant
05a440dcfb [SmartObject] added some Tags filtering policy
+ added activityTags in slot
+ added unit test for tag filtering and fixed unit tests messages
+ preview mesh and actor class are no longer exposed to the user in the definition asset (they should only be used by the editor for preview)
+ misc API cleanup and simplifications
#rnx
#rb mikko.mononen
#preflight 621e6a9dca28c5563431e601

#ROBOMERGE-OWNER: yoan.stamant
#ROBOMERGE-AUTHOR: yoan.stamant
#ROBOMERGE-SOURCE: CL 19204358 via CL 19212259 via CL 19212264 via CL 19212779
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19224407 by yoan stamant in ue5-main branch]
2022-03-02 13:25:37 -05:00