Commit Graph

39 Commits

Author SHA1 Message Date
Patrick Enfedaque
29b0d13b58 SmartObject: Collection + SubsystemRendering can't be Copy/Pasted or Deleted
- Fixes failed check when copy pasting selection of actors that contain SmartObject actors

#jira none
#rb yohan.stamant
#preflight 62aa32de4a335ad67cbe6be6
#robomerge EngineMerge

[CL 20685632 by Patrick Enfedaque in ue5-main branch]
2022-06-16 08:26:40 -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
luciano ferraro
b6998b8dbf Changed the default value of bBuildOnDemand to true:
- avoids references being created in setups with multiple plugins and level overlays

[REVIEW] [at]Yoan.Stamant
[FYI] Bill.Colby, Scott.Maclean, Phil.Cole, Josselin.Francois, Loic.Devaux, Karl.Dubois, Gael.Leger

#ROBOMERGE-AUTHOR: luciano.ferraro
#ROBOMERGE-SOURCE: CL 20578553 via CL 20578795 via CL 20579295
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v955-20579017)

[CL 20582631 by luciano ferraro in ue5-main branch]
2022-06-09 15:07:59 -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
9363b181ee GameplayBehaviorSmartObjects plugin to create and use SmartObjects using GameplayBehaviors as their default runtime instances.
#rnx
#preflight 626feb8f264f78f46f775c92

[CL 20008771 by Yoan StAmant in ue5-main branch]
2022-05-02 10:59:07 -04:00
yoan stamant
2ad9eead0e [SmartObject] added EditorStyle to be able to set icon for Blackboard key type SmartObjectClaimHandle
#rnx
#rb maxime.mercier
#preflight 624707e3c61d8a458f5f01f5

#ROBOMERGE-AUTHOR: yoan.stamant
#ROBOMERGE-SOURCE: CL 19589605 via CL 19589612 via CL 19589626
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v938-19570697)

[CL 19590977 by yoan stamant in ue5-main branch]
2022-04-01 13:05:21 -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
81e98c44c3 [SmartObject] added clarifications to some comments
#rb aris.theophanidis
#rnx

#ROBOMERGE-AUTHOR: yoan.stamant
#ROBOMERGE-SOURCE: CL 19406170 via CL 19409821 via CL 19420133 via CL 19420229
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v930-19419903)

[CL 19421102 by yoan stamant in ue5-main branch]
2022-03-17 11:17:04 -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
yoan stamant
dca951147a [SmartObject] added component instance data for SmartObjectComponent so component can properly register itself while re-running the construction scripts.
This is required since the newly created components in the process will try to register before the Definition asset gets set.
#rb maxime.mercier
#rnx
#preflight 61faf0935e35b9215bfedaab

#ROBOMERGE-AUTHOR: yoan.stamant
#ROBOMERGE-SOURCE: CL 18841643 via CL 18842123 via CL 18842168 via CL 18845170 via CL 18845776
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)

[CL 18845836 by yoan stamant in ue5-main branch]
2022-02-03 13:28:03 -05:00
yoan stamant
703cbb4169 [SmartObject] return all possible slots for matching object instead of only the first one
#rb aris.theophanidis

#ROBOMERGE-AUTHOR: yoan.stamant
#ROBOMERGE-SOURCE: CL 18794203 via CL 18794609 via CL 18795800 via CL 18801442 via CL 18801643
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v908-18788545)

[CL 18801658 by yoan stamant in ue5-main branch]
2022-01-31 18:52:49 -05:00
yoan stamant
2bc6238d48 [SmartObject] allow component instances to set the Definition to use
#ROBOMERGE-AUTHOR: yoan.stamant
#ROBOMERGE-SOURCE: CL 18793780 via CL 18794498 via CL 18795751 via CL 18800967 via CL 18801136
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v908-18788545)

[CL 18801271 by yoan stamant in ue5-main branch]
2022-01-31 18:38:28 -05:00
yoan stamant
99489ef091 [SmartObject]
+ added GetBehaviorDefinition to SmartObjectSubsystem to fetch behavior definition associated to a valid claim handle
+ fixed case where runtime data was removed before aborting active interaction
#rb maxime.mercier
#preflight 61f1c21e73238441cb6c92b0

#ROBOMERGE-AUTHOR: yoan.stamant
#ROBOMERGE-SOURCE: CL 18745810 in //UE5/Release-5.0/... via CL 18745988 via CL 18746316
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18746543 by yoan stamant in ue5-main branch]
2022-01-26 17:33:02 -05:00
yoan stamant
fc3cf27145 [SmartObject] Keep track of the last preview actor class / mesh used as preview for the asset editor
#rb mikko.mononen
#preflight 61f13ea27266f4e79bcec4dd

#ROBOMERGE-AUTHOR: yoan.stamant
#ROBOMERGE-SOURCE: CL 18734265 in //UE5/Release-5.0/... via CL 18734271 via CL 18734303
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18734306 by yoan stamant in ue5-main branch]
2022-01-26 07:44:21 -05:00