Navigation
API > API/Plugins > API/Plugins/ConcertSyncCore
The graph models activities as nodes and dependencies to activities as edges. Activities can only affect each other from left-to-right: an earlier activity affects a later activity.
We say an activity A has a hard dependency to activity B when A cannot exist in an activity history without B. We say an activity A has a possible dependency to activity B when A may exist with B but we cannot rule out that B does not affect A. Example: You modify an actor twice each time triggering the construction script. See EDependencyType.
A node corresponds to an activity. A root node has depends on no other activity. An edge from a A to B means that B depends on A.
Dependencies do not necessarily need to be transitive: 1. Remove package Foo 2. Create package Foo 3. Edit Foo The existence of 3 can requires that either
- 1 and 2 both exist
- 1 and 2 are deleted (among other details, e.g. that the underlying assets must have equal classes)
Example: 1: Create level named Foo 2: Create level named Bar 3: Add actor named 'Cube' to level Foo
Add actor named 'Sphere" to level Foo 6: Edit 'Cube'. Resulting graph: 1 2 / \ 3 4 / 5
Example:
Create data asset A
Edit and save A (remember: transactions do not happen for all .uasset only for .umaps)
Create actor in level
Edit actor to reference data assets A
Edit actor whose construction script reads data from A Resulting Graph: 1 I 2 3 \ / 4 I 5
| Name | FActivityDependencyGraph |
| Type | class |
| Header File | /Engine/Plugins/Developer/Concert/ConcertSync/ConcertSyncCore/Source/ConcertSyncCore/Public/HistoryEdition/ActivityDependencyGraph.h |
| Include Path | #include "HistoryEdition/ActivityDependencyGraph.h" |
Syntax
class FActivityDependencyGraph
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| Nodes | TArray< FActivityNode > | HistoryEdition/ActivityDependencyGraph.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FActivityNodeID AddActivity
(
int64 ActivityIndex, |
Adds a node. Invalidates the results of GetNodeById. | HistoryEdition/ActivityDependencyGraph.h | |
bool AddDependency
(
FActivityNodeID From, |
Adds a dependency from an existing node to another existing node | HistoryEdition/ActivityDependencyGraph.h | |
TOptional< FActivityNodeID > FindNodeByActivity
(
int64 ActivityID |
Tries to find a corresponding node for an activity ID. | HistoryEdition/ActivityDependencyGraph.h | |
void ForEachNode
(
TFunctionRef< void(const FActivityNode&)> ConsumerFunc |
HistoryEdition/ActivityDependencyGraph.h | ||
const FActivityNode & GetNodeById
(
FActivityNodeID ID |
Gets the node identified by the given ID, if it is valid. | HistoryEdition/ActivityDependencyGraph.h |