Commit Graph

37 Commits

Author SHA1 Message Date
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
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
yoan stamant
aac2926da9 CIS issue #144192: [SmartObject] replaced call to ReplayBufferAgainstSystem by FlushCommands
#rnx

#ROBOMERGE-AUTHOR: yoan.stamant
#ROBOMERGE-SOURCE: CL 19014621 via CL 19031914
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v917-18934589)

[CL 19032141 by yoan stamant in ue5-main branch]
2022-02-17 03:40:54 -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
mieszko zielinski
47a27eada7 Added support for pushing commands while a command buffer is already being flushed.
Put the new logic in MassEntitySubsystem and refactored FMassCommandBuffer::ReplayBufferAgainstSystem's use and name.
This change resulted in `CheckIfEntityActive` failing on a regular basis so modified how it's being used. The function itself will undergo further changes soon.

#jira UE-141787
#preflight 6206226ab84973a2bb823161
#rb Yoan.StAmant
#lockdown Julien.Marchand

#ROBOMERGE-AUTHOR: mieszko.zielinski
#ROBOMERGE-SOURCE: CL 18951228 in //UE5/Release-5.0/... via CL 18951271 via CL 18951346
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v917-18934589)

[CL 18951348 by mieszko zielinski in ue5-main branch]
2022-02-11 08:53:05 -05:00
yoan stamant
db29723293 [SmartObject] refresh gizmos when slot offset or rotation is modified from the Details panel
#rnx
#rb maxime.mercier
#preflight 6202a023e85c7a08bbed6efa

#ROBOMERGE-AUTHOR: yoan.stamant
#ROBOMERGE-SOURCE: CL 18906839 via CL 18907043 via CL 18907093 via CL 18918945 via CL 18919861
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v916-18915374)

[CL 18919910 by yoan stamant in ue5-main branch]
2022-02-09 12:15:14 -05:00