Commit Graph

57 Commits

Author SHA1 Message Date
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
luciano ferraro
14d7728762 Filter out disabled slots in the USmartObjectSubsystem::FindSlots
[REVIEW] [at]Mikko.Mononen
[FYI] Loic.Devaux, Josselin.Francois, Phil.Cole, wojciech.madry, Parker.Linn
#preflight 6364fc4af233f06a12c69cb2

[CL 22987809 by luciano ferraro in ue5-main branch]
2022-11-04 11:28:57 -04: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
mieszko zielinski
c00e84ad1b Made SmartObjectDefinition verification a bit more automatic so that we can reliably check that.
#preflight 6364cc11de2c4dbb5d87c777

[CL 22983630 by mieszko zielinski in ue5-main branch]
2022-11-04 06:56:50 -04:00
mieszko zielinski
83d06d726d Added an early out in registering misconfigured SmartObjects.
There was a loophole that would partly register smart objects that did have a SmartObjectDefinition asset set, but the asset was not valid itself, and it resulted in failing an ensure while cleaning up the whole system on world end.

#preflight 63640e3fdc30a4ce961be2d1

[CL 22982893 by mieszko zielinski in ue5-main branch]
2022-11-04 03:35:03 -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
luciano ferraro
18797d83c8 Fixed issue with slot data being shared between all slots instead of being unique per slot
#jira
[REVIEW] [at]Mikko.Mononen
[FYI] Loic.Devaux, Josselin.Francois, Phil.Cole, wojciech.madry, Parker.Linn
#preflight 635fd220ae6840072df52074

[CL 22875405 by luciano ferraro in ue5-main branch]
2022-10-31 20:00:30 -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
142e0f52d3 Fixed SmartObjectSystem crashing when trying to register a SmartObjectComponent without a SmartObjectDefinition set
#preflight 6345a3c3cc615cdcf70b0b1b
#preflight 63466ab5fa31324bb124ec12

[CL 22497634 by mieszko zielinski in ue5-main branch]
2022-10-13 02:49:16 -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
mieszko zielinski
5794e912bd A kind of a guess-fix to SmartObjectSubsystem::RemoveRuntimeInstanceFromSimulation failing an ensure while called as part of USmartObjectSubsystem::CleanupRuntime.
#preflight 6336e42ab34118b9b4a0261c

[CL 22276176 by mieszko zielinski in ue5-main branch]
2022-09-30 14:29:22 -04:00
bryan sefcik
50d4fac9e0 Updated ../Engine/Plugins/... to inline gen.cpp files
Before:
3548 unity files
Total CPU Time: 47343.578125 s
Total time in Parallel executor: 494.60 seconds

After:
3445 unity files
Total CPU Time: 46044.671875 s
Total time in Parallel executor: 468.51 seconds

#jira
#preflight 63336159b20e73a098b7f24f

[CL 22218213 by bryan sefcik in ue5-main branch]
2022-09-28 01:06:15 -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
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