Commit Graph

35 Commits

Author SHA1 Message Date
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
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
yoan stamant
7a006b2a96 [SmartObject]
- Maintain SmartObjectAnnotations up-to-date when dirtying collection
- Converted ensure to error log for null definition found while validating Definition from the SmartObjectCollection. Some data manipulations might create this scenario so warning the user with a proposed solution is more appropriate.
#rnx
#rb stephen.holmes
#preflight 621785d71a114ad50437ac82

#ROBOMERGE-AUTHOR: yoan.stamant
#ROBOMERGE-SOURCE: CL 19113063 via CL 19113085 via CL 19113092 via CL 19113474
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19152856 by yoan stamant in ue5-main branch]
2022-02-25 14:18:42 -05:00
yoan stamant
722ecdcae0 [Smart object] Space partition structure is now configurable
* Created Default SmartObjectOctree
* Created Default SmartObjectHashGrid
* Type of space partition to use can be set in the smartobject config file: [/Script/SmartObjectsModule.SmartObjectSubsystem] SpacePartitionClassName=<ClassPath>
* Created DebugSceneProxy and RenderingComponent to share functionalities between susbystem and testing actor rendering components
#rnx
#rb mieszko.zielinski
#preflight 620fb51dec6f84cdfa3b2772

#ROBOMERGE-OWNER: yoan.stamant
#ROBOMERGE-AUTHOR: yoan.stamant
#ROBOMERGE-SOURCE: CL 19050433 via CL 19050556 via CL 19050564 via CL 19057424
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v918-19018356)

[CL 19066037 by yoan stamant in ue5-main branch]
2022-02-21 01:10:34 -05:00
marc audy
6e38e5bb8b [SmartObject] added SmartObjectTestingActor
* added simple test to run a query and visualize the results
* added debug methods to force initialize/cleanup the simulation from the Editor world
* definition class is no longer mandatory (like other filtering options)
* parent object definition now accessible from SlotView
#rnx
#preflight 620c077d483ff0ae5ec4c544
#rb mieszko.zielinski, mikko.mononen

#ROBOMERGE-OWNER: marc.audy
#ROBOMERGE-AUTHOR: yoan.stamant
#ROBOMERGE-SOURCE: CL 19014188 via CL 19014236 via CL 19014251 via CL 19031906
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v917-18934589)

[CL 19032135 by marc audy in ue5-main branch]
2022-02-17 03:40:43 -05:00
josselin francois
8361eeb8b3 SmartObject : improvements
- Change the way to communicate between SO Evaluator, Service and BTTask,
- Manage Activities Cooldowns,
- Manage SmartObject Slot cooldown by user,
- Add GetActivityTags in SmartObjectSubsystem.
[REVIEW] [at]loic.devaux, [at]raphael.lapierre, [at]yoan.stamant
[FYI] philippe.painchaud, patrick.carroll, guillaume.morreel, loic.devaux, felix.laplante, youssef.trad
#tests PIE
#rnx

#ROBOMERGE-AUTHOR: josselin.francois
#ROBOMERGE-SOURCE: CL 18979507 via CL 18979533 via CL 18979562 via CL 18979623 via CL 18992705 via CL 18993044
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v917-18934589)

[CL 18997335 by josselin francois in ue5-main branch]
2022-02-15 11:34:26 -05:00
yoan stamant
3d91f96ca0 [SmartObject] flush MassEntity commands manually
This is the temporary way to force our commands to be processed until MassEntitySubsystem offers a threadsafe solution to push and flush commands in our own execution context.
#rb maxime.mercier
#rnx
#preflight 61faf0c49a71b11fd38ffe88

#ROBOMERGE-AUTHOR: yoan.stamant
#ROBOMERGE-SOURCE: CL 18843246 via CL 18843254 via CL 18843257 via CL 18846202 via CL 18846670
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)

[CL 18846698 by yoan stamant in ue5-main branch]
2022-02-03 14:03:16 -05:00