Commit Graph

41 Commits

Author SHA1 Message Date
mikko mononen
924b989973 SmartObject: World conditions for SmartObject slot precondition
#rb Mieszko.Zielinski Luciano.Ferraro
#preflight 6375ef0b1c114bec053ccbe7
#preflight 6375fe028f4cb2e4dc8c4e4c

[CL 23174492 by mikko mononen in ue5-main branch]
2022-11-17 07:44:24 -05:00
mieszko zielinski
528c391411 SmartObject unit testing fix.
The fix involved an extensive rework of how the testing environment is being set up, to limit loaded UWorld's influence on the results, and in turn limit how tests affect SmartObjectSubsystem instantiated for the current world.

#preflight 6368c59e63037c1026540f38

[CL 23010255 by mieszko zielinski in ue5-main branch]
2022-11-07 09:57:31 -05:00
mikko mononen
1bc7452c79 Gameplay Interaction: Set Slot Enabled task
- added task to enable and disabled slots
- visualize disabled slots in Smart Object editor

#rb Luciano.Ferraro
#preflight 6364e3364b0e01486a464fa5

[CL 22985540 by mikko mononen in ue5-main branch]
2022-11-04 09:18:52 -04:00
mikko mononen
c06beb8571 SmartObject improvements
- Fixed hashing when adding shared fragment for smart object slot definition
- Added per slot Runtime Tags
- Added common event handling for Smart Object and Slot changes and events
- Added annotations, which are slot definition data that has visualization
- Added linked slot annotation which allows behavior reuse on slots
- Added editor only ID for each slot so that they can be identified during edits
- Added SmartObject slot reference type that can be used to reference other slots in the Smart Object
- Changed Smart Object bDisable to bEnabled
- Added separate enabled state for slots
- Changed Smart Object disable to send an event, not forcefully unclaim
- Added more visualization support for Smart Object editor (canvas, visualize annotations)
- Changed Smart Object editor to use the commonly transform for slots
- Remove Smart Object Component instance from the asset editor as it was not needed

#rb Stephen.Holmes
#preflight 6360f0cf63608aee36e01ba5

[CL 22888712 by mikko mononen in ue5-main branch]
2022-11-01 15:11:25 -04:00
mieszko zielinski
9c7b392aa9 Fine-tuned smart object removal code to catch a no-repro USmartObjectSubsystem::CleanupRuntime issue
#preflight 6358ccb1767e539ccaa2563b

[CL 22799298 by mieszko zielinski in ue5-main branch]
2022-10-26 19:34:40 -04:00
mieszko zielinski
cad6e9df0c Made a change to how we treat persistent-level placed SmartObjects that are not contained by the level's SmartObjectCollection
Also changed collection building to only include SOComponents in the persistent or the "always loaded" levels

#preflight 6343da651d5e6dbf75839ead

[CL 22431195 by mieszko zielinski in ue5-main branch]
2022-10-10 12:00:30 -04:00
josselin francois
f3841fc414 Build Fix - SmartObject : Fix on GetBehaviorDefinition
[FYI] philippe.painchaud, loic.devaux, luciano.ferraro, Mikko.Mononen
 #tests PIE
#rnx

[CL 22091355 by josselin francois in ue5-main branch]
2022-09-20 09:09:25 -04:00
mikko mononen
a0b73327bd SmartObjects: Added method to retrieve behavior definition from request result
#rb Mieszko.Zielinski
#preflight 63245ca7ea1c94f4c5b32b13

[CL 22052312 by mikko mononen in ue5-main branch]
2022-09-16 12:46:45 -04:00
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
Zousar Shaker
3f4252aa56 ObjectPtr upgrade for engine plugins used from UnrealEditor -allmodules. Automated upgrade process.
#rb none
#preflight 62fe7f270601ad0504910c30

[CL 21447894 by Zousar Shaker in ue5-main branch]
2022-08-18 15:08:49 -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
Yoan StAmant
142571a573 SmartObjectSubsystem: Removed comment that was not supposed to be submitted
#rnx
#rb trivial
#preflight skip

[CL 20598379 by Yoan StAmant in ue5-main branch]
2022-06-10 12:51:37 -04:00
robert manuszewski
f8a812a32f Converting hardcoded short class/enum names to pathnames ahead of ANY_PACKAGE removal
#rb trivial
#jira UE-99463
#preflight 6288fd998828ea88c8aef3d0

#ROBOMERGE-OWNER: robert.manuszewski
#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 20314896 via CL 20314897 via CL 20314903 via CL 20314904
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v948-20297126)

[CL 20315214 by robert manuszewski in ue5-main branch]
2022-05-22 10:30:02 -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
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