Преглед изворни кода

Demo update

Signed-off-by: Antoni Puch <[email protected]>
Antoni Puch пре 1 година
родитељ
комит
d46a526b50

Разлика између датотеке није приказан због своје велике величине
+ 73 - 84
Project/Assets/Kraken/apple_kraken_v1/apple_kraken_v1.prefab


Разлика између датотеке није приказан због своје велике величине
+ 73 - 58
Project/Assets/Kraken/apple_kraken_v2/apple_kraken_v2.prefab


+ 3522 - 0
Project/Assets/Kraken/nose_middle_script.scriptcanvas

@@ -0,0 +1,3522 @@
+{
+    "Type": "JsonSerialization",
+    "Version": 1,
+    "ClassName": "ScriptCanvasData",
+    "ClassData": {
+        "m_scriptCanvas": {
+            "Id": {
+                "id": 11218911564323
+            },
+            "Name": "Script Canvas Graph",
+            "Components": {
+                "Component_[5088701856173636205]": {
+                    "$type": "EditorGraphVariableManagerComponent",
+                    "Id": 5088701856173636205,
+                    "m_variableData": {
+                        "m_nameVariableMap": [
+                            {
+                                "Key": {
+                                    "m_id": "{04507A1B-EB87-4A66-97D5-FBED973CDD5F}"
+                                },
+                                "Value": {
+                                    "Datum": {
+                                        "isOverloadedStorage": false,
+                                        "scriptCanvasType": {
+                                            "m_type": 1
+                                        },
+                                        "isNullPointer": false,
+                                        "$type": "EntityId",
+                                        "value": {
+                                            "id": 2901262558
+                                        }
+                                    },
+                                    "VariableId": {
+                                        "m_id": "{04507A1B-EB87-4A66-97D5-FBED973CDD5F}"
+                                    },
+                                    "VariableName": "nose_tip",
+                                    "InitialValueSource": 1
+                                }
+                            },
+                            {
+                                "Key": {
+                                    "m_id": "{30C8ACC4-63F6-420F-B662-38A9BB7A5BEB}"
+                                },
+                                "Value": {
+                                    "Datum": {
+                                        "isOverloadedStorage": false,
+                                        "scriptCanvasType": {
+                                            "m_type": 3
+                                        },
+                                        "isNullPointer": false,
+                                        "$type": "double",
+                                        "value": 0.0
+                                    },
+                                    "VariableId": {
+                                        "m_id": "{30C8ACC4-63F6-420F-B662-38A9BB7A5BEB}"
+                                    },
+                                    "VariableName": "initial_tip_y"
+                                }
+                            },
+                            {
+                                "Key": {
+                                    "m_id": "{A8E84DC5-8189-48FA-9BB6-90109E8CA129}"
+                                },
+                                "Value": {
+                                    "Datum": {
+                                        "isOverloadedStorage": false,
+                                        "scriptCanvasType": {
+                                            "m_type": 3
+                                        },
+                                        "isNullPointer": false,
+                                        "$type": "double",
+                                        "value": 0.0
+                                    },
+                                    "VariableId": {
+                                        "m_id": "{A8E84DC5-8189-48FA-9BB6-90109E8CA129}"
+                                    },
+                                    "VariableName": "initial_middle_y"
+                                }
+                            }
+                        ]
+                    }
+                },
+                "Component_[5568307693467492009]": {
+                    "$type": "EditorGraph",
+                    "Id": 5568307693467492009,
+                    "m_graphData": {
+                        "m_nodes": [
+                            {
+                                "Id": {
+                                    "id": 11279041106467
+                                },
+                                "Name": "SC Node(GetVariable)",
+                                "Components": {
+                                    "Component_[11243374519757531668]": {
+                                        "$type": "GetVariableNode",
+                                        "Id": 11243374519757531668,
+                                        "Slots": [
+                                            {
+                                                "id": {
+                                                    "m_id": "{3FC9B208-A798-442A-B498-16E809538AD5}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "In",
+                                                "toolTip": "When signaled sends the property referenced by this node to a Data Output slot",
+                                                "Descriptor": {
+                                                    "ConnectionType": 1,
+                                                    "SlotType": 1
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{EE9C1663-9DD2-463F-A7DE-451C3FB642AD}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "Out",
+                                                "toolTip": "Signaled after the referenced property has been pushed to the Data Output slot",
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 1
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{BCF661B0-844C-4D84-BD7B-CA21C9369977}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "Number",
+                                                "DisplayDataType": {
+                                                    "m_type": 3
+                                                },
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 2
+                                                },
+                                                "DataType": 1
+                                            }
+                                        ],
+                                        "m_variableId": {
+                                            "m_id": "{A8E84DC5-8189-48FA-9BB6-90109E8CA129}"
+                                        },
+                                        "m_variableDataOutSlotId": {
+                                            "m_id": "{BCF661B0-844C-4D84-BD7B-CA21C9369977}"
+                                        }
+                                    }
+                                }
+                            },
+                            {
+                                "Id": {
+                                    "id": 11266156204579
+                                },
+                                "Name": "SC Node(SetVariable)",
+                                "Components": {
+                                    "Component_[11323411598930590194]": {
+                                        "$type": "SetVariableNode",
+                                        "Id": 11323411598930590194,
+                                        "Slots": [
+                                            {
+                                                "id": {
+                                                    "m_id": "{2F10F342-BEC0-4E46-BF6E-E125C52CC8F2}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "In",
+                                                "toolTip": "When signaled sends the variable referenced by this node to a Data Output slot",
+                                                "Descriptor": {
+                                                    "ConnectionType": 1,
+                                                    "SlotType": 1
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{0DA71907-FAC7-4230-B446-3A1474D66D8C}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "Out",
+                                                "toolTip": "Signaled after the referenced variable has been pushed to the Data Output slot",
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 1
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{A18BD500-A51A-49AA-844B-961AB0D125A5}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "Number",
+                                                "Descriptor": {
+                                                    "ConnectionType": 1,
+                                                    "SlotType": 2
+                                                },
+                                                "DataType": 1
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{BC2EB9B7-4D9B-4089-928B-1EC4C050F243}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "Number",
+                                                "DisplayDataType": {
+                                                    "m_type": 3
+                                                },
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 2
+                                                },
+                                                "DataType": 1
+                                            }
+                                        ],
+                                        "Datums": [
+                                            {
+                                                "isOverloadedStorage": false,
+                                                "scriptCanvasType": {
+                                                    "m_type": 3
+                                                },
+                                                "isNullPointer": false,
+                                                "$type": "double",
+                                                "value": 0.0,
+                                                "label": "Number"
+                                            }
+                                        ],
+                                        "m_variableId": {
+                                            "m_id": "{A8E84DC5-8189-48FA-9BB6-90109E8CA129}"
+                                        },
+                                        "m_variableDataInSlotId": {
+                                            "m_id": "{A18BD500-A51A-49AA-844B-961AB0D125A5}"
+                                        },
+                                        "m_variableDataOutSlotId": {
+                                            "m_id": "{BC2EB9B7-4D9B-4089-928B-1EC4C050F243}"
+                                        }
+                                    }
+                                }
+                            },
+                            {
+                                "Id": {
+                                    "id": 11257566269987
+                                },
+                                "Name": "SC-Node(OperatorDiv)",
+                                "Components": {
+                                    "Component_[12937033849663956423]": {
+                                        "$type": "OperatorDiv",
+                                        "Id": 12937033849663956423,
+                                        "Slots": [
+                                            {
+                                                "id": {
+                                                    "m_id": "{5D96EEA1-B0D6-40B5-86FD-09DC6570D111}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "In",
+                                                "Descriptor": {
+                                                    "ConnectionType": 1,
+                                                    "SlotType": 1
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{A857B355-A3A4-419E-B939-F4141E9AD9E1}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "Out",
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 1
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{20FF274C-83A6-4003-B4F8-0FC3D4501ECC}"
+                                                },
+                                                "DynamicTypeOverride": 3,
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    },
+                                                    {
+                                                        "$type": "MathOperatorContract",
+                                                        "OperatorType": "Divide",
+                                                        "NativeTypes": [
+                                                            {
+                                                                "m_type": 3
+                                                            },
+                                                            {
+                                                                "m_type": 8
+                                                            },
+                                                            {
+                                                                "m_type": 9
+                                                            },
+                                                            {
+                                                                "m_type": 10
+                                                            },
+                                                            {
+                                                                "m_type": 20
+                                                            }
+                                                        ]
+                                                    }
+                                                ],
+                                                "slotName": "Number 0",
+                                                "toolTip": "An operand to use in performing the specified Operation",
+                                                "DisplayDataType": {
+                                                    "m_type": 3
+                                                },
+                                                "DisplayGroup": {
+                                                    "Value": 1114760223
+                                                },
+                                                "Descriptor": {
+                                                    "ConnectionType": 1,
+                                                    "SlotType": 2
+                                                },
+                                                "DynamicGroup": {
+                                                    "Value": 1114760223
+                                                },
+                                                "DataType": 1
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{76852237-81EA-4925-BC48-6B2EA8024FA6}"
+                                                },
+                                                "DynamicTypeOverride": 3,
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    },
+                                                    {
+                                                        "$type": "MathOperatorContract",
+                                                        "OperatorType": "Divide",
+                                                        "NativeTypes": [
+                                                            {
+                                                                "m_type": 3
+                                                            },
+                                                            {
+                                                                "m_type": 8
+                                                            },
+                                                            {
+                                                                "m_type": 9
+                                                            },
+                                                            {
+                                                                "m_type": 10
+                                                            },
+                                                            {
+                                                                "m_type": 20
+                                                            }
+                                                        ]
+                                                    }
+                                                ],
+                                                "slotName": "Number 1",
+                                                "toolTip": "An operand to use in performing the specified Operation",
+                                                "DisplayDataType": {
+                                                    "m_type": 3
+                                                },
+                                                "DisplayGroup": {
+                                                    "Value": 1114760223
+                                                },
+                                                "Descriptor": {
+                                                    "ConnectionType": 1,
+                                                    "SlotType": 2
+                                                },
+                                                "DynamicGroup": {
+                                                    "Value": 1114760223
+                                                },
+                                                "DataType": 1
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{6BE5D56F-634E-41DA-88FB-53ED0422ACC6}"
+                                                },
+                                                "DynamicTypeOverride": 3,
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    },
+                                                    {
+                                                        "$type": "MathOperatorContract",
+                                                        "OperatorType": "Divide",
+                                                        "NativeTypes": [
+                                                            {
+                                                                "m_type": 3
+                                                            },
+                                                            {
+                                                                "m_type": 8
+                                                            },
+                                                            {
+                                                                "m_type": 9
+                                                            },
+                                                            {
+                                                                "m_type": 10
+                                                            },
+                                                            {
+                                                                "m_type": 20
+                                                            }
+                                                        ]
+                                                    }
+                                                ],
+                                                "slotName": "Result",
+                                                "toolTip": "The result of the specified operation",
+                                                "DisplayDataType": {
+                                                    "m_type": 3
+                                                },
+                                                "DisplayGroup": {
+                                                    "Value": 1114760223
+                                                },
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 2
+                                                },
+                                                "DynamicGroup": {
+                                                    "Value": 1114760223
+                                                },
+                                                "DataType": 1
+                                            }
+                                        ],
+                                        "Datums": [
+                                            {
+                                                "isOverloadedStorage": false,
+                                                "scriptCanvasType": {
+                                                    "m_type": 3
+                                                },
+                                                "isNullPointer": false,
+                                                "$type": "double",
+                                                "value": 0.0,
+                                                "label": "Number 0"
+                                            },
+                                            {
+                                                "isOverloadedStorage": false,
+                                                "scriptCanvasType": {
+                                                    "m_type": 3
+                                                },
+                                                "isNullPointer": false,
+                                                "$type": "double",
+                                                "value": 2.0,
+                                                "label": "Number 1"
+                                            }
+                                        ]
+                                    }
+                                }
+                            },
+                            {
+                                "Id": {
+                                    "id": 11248976335395
+                                },
+                                "Name": "EBusEventHandler",
+                                "Components": {
+                                    "Component_[1414559495525556582]": {
+                                        "$type": "EBusEventHandler",
+                                        "Id": 1414559495525556582,
+                                        "Slots": [
+                                            {
+                                                "id": {
+                                                    "m_id": "{92C477D7-2C55-481B-B6EB-A42788E113B0}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "Connect",
+                                                "toolTip": "Connect this event handler to the specified entity.",
+                                                "Descriptor": {
+                                                    "ConnectionType": 1,
+                                                    "SlotType": 1
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{6788C805-77BE-4F10-BA6D-7D96BC588747}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "Disconnect",
+                                                "toolTip": "Disconnect this event handler.",
+                                                "Descriptor": {
+                                                    "ConnectionType": 1,
+                                                    "SlotType": 1
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{23837C36-AC1F-410B-9653-34F658D48BBA}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "OnConnected",
+                                                "toolTip": "Signaled when a connection has taken place.",
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 1
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{192F7BB7-6BF3-473F-8151-1B0219FA3054}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "OnDisconnected",
+                                                "toolTip": "Signaled when this event handler is disconnected.",
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 1
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{EC75F791-F840-4B68-8580-AAAA70D0153B}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "OnFailure",
+                                                "toolTip": "Signaled when it is not possible to connect this handler.",
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 1
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{D0F34AC4-D4C8-433C-92B9-1F621AB7F3BC}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "Source",
+                                                "toolTip": "ID used to connect on a specific Event address (Type: EntityId)",
+                                                "Descriptor": {
+                                                    "ConnectionType": 1,
+                                                    "SlotType": 2
+                                                },
+                                                "DataType": 1,
+                                                "IsReference": true,
+                                                "VariableReference": {
+                                                    "m_id": "{04507A1B-EB87-4A66-97D5-FBED973CDD5F}"
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{43612773-54E1-4427-95B7-65266F675E1D}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "Transform",
+                                                "DisplayDataType": {
+                                                    "m_type": 7
+                                                },
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 2
+                                                },
+                                                "DataType": 1
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{295038C6-3EA9-4233-8503-D35F937B1375}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "Transform",
+                                                "DisplayDataType": {
+                                                    "m_type": 7
+                                                },
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 2
+                                                },
+                                                "DataType": 1
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{D9AE1408-48AF-4C21-AB3E-F75D290ECCB6}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "ExecutionSlot:OnTransformChanged",
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 1
+                                                },
+                                                "IsLatent": true
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{29C84A43-13E2-492A-8ECE-A158F8AD533D}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "EntityId",
+                                                "DisplayDataType": {
+                                                    "m_type": 1
+                                                },
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 2
+                                                },
+                                                "DataType": 1
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{15B0A3F8-0B39-466C-AA8F-66EAB8EB7BD0}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "EntityId",
+                                                "DisplayDataType": {
+                                                    "m_type": 1
+                                                },
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 2
+                                                },
+                                                "DataType": 1
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{75723E52-D792-4491-AD70-09D2B3BE3631}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "ExecutionSlot:OnParentChanged",
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 1
+                                                },
+                                                "IsLatent": true
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{49B3EC13-58C8-4C75-9125-F14A8535C73F}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "EntityId",
+                                                "DisplayDataType": {
+                                                    "m_type": 1
+                                                },
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 2
+                                                },
+                                                "DataType": 1
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{0CF1A729-EC03-40A6-9D7F-FED8A3A0C157}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "ExecutionSlot:OnChildAdded",
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 1
+                                                },
+                                                "IsLatent": true
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{15046FBC-23C5-4ABC-BB4C-4102EEF0D792}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "EntityId",
+                                                "DisplayDataType": {
+                                                    "m_type": 1
+                                                },
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 2
+                                                },
+                                                "DataType": 1
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{7D7A9778-4C53-48C5-9272-357D8AF840B0}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "ExecutionSlot:OnChildRemoved",
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 1
+                                                },
+                                                "IsLatent": true
+                                            }
+                                        ],
+                                        "Datums": [
+                                            {
+                                                "isOverloadedStorage": false,
+                                                "scriptCanvasType": {
+                                                    "m_type": 1
+                                                },
+                                                "isNullPointer": false,
+                                                "$type": "EntityId",
+                                                "value": {
+                                                    "id": 2901262558
+                                                }
+                                            }
+                                        ],
+                                        "m_eventMap": [
+                                            {
+                                                "Key": {
+                                                    "Value": 1683606720
+                                                },
+                                                "Value": {
+                                                    "m_eventName": "OnTransformChanged",
+                                                    "m_eventId": {
+                                                        "Value": 1683606720
+                                                    },
+                                                    "m_eventSlotId": {
+                                                        "m_id": "{D9AE1408-48AF-4C21-AB3E-F75D290ECCB6}"
+                                                    },
+                                                    "m_parameterSlotIds": [
+                                                        {
+                                                            "m_id": "{43612773-54E1-4427-95B7-65266F675E1D}"
+                                                        },
+                                                        {
+                                                            "m_id": "{295038C6-3EA9-4233-8503-D35F937B1375}"
+                                                        }
+                                                    ],
+                                                    "m_numExpectedArguments": 2
+                                                }
+                                            },
+                                            {
+                                                "Key": {
+                                                    "Value": 2625896461
+                                                },
+                                                "Value": {
+                                                    "m_eventName": "OnParentChanged",
+                                                    "m_eventId": {
+                                                        "Value": 2625896461
+                                                    },
+                                                    "m_eventSlotId": {
+                                                        "m_id": "{75723E52-D792-4491-AD70-09D2B3BE3631}"
+                                                    },
+                                                    "m_parameterSlotIds": [
+                                                        {
+                                                            "m_id": "{29C84A43-13E2-492A-8ECE-A158F8AD533D}"
+                                                        },
+                                                        {
+                                                            "m_id": "{15B0A3F8-0B39-466C-AA8F-66EAB8EB7BD0}"
+                                                        }
+                                                    ],
+                                                    "m_numExpectedArguments": 2
+                                                }
+                                            },
+                                            {
+                                                "Key": {
+                                                    "Value": 2855832379
+                                                },
+                                                "Value": {
+                                                    "m_eventName": "OnChildRemoved",
+                                                    "m_eventId": {
+                                                        "Value": 2855832379
+                                                    },
+                                                    "m_eventSlotId": {
+                                                        "m_id": "{7D7A9778-4C53-48C5-9272-357D8AF840B0}"
+                                                    },
+                                                    "m_parameterSlotIds": [
+                                                        {
+                                                            "m_id": "{15046FBC-23C5-4ABC-BB4C-4102EEF0D792}"
+                                                        }
+                                                    ],
+                                                    "m_numExpectedArguments": 1
+                                                }
+                                            },
+                                            {
+                                                "Key": {
+                                                    "Value": 3817907036
+                                                },
+                                                "Value": {
+                                                    "m_eventName": "OnChildAdded",
+                                                    "m_eventId": {
+                                                        "Value": 3817907036
+                                                    },
+                                                    "m_eventSlotId": {
+                                                        "m_id": "{0CF1A729-EC03-40A6-9D7F-FED8A3A0C157}"
+                                                    },
+                                                    "m_parameterSlotIds": [
+                                                        {
+                                                            "m_id": "{49B3EC13-58C8-4C75-9125-F14A8535C73F}"
+                                                        }
+                                                    ],
+                                                    "m_numExpectedArguments": 1
+                                                }
+                                            }
+                                        ],
+                                        "m_ebusName": "TransformNotificationBus",
+                                        "m_busId": {
+                                            "Value": 362845288
+                                        }
+                                    }
+                                }
+                            },
+                            {
+                                "Id": {
+                                    "id": 11231796466211
+                                },
+                                "Name": "SC-Node(OperatorAdd)",
+                                "Components": {
+                                    "Component_[17711330644635245405]": {
+                                        "$type": "OperatorAdd",
+                                        "Id": 17711330644635245405,
+                                        "Slots": [
+                                            {
+                                                "id": {
+                                                    "m_id": "{BEA8F21D-CBB1-46C7-928D-B92F164F9364}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "In",
+                                                "Descriptor": {
+                                                    "ConnectionType": 1,
+                                                    "SlotType": 1
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{1BF4ABA6-EC97-4EA7-9572-C925F8B3BB91}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "Out",
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 1
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{09E53250-D25D-4CFB-A3D5-59FD52377312}"
+                                                },
+                                                "DynamicTypeOverride": 3,
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    },
+                                                    {
+                                                        "$type": "MathOperatorContract",
+                                                        "NativeTypes": [
+                                                            {
+                                                                "m_type": 3
+                                                            },
+                                                            {
+                                                                "m_type": 6
+                                                            },
+                                                            {
+                                                                "m_type": 8
+                                                            },
+                                                            {
+                                                                "m_type": 9
+                                                            },
+                                                            {
+                                                                "m_type": 10
+                                                            },
+                                                            {
+                                                                "m_type": 11
+                                                            },
+                                                            {
+                                                                "m_type": 12
+                                                            },
+                                                            {
+                                                                "m_type": 14
+                                                            },
+                                                            {
+                                                                "m_type": 15
+                                                            },
+                                                            {
+                                                                "m_type": 20
+                                                            },
+                                                            {
+                                                                "m_type": 21
+                                                            }
+                                                        ]
+                                                    }
+                                                ],
+                                                "slotName": "Number 0",
+                                                "toolTip": "An operand to use in performing the specified Operation",
+                                                "DisplayDataType": {
+                                                    "m_type": 3
+                                                },
+                                                "DisplayGroup": {
+                                                    "Value": 1114760223
+                                                },
+                                                "Descriptor": {
+                                                    "ConnectionType": 1,
+                                                    "SlotType": 2
+                                                },
+                                                "DynamicGroup": {
+                                                    "Value": 1114760223
+                                                },
+                                                "DataType": 1
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{24C90721-AECA-407A-B267-43C1E55624CD}"
+                                                },
+                                                "DynamicTypeOverride": 3,
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    },
+                                                    {
+                                                        "$type": "MathOperatorContract",
+                                                        "NativeTypes": [
+                                                            {
+                                                                "m_type": 3
+                                                            },
+                                                            {
+                                                                "m_type": 6
+                                                            },
+                                                            {
+                                                                "m_type": 8
+                                                            },
+                                                            {
+                                                                "m_type": 9
+                                                            },
+                                                            {
+                                                                "m_type": 10
+                                                            },
+                                                            {
+                                                                "m_type": 11
+                                                            },
+                                                            {
+                                                                "m_type": 12
+                                                            },
+                                                            {
+                                                                "m_type": 14
+                                                            },
+                                                            {
+                                                                "m_type": 15
+                                                            },
+                                                            {
+                                                                "m_type": 20
+                                                            },
+                                                            {
+                                                                "m_type": 21
+                                                            }
+                                                        ]
+                                                    }
+                                                ],
+                                                "slotName": "Number 1",
+                                                "toolTip": "An operand to use in performing the specified Operation",
+                                                "DisplayDataType": {
+                                                    "m_type": 3
+                                                },
+                                                "DisplayGroup": {
+                                                    "Value": 1114760223
+                                                },
+                                                "Descriptor": {
+                                                    "ConnectionType": 1,
+                                                    "SlotType": 2
+                                                },
+                                                "DynamicGroup": {
+                                                    "Value": 1114760223
+                                                },
+                                                "DataType": 1
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{1E02AB42-E22B-45A6-B3A9-E4AFBD03ECF8}"
+                                                },
+                                                "DynamicTypeOverride": 3,
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    },
+                                                    {
+                                                        "$type": "MathOperatorContract",
+                                                        "NativeTypes": [
+                                                            {
+                                                                "m_type": 3
+                                                            },
+                                                            {
+                                                                "m_type": 6
+                                                            },
+                                                            {
+                                                                "m_type": 8
+                                                            },
+                                                            {
+                                                                "m_type": 9
+                                                            },
+                                                            {
+                                                                "m_type": 10
+                                                            },
+                                                            {
+                                                                "m_type": 11
+                                                            },
+                                                            {
+                                                                "m_type": 12
+                                                            },
+                                                            {
+                                                                "m_type": 14
+                                                            },
+                                                            {
+                                                                "m_type": 15
+                                                            },
+                                                            {
+                                                                "m_type": 20
+                                                            },
+                                                            {
+                                                                "m_type": 21
+                                                            }
+                                                        ]
+                                                    }
+                                                ],
+                                                "slotName": "Result",
+                                                "toolTip": "The result of the specified operation",
+                                                "DisplayDataType": {
+                                                    "m_type": 3
+                                                },
+                                                "DisplayGroup": {
+                                                    "Value": 1114760223
+                                                },
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 2
+                                                },
+                                                "DynamicGroup": {
+                                                    "Value": 1114760223
+                                                },
+                                                "DataType": 1
+                                            }
+                                        ],
+                                        "Datums": [
+                                            {
+                                                "isOverloadedStorage": false,
+                                                "scriptCanvasType": {
+                                                    "m_type": 3
+                                                },
+                                                "isNullPointer": false,
+                                                "$type": "double",
+                                                "value": 0.0,
+                                                "label": "Number 0"
+                                            },
+                                            {
+                                                "isOverloadedStorage": false,
+                                                "scriptCanvasType": {
+                                                    "m_type": 3
+                                                },
+                                                "isNullPointer": false,
+                                                "$type": "double",
+                                                "value": 0.0,
+                                                "label": "Number 1"
+                                            }
+                                        ]
+                                    }
+                                }
+                            },
+                            {
+                                "Id": {
+                                    "id": 11223206531619
+                                },
+                                "Name": "EBusEventHandler",
+                                "Components": {
+                                    "Component_[2316754571302379267]": {
+                                        "$type": "EBusEventHandler",
+                                        "Id": 2316754571302379267,
+                                        "Slots": [
+                                            {
+                                                "id": {
+                                                    "m_id": "{8C6E5C37-DEDE-4C7B-9BC7-0C7B330E7430}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "Connect",
+                                                "toolTip": "Connect this event handler to the specified entity.",
+                                                "Descriptor": {
+                                                    "ConnectionType": 1,
+                                                    "SlotType": 1
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{3A346880-A957-43F1-9A4C-D357AB04B88D}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "Disconnect",
+                                                "toolTip": "Disconnect this event handler.",
+                                                "Descriptor": {
+                                                    "ConnectionType": 1,
+                                                    "SlotType": 1
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{DD6BDBC3-B7EA-4F3E-A123-33BB6DB92533}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "OnConnected",
+                                                "toolTip": "Signaled when a connection has taken place.",
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 1
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{81D9485E-FE32-4B71-AB69-66A34CFCEE77}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "OnDisconnected",
+                                                "toolTip": "Signaled when this event handler is disconnected.",
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 1
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{4A4DF180-E871-4B4C-AA1C-BD5EDDBE54DB}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "OnFailure",
+                                                "toolTip": "Signaled when it is not possible to connect this handler.",
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 1
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{1455CC1A-AEE6-4360-AFAF-191E1F7A4D22}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "Source",
+                                                "toolTip": "ID used to connect on a specific Event address (Type: EntityId)",
+                                                "Descriptor": {
+                                                    "ConnectionType": 1,
+                                                    "SlotType": 2
+                                                },
+                                                "DataType": 1,
+                                                "IsReference": true,
+                                                "VariableReference": {
+                                                    "m_id": "{04507A1B-EB87-4A66-97D5-FBED973CDD5F}"
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{5D7AEC12-0D55-487C-87E7-8897FA1AFC5B}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "EntityId",
+                                                "DisplayDataType": {
+                                                    "m_type": 1
+                                                },
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 2
+                                                },
+                                                "DataType": 1
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{EC961343-397C-4AF7-A295-F5F33A3D3FD2}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "ExecutionSlot:OnEntityActivated",
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 1
+                                                },
+                                                "IsLatent": true
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{3D02FEB8-9EED-4643-AB09-2CAC1899C2EE}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "EntityId",
+                                                "DisplayDataType": {
+                                                    "m_type": 1
+                                                },
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 2
+                                                },
+                                                "DataType": 1
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{D9A9E5D8-A1AE-462F-BAB0-FADD79A10A03}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "ExecutionSlot:OnEntityDeactivated",
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 1
+                                                },
+                                                "IsLatent": true
+                                            }
+                                        ],
+                                        "Datums": [
+                                            {
+                                                "isOverloadedStorage": false,
+                                                "scriptCanvasType": {
+                                                    "m_type": 1
+                                                },
+                                                "isNullPointer": false,
+                                                "$type": "EntityId",
+                                                "value": {
+                                                    "id": 2901262558
+                                                }
+                                            }
+                                        ],
+                                        "m_eventMap": [
+                                            {
+                                                "Key": {
+                                                    "Value": 245425936
+                                                },
+                                                "Value": {
+                                                    "m_eventName": "OnEntityActivated",
+                                                    "m_eventId": {
+                                                        "Value": 245425936
+                                                    },
+                                                    "m_eventSlotId": {
+                                                        "m_id": "{EC961343-397C-4AF7-A295-F5F33A3D3FD2}"
+                                                    },
+                                                    "m_parameterSlotIds": [
+                                                        {
+                                                            "m_id": "{5D7AEC12-0D55-487C-87E7-8897FA1AFC5B}"
+                                                        }
+                                                    ],
+                                                    "m_numExpectedArguments": 1
+                                                }
+                                            },
+                                            {
+                                                "Key": {
+                                                    "Value": 4273369222
+                                                },
+                                                "Value": {
+                                                    "m_eventName": "OnEntityDeactivated",
+                                                    "m_eventId": {
+                                                        "Value": 4273369222
+                                                    },
+                                                    "m_eventSlotId": {
+                                                        "m_id": "{D9A9E5D8-A1AE-462F-BAB0-FADD79A10A03}"
+                                                    },
+                                                    "m_parameterSlotIds": [
+                                                        {
+                                                            "m_id": "{3D02FEB8-9EED-4643-AB09-2CAC1899C2EE}"
+                                                        }
+                                                    ],
+                                                    "m_numExpectedArguments": 1
+                                                }
+                                            }
+                                        ],
+                                        "m_ebusName": "EntityBus",
+                                        "m_busId": {
+                                            "Value": 3358774020
+                                        }
+                                    }
+                                }
+                            },
+                            {
+                                "Id": {
+                                    "id": 11283336073763
+                                },
+                                "Name": "EBusEventHandler",
+                                "Components": {
+                                    "Component_[2316754571302379267]": {
+                                        "$type": "EBusEventHandler",
+                                        "Id": 2316754571302379267,
+                                        "Slots": [
+                                            {
+                                                "id": {
+                                                    "m_id": "{8C6E5C37-DEDE-4C7B-9BC7-0C7B330E7430}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "Connect",
+                                                "toolTip": "Connect this event handler to the specified entity.",
+                                                "Descriptor": {
+                                                    "ConnectionType": 1,
+                                                    "SlotType": 1
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{3A346880-A957-43F1-9A4C-D357AB04B88D}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "Disconnect",
+                                                "toolTip": "Disconnect this event handler.",
+                                                "Descriptor": {
+                                                    "ConnectionType": 1,
+                                                    "SlotType": 1
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{DD6BDBC3-B7EA-4F3E-A123-33BB6DB92533}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "OnConnected",
+                                                "toolTip": "Signaled when a connection has taken place.",
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 1
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{81D9485E-FE32-4B71-AB69-66A34CFCEE77}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "OnDisconnected",
+                                                "toolTip": "Signaled when this event handler is disconnected.",
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 1
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{4A4DF180-E871-4B4C-AA1C-BD5EDDBE54DB}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "OnFailure",
+                                                "toolTip": "Signaled when it is not possible to connect this handler.",
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 1
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{1455CC1A-AEE6-4360-AFAF-191E1F7A4D22}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "Source",
+                                                "toolTip": "ID used to connect on a specific Event address (Type: EntityId)",
+                                                "Descriptor": {
+                                                    "ConnectionType": 1,
+                                                    "SlotType": 2
+                                                },
+                                                "DataType": 1
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{5D7AEC12-0D55-487C-87E7-8897FA1AFC5B}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "EntityId",
+                                                "DisplayDataType": {
+                                                    "m_type": 1
+                                                },
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 2
+                                                },
+                                                "DataType": 1
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{EC961343-397C-4AF7-A295-F5F33A3D3FD2}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "ExecutionSlot:OnEntityActivated",
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 1
+                                                },
+                                                "IsLatent": true
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{3D02FEB8-9EED-4643-AB09-2CAC1899C2EE}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "EntityId",
+                                                "DisplayDataType": {
+                                                    "m_type": 1
+                                                },
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 2
+                                                },
+                                                "DataType": 1
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{D9A9E5D8-A1AE-462F-BAB0-FADD79A10A03}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "ExecutionSlot:OnEntityDeactivated",
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 1
+                                                },
+                                                "IsLatent": true
+                                            }
+                                        ],
+                                        "Datums": [
+                                            {
+                                                "isOverloadedStorage": false,
+                                                "scriptCanvasType": {
+                                                    "m_type": 1
+                                                },
+                                                "isNullPointer": false,
+                                                "$type": "EntityId",
+                                                "value": {
+                                                    "id": 2901262558
+                                                },
+                                                "label": "Source"
+                                            }
+                                        ],
+                                        "m_eventMap": [
+                                            {
+                                                "Key": {
+                                                    "Value": 245425936
+                                                },
+                                                "Value": {
+                                                    "m_eventName": "OnEntityActivated",
+                                                    "m_eventId": {
+                                                        "Value": 245425936
+                                                    },
+                                                    "m_eventSlotId": {
+                                                        "m_id": "{EC961343-397C-4AF7-A295-F5F33A3D3FD2}"
+                                                    },
+                                                    "m_parameterSlotIds": [
+                                                        {
+                                                            "m_id": "{5D7AEC12-0D55-487C-87E7-8897FA1AFC5B}"
+                                                        }
+                                                    ],
+                                                    "m_numExpectedArguments": 1
+                                                }
+                                            },
+                                            {
+                                                "Key": {
+                                                    "Value": 4273369222
+                                                },
+                                                "Value": {
+                                                    "m_eventName": "OnEntityDeactivated",
+                                                    "m_eventId": {
+                                                        "Value": 4273369222
+                                                    },
+                                                    "m_eventSlotId": {
+                                                        "m_id": "{D9A9E5D8-A1AE-462F-BAB0-FADD79A10A03}"
+                                                    },
+                                                    "m_parameterSlotIds": [
+                                                        {
+                                                            "m_id": "{3D02FEB8-9EED-4643-AB09-2CAC1899C2EE}"
+                                                        }
+                                                    ],
+                                                    "m_numExpectedArguments": 1
+                                                }
+                                            }
+                                        ],
+                                        "m_ebusName": "EntityBus",
+                                        "m_busId": {
+                                            "Value": 3358774020
+                                        }
+                                    }
+                                }
+                            },
+                            {
+                                "Id": {
+                                    "id": 11270451171875
+                                },
+                                "Name": "SC-Node(OperatorSub)",
+                                "Components": {
+                                    "Component_[6431321486410147107]": {
+                                        "$type": "OperatorSub",
+                                        "Id": 6431321486410147107,
+                                        "Slots": [
+                                            {
+                                                "id": {
+                                                    "m_id": "{757FD261-5EFF-4C4D-8D93-7303446305CC}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "In",
+                                                "Descriptor": {
+                                                    "ConnectionType": 1,
+                                                    "SlotType": 1
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{1B2A8ED4-346C-4D78-BF27-5E512EE0E15D}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "Out",
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 1
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{EBAE578D-0881-4132-B605-4409D174C010}"
+                                                },
+                                                "DynamicTypeOverride": 3,
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    },
+                                                    {
+                                                        "$type": "MathOperatorContract",
+                                                        "NativeTypes": [
+                                                            {
+                                                                "m_type": 3
+                                                            },
+                                                            {
+                                                                "m_type": 8
+                                                            },
+                                                            {
+                                                                "m_type": 9
+                                                            },
+                                                            {
+                                                                "m_type": 10
+                                                            },
+                                                            {
+                                                                "m_type": 12
+                                                            },
+                                                            {
+                                                                "m_type": 14
+                                                            },
+                                                            {
+                                                                "m_type": 15
+                                                            },
+                                                            {
+                                                                "m_type": 20
+                                                            },
+                                                            {
+                                                                "m_type": 21
+                                                            }
+                                                        ]
+                                                    }
+                                                ],
+                                                "slotName": "Number 0",
+                                                "toolTip": "An operand to use in performing the specified Operation",
+                                                "DisplayDataType": {
+                                                    "m_type": 3
+                                                },
+                                                "DisplayGroup": {
+                                                    "Value": 1114760223
+                                                },
+                                                "Descriptor": {
+                                                    "ConnectionType": 1,
+                                                    "SlotType": 2
+                                                },
+                                                "DynamicGroup": {
+                                                    "Value": 1114760223
+                                                },
+                                                "DataType": 1
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{5EC46562-25F0-47EA-914F-07C978BA825C}"
+                                                },
+                                                "DynamicTypeOverride": 3,
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    },
+                                                    {
+                                                        "$type": "MathOperatorContract",
+                                                        "NativeTypes": [
+                                                            {
+                                                                "m_type": 3
+                                                            },
+                                                            {
+                                                                "m_type": 8
+                                                            },
+                                                            {
+                                                                "m_type": 9
+                                                            },
+                                                            {
+                                                                "m_type": 10
+                                                            },
+                                                            {
+                                                                "m_type": 12
+                                                            },
+                                                            {
+                                                                "m_type": 14
+                                                            },
+                                                            {
+                                                                "m_type": 15
+                                                            },
+                                                            {
+                                                                "m_type": 20
+                                                            },
+                                                            {
+                                                                "m_type": 21
+                                                            }
+                                                        ]
+                                                    }
+                                                ],
+                                                "slotName": "Number 1",
+                                                "toolTip": "An operand to use in performing the specified Operation",
+                                                "DisplayDataType": {
+                                                    "m_type": 3
+                                                },
+                                                "DisplayGroup": {
+                                                    "Value": 1114760223
+                                                },
+                                                "Descriptor": {
+                                                    "ConnectionType": 1,
+                                                    "SlotType": 2
+                                                },
+                                                "DynamicGroup": {
+                                                    "Value": 1114760223
+                                                },
+                                                "DataType": 1
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{29D32BD4-7086-4B92-AACE-7E0F6241D415}"
+                                                },
+                                                "DynamicTypeOverride": 3,
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    },
+                                                    {
+                                                        "$type": "MathOperatorContract",
+                                                        "NativeTypes": [
+                                                            {
+                                                                "m_type": 3
+                                                            },
+                                                            {
+                                                                "m_type": 8
+                                                            },
+                                                            {
+                                                                "m_type": 9
+                                                            },
+                                                            {
+                                                                "m_type": 10
+                                                            },
+                                                            {
+                                                                "m_type": 12
+                                                            },
+                                                            {
+                                                                "m_type": 14
+                                                            },
+                                                            {
+                                                                "m_type": 15
+                                                            },
+                                                            {
+                                                                "m_type": 20
+                                                            },
+                                                            {
+                                                                "m_type": 21
+                                                            }
+                                                        ]
+                                                    }
+                                                ],
+                                                "slotName": "Result",
+                                                "toolTip": "The result of the specified operation",
+                                                "DisplayDataType": {
+                                                    "m_type": 3
+                                                },
+                                                "DisplayGroup": {
+                                                    "Value": 1114760223
+                                                },
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 2
+                                                },
+                                                "DynamicGroup": {
+                                                    "Value": 1114760223
+                                                },
+                                                "DataType": 1
+                                            }
+                                        ],
+                                        "Datums": [
+                                            {
+                                                "isOverloadedStorage": false,
+                                                "scriptCanvasType": {
+                                                    "m_type": 3
+                                                },
+                                                "isNullPointer": false,
+                                                "$type": "double",
+                                                "value": 0.0,
+                                                "label": "Number 0"
+                                            },
+                                            {
+                                                "isOverloadedStorage": false,
+                                                "scriptCanvasType": {
+                                                    "m_type": 3
+                                                },
+                                                "isNullPointer": false,
+                                                "$type": "double",
+                                                "value": 0.0,
+                                                "label": "Number 1"
+                                            }
+                                        ]
+                                    }
+                                }
+                            },
+                            {
+                                "Id": {
+                                    "id": 11261861237283
+                                },
+                                "Name": "SC-Node(GetLocalY)",
+                                "Components": {
+                                    "Component_[6853814780776154054]": {
+                                        "$type": "{E42861BD-1956-45AE-8DD7-CCFC1E3E5ACF} Method",
+                                        "Id": 6853814780776154054,
+                                        "Slots": [
+                                            {
+                                                "id": {
+                                                    "m_id": "{3979E61B-6BBC-4AFE-9AB4-B833F49AF269}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "EntityId",
+                                                "Descriptor": {
+                                                    "ConnectionType": 1,
+                                                    "SlotType": 2
+                                                },
+                                                "DataType": 1
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{8C3C692C-BE76-4D35-BCFC-D0DA75E5B86F}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "In",
+                                                "Descriptor": {
+                                                    "ConnectionType": 1,
+                                                    "SlotType": 1
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{6F9A875B-6A57-4A66-BAC4-E6BE8B0A2AA4}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "Out",
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 1
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{6A514AAB-4C07-48A4-A50C-C5F176287431}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "Number",
+                                                "DisplayDataType": {
+                                                    "m_type": 3
+                                                },
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 2
+                                                },
+                                                "DataType": 1
+                                            }
+                                        ],
+                                        "Datums": [
+                                            {
+                                                "isOverloadedStorage": false,
+                                                "scriptCanvasType": {
+                                                    "m_type": 1
+                                                },
+                                                "isNullPointer": false,
+                                                "$type": "EntityId",
+                                                "value": {
+                                                    "id": 2901262558
+                                                },
+                                                "label": "EntityId"
+                                            }
+                                        ],
+                                        "methodType": 0,
+                                        "methodName": "GetLocalY",
+                                        "className": "TransformBus",
+                                        "resultSlotIDs": [
+                                            {}
+                                        ],
+                                        "inputSlots": [
+                                            {
+                                                "m_id": "{3979E61B-6BBC-4AFE-9AB4-B833F49AF269}"
+                                            }
+                                        ],
+                                        "prettyClassName": "TransformBus"
+                                    }
+                                }
+                            },
+                            {
+                                "Id": {
+                                    "id": 11244681368099
+                                },
+                                "Name": "SC-Node(GetLocalY)",
+                                "Components": {
+                                    "Component_[6853814780776154054]": {
+                                        "$type": "{E42861BD-1956-45AE-8DD7-CCFC1E3E5ACF} Method",
+                                        "Id": 6853814780776154054,
+                                        "Slots": [
+                                            {
+                                                "id": {
+                                                    "m_id": "{3979E61B-6BBC-4AFE-9AB4-B833F49AF269}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "EntityId",
+                                                "Descriptor": {
+                                                    "ConnectionType": 1,
+                                                    "SlotType": 2
+                                                },
+                                                "DataType": 1,
+                                                "IsReference": true,
+                                                "VariableReference": {
+                                                    "m_id": "{04507A1B-EB87-4A66-97D5-FBED973CDD5F}"
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{8C3C692C-BE76-4D35-BCFC-D0DA75E5B86F}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "In",
+                                                "Descriptor": {
+                                                    "ConnectionType": 1,
+                                                    "SlotType": 1
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{6F9A875B-6A57-4A66-BAC4-E6BE8B0A2AA4}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "Out",
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 1
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{6A514AAB-4C07-48A4-A50C-C5F176287431}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "Number",
+                                                "DisplayDataType": {
+                                                    "m_type": 3
+                                                },
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 2
+                                                },
+                                                "DataType": 1
+                                            }
+                                        ],
+                                        "Datums": [
+                                            {
+                                                "isOverloadedStorage": false,
+                                                "scriptCanvasType": {
+                                                    "m_type": 1
+                                                },
+                                                "isNullPointer": false,
+                                                "$type": "EntityId",
+                                                "value": {
+                                                    "id": 2901262558
+                                                },
+                                                "label": "EntityId"
+                                            }
+                                        ],
+                                        "methodType": 0,
+                                        "methodName": "GetLocalY",
+                                        "className": "TransformBus",
+                                        "resultSlotIDs": [
+                                            {}
+                                        ],
+                                        "inputSlots": [
+                                            {
+                                                "m_id": "{3979E61B-6BBC-4AFE-9AB4-B833F49AF269}"
+                                            }
+                                        ],
+                                        "prettyClassName": "TransformBus"
+                                    }
+                                }
+                            },
+                            {
+                                "Id": {
+                                    "id": 11253271302691
+                                },
+                                "Name": "SC-Node(GetLocalY)",
+                                "Components": {
+                                    "Component_[6853814780776154054]": {
+                                        "$type": "{E42861BD-1956-45AE-8DD7-CCFC1E3E5ACF} Method",
+                                        "Id": 6853814780776154054,
+                                        "Slots": [
+                                            {
+                                                "id": {
+                                                    "m_id": "{3979E61B-6BBC-4AFE-9AB4-B833F49AF269}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "EntityId",
+                                                "Descriptor": {
+                                                    "ConnectionType": 1,
+                                                    "SlotType": 2
+                                                },
+                                                "DataType": 1,
+                                                "IsReference": true,
+                                                "VariableReference": {
+                                                    "m_id": "{04507A1B-EB87-4A66-97D5-FBED973CDD5F}"
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{8C3C692C-BE76-4D35-BCFC-D0DA75E5B86F}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "In",
+                                                "Descriptor": {
+                                                    "ConnectionType": 1,
+                                                    "SlotType": 1
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{6F9A875B-6A57-4A66-BAC4-E6BE8B0A2AA4}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "Out",
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 1
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{6A514AAB-4C07-48A4-A50C-C5F176287431}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "Number",
+                                                "DisplayDataType": {
+                                                    "m_type": 3
+                                                },
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 2
+                                                },
+                                                "DataType": 1
+                                            }
+                                        ],
+                                        "Datums": [
+                                            {
+                                                "isOverloadedStorage": false,
+                                                "scriptCanvasType": {
+                                                    "m_type": 1
+                                                },
+                                                "isNullPointer": false,
+                                                "$type": "EntityId",
+                                                "value": {
+                                                    "id": 2901262558
+                                                },
+                                                "label": "EntityId"
+                                            }
+                                        ],
+                                        "methodType": 0,
+                                        "methodName": "GetLocalY",
+                                        "className": "TransformBus",
+                                        "resultSlotIDs": [
+                                            {}
+                                        ],
+                                        "inputSlots": [
+                                            {
+                                                "m_id": "{3979E61B-6BBC-4AFE-9AB4-B833F49AF269}"
+                                            }
+                                        ],
+                                        "prettyClassName": "TransformBus"
+                                    }
+                                }
+                            },
+                            {
+                                "Id": {
+                                    "id": 11236091433507
+                                },
+                                "Name": "SC-Node(SetLocalY)",
+                                "Components": {
+                                    "Component_[9006706758069791097]": {
+                                        "$type": "{E42861BD-1956-45AE-8DD7-CCFC1E3E5ACF} Method",
+                                        "Id": 9006706758069791097,
+                                        "Slots": [
+                                            {
+                                                "id": {
+                                                    "m_id": "{B5118201-61B7-4EE1-B8A2-CD985C38526F}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "EntityId: 0",
+                                                "Descriptor": {
+                                                    "ConnectionType": 1,
+                                                    "SlotType": 2
+                                                },
+                                                "DataType": 1
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{59FAC3B5-20DD-4491-B687-558EFF15F69E}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "Number: 1",
+                                                "Descriptor": {
+                                                    "ConnectionType": 1,
+                                                    "SlotType": 2
+                                                },
+                                                "DataType": 1
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{D210CED9-193F-4874-B002-769E1CCDAAD5}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "In",
+                                                "Descriptor": {
+                                                    "ConnectionType": 1,
+                                                    "SlotType": 1
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{FEF30B9B-8670-44A7-9313-314A6E4141BE}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "Out",
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 1
+                                                }
+                                            }
+                                        ],
+                                        "Datums": [
+                                            {
+                                                "isOverloadedStorage": false,
+                                                "scriptCanvasType": {
+                                                    "m_type": 1
+                                                },
+                                                "isNullPointer": false,
+                                                "$type": "EntityId",
+                                                "value": {
+                                                    "id": 2901262558
+                                                },
+                                                "label": "Source"
+                                            },
+                                            {
+                                                "isOverloadedStorage": false,
+                                                "scriptCanvasType": {
+                                                    "m_type": 3
+                                                },
+                                                "isNullPointer": false,
+                                                "$type": "double",
+                                                "value": 0.0,
+                                                "label": "Y"
+                                            }
+                                        ],
+                                        "methodType": 0,
+                                        "methodName": "SetLocalY",
+                                        "className": "TransformBus",
+                                        "resultSlotIDs": [
+                                            {}
+                                        ],
+                                        "inputSlots": [
+                                            {
+                                                "m_id": "{B5118201-61B7-4EE1-B8A2-CD985C38526F}"
+                                            },
+                                            {
+                                                "m_id": "{59FAC3B5-20DD-4491-B687-558EFF15F69E}"
+                                            }
+                                        ],
+                                        "prettyClassName": "TransformBus"
+                                    }
+                                }
+                            },
+                            {
+                                "Id": {
+                                    "id": 11227501498915
+                                },
+                                "Name": "SC Node(GetVariable)",
+                                "Components": {
+                                    "Component_[9035715616180882330]": {
+                                        "$type": "GetVariableNode",
+                                        "Id": 9035715616180882330,
+                                        "Slots": [
+                                            {
+                                                "id": {
+                                                    "m_id": "{00B8F466-5C10-4D20-A80A-78FEC31A763F}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "In",
+                                                "toolTip": "When signaled sends the property referenced by this node to a Data Output slot",
+                                                "Descriptor": {
+                                                    "ConnectionType": 1,
+                                                    "SlotType": 1
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{736600C2-9C8D-4B09-B2D9-34E899E46E90}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "Out",
+                                                "toolTip": "Signaled after the referenced property has been pushed to the Data Output slot",
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 1
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{F4255FC2-6027-46CC-A06B-71ABAB04557D}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "Number",
+                                                "DisplayDataType": {
+                                                    "m_type": 3
+                                                },
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 2
+                                                },
+                                                "DataType": 1
+                                            }
+                                        ],
+                                        "m_variableId": {
+                                            "m_id": "{30C8ACC4-63F6-420F-B662-38A9BB7A5BEB}"
+                                        },
+                                        "m_variableDataOutSlotId": {
+                                            "m_id": "{F4255FC2-6027-46CC-A06B-71ABAB04557D}"
+                                        }
+                                    }
+                                }
+                            },
+                            {
+                                "Id": {
+                                    "id": 11274746139171
+                                },
+                                "Name": "SC Node(SetVariable)",
+                                "Components": {
+                                    "Component_[9565436110305935598]": {
+                                        "$type": "SetVariableNode",
+                                        "Id": 9565436110305935598,
+                                        "Slots": [
+                                            {
+                                                "id": {
+                                                    "m_id": "{C670CA62-1BEA-42DC-BCB6-9418596EA2EE}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "In",
+                                                "toolTip": "When signaled sends the variable referenced by this node to a Data Output slot",
+                                                "Descriptor": {
+                                                    "ConnectionType": 1,
+                                                    "SlotType": 1
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{3566F14A-D539-4B37-9CD0-E5E58DB66FBB}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "Out",
+                                                "toolTip": "Signaled after the referenced variable has been pushed to the Data Output slot",
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 1
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{BC22E761-77DD-4CF5-B6D0-15147C56E591}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "Number",
+                                                "Descriptor": {
+                                                    "ConnectionType": 1,
+                                                    "SlotType": 2
+                                                },
+                                                "DataType": 1
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{58BDD631-290B-4F75-8044-5D60B7B5E6E8}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "Number",
+                                                "DisplayDataType": {
+                                                    "m_type": 3
+                                                },
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 2
+                                                },
+                                                "DataType": 1
+                                            }
+                                        ],
+                                        "Datums": [
+                                            {
+                                                "isOverloadedStorage": false,
+                                                "scriptCanvasType": {
+                                                    "m_type": 3
+                                                },
+                                                "isNullPointer": false,
+                                                "$type": "double",
+                                                "value": 0.0,
+                                                "label": "Number"
+                                            }
+                                        ],
+                                        "m_variableId": {
+                                            "m_id": "{30C8ACC4-63F6-420F-B662-38A9BB7A5BEB}"
+                                        },
+                                        "m_variableDataInSlotId": {
+                                            "m_id": "{BC22E761-77DD-4CF5-B6D0-15147C56E591}"
+                                        },
+                                        "m_variableDataOutSlotId": {
+                                            "m_id": "{58BDD631-290B-4F75-8044-5D60B7B5E6E8}"
+                                        }
+                                    }
+                                }
+                            }
+                        ],
+                        "m_connections": [
+                            {
+                                "Id": {
+                                    "id": 11291926008355
+                                },
+                                "Name": "srcEndpoint=(TransformNotificationBus Handler: ExecutionSlot:OnTransformChanged), destEndpoint=(GetLocalY: In)",
+                                "Components": {
+                                    "Component_[402451582484290512]": {
+                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
+                                        "Id": 402451582484290512,
+                                        "sourceEndpoint": {
+                                            "nodeId": {
+                                                "id": 11248976335395
+                                            },
+                                            "slotId": {
+                                                "m_id": "{D9AE1408-48AF-4C21-AB3E-F75D290ECCB6}"
+                                            }
+                                        },
+                                        "targetEndpoint": {
+                                            "nodeId": {
+                                                "id": 11244681368099
+                                            },
+                                            "slotId": {
+                                                "m_id": "{8C3C692C-BE76-4D35-BCFC-D0DA75E5B86F}"
+                                            }
+                                        }
+                                    }
+                                }
+                            },
+                            {
+                                "Id": {
+                                    "id": 11296220975651
+                                },
+                                "Name": "srcEndpoint=(Subtract (-): Result), destEndpoint=(Divide (/): Number 0)",
+                                "Components": {
+                                    "Component_[16640562815357752118]": {
+                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
+                                        "Id": 16640562815357752118,
+                                        "sourceEndpoint": {
+                                            "nodeId": {
+                                                "id": 11270451171875
+                                            },
+                                            "slotId": {
+                                                "m_id": "{29D32BD4-7086-4B92-AACE-7E0F6241D415}"
+                                            }
+                                        },
+                                        "targetEndpoint": {
+                                            "nodeId": {
+                                                "id": 11257566269987
+                                            },
+                                            "slotId": {
+                                                "m_id": "{20FF274C-83A6-4003-B4F8-0FC3D4501ECC}"
+                                            }
+                                        }
+                                    }
+                                }
+                            },
+                            {
+                                "Id": {
+                                    "id": 11300515942947
+                                },
+                                "Name": "srcEndpoint=(Subtract (-): Out), destEndpoint=(Divide (/): In)",
+                                "Components": {
+                                    "Component_[18227322825113873893]": {
+                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
+                                        "Id": 18227322825113873893,
+                                        "sourceEndpoint": {
+                                            "nodeId": {
+                                                "id": 11270451171875
+                                            },
+                                            "slotId": {
+                                                "m_id": "{1B2A8ED4-346C-4D78-BF27-5E512EE0E15D}"
+                                            }
+                                        },
+                                        "targetEndpoint": {
+                                            "nodeId": {
+                                                "id": 11257566269987
+                                            },
+                                            "slotId": {
+                                                "m_id": "{5D96EEA1-B0D6-40B5-86FD-09DC6570D111}"
+                                            }
+                                        }
+                                    }
+                                }
+                            },
+                            {
+                                "Id": {
+                                    "id": 11304810910243
+                                },
+                                "Name": "srcEndpoint=(GetLocalY: Number), destEndpoint=(Subtract (-): Number 0)",
+                                "Components": {
+                                    "Component_[5231142137799649594]": {
+                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
+                                        "Id": 5231142137799649594,
+                                        "sourceEndpoint": {
+                                            "nodeId": {
+                                                "id": 11244681368099
+                                            },
+                                            "slotId": {
+                                                "m_id": "{6A514AAB-4C07-48A4-A50C-C5F176287431}"
+                                            }
+                                        },
+                                        "targetEndpoint": {
+                                            "nodeId": {
+                                                "id": 11270451171875
+                                            },
+                                            "slotId": {
+                                                "m_id": "{EBAE578D-0881-4132-B605-4409D174C010}"
+                                            }
+                                        }
+                                    }
+                                }
+                            },
+                            {
+                                "Id": {
+                                    "id": 11309105877539
+                                },
+                                "Name": "srcEndpoint=(GetLocalY: Out), destEndpoint=(Get Variable: In)",
+                                "Components": {
+                                    "Component_[10625174371041152181]": {
+                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
+                                        "Id": 10625174371041152181,
+                                        "sourceEndpoint": {
+                                            "nodeId": {
+                                                "id": 11244681368099
+                                            },
+                                            "slotId": {
+                                                "m_id": "{6F9A875B-6A57-4A66-BAC4-E6BE8B0A2AA4}"
+                                            }
+                                        },
+                                        "targetEndpoint": {
+                                            "nodeId": {
+                                                "id": 11227501498915
+                                            },
+                                            "slotId": {
+                                                "m_id": "{00B8F466-5C10-4D20-A80A-78FEC31A763F}"
+                                            }
+                                        }
+                                    }
+                                }
+                            },
+                            {
+                                "Id": {
+                                    "id": 11313400844835
+                                },
+                                "Name": "srcEndpoint=(Get Variable: Out), destEndpoint=(Subtract (-): In)",
+                                "Components": {
+                                    "Component_[2733283981631094327]": {
+                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
+                                        "Id": 2733283981631094327,
+                                        "sourceEndpoint": {
+                                            "nodeId": {
+                                                "id": 11227501498915
+                                            },
+                                            "slotId": {
+                                                "m_id": "{736600C2-9C8D-4B09-B2D9-34E899E46E90}"
+                                            }
+                                        },
+                                        "targetEndpoint": {
+                                            "nodeId": {
+                                                "id": 11270451171875
+                                            },
+                                            "slotId": {
+                                                "m_id": "{757FD261-5EFF-4C4D-8D93-7303446305CC}"
+                                            }
+                                        }
+                                    }
+                                }
+                            },
+                            {
+                                "Id": {
+                                    "id": 11317695812131
+                                },
+                                "Name": "srcEndpoint=(Get Variable: Number), destEndpoint=(Subtract (-): Number 1)",
+                                "Components": {
+                                    "Component_[7629491296929980398]": {
+                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
+                                        "Id": 7629491296929980398,
+                                        "sourceEndpoint": {
+                                            "nodeId": {
+                                                "id": 11227501498915
+                                            },
+                                            "slotId": {
+                                                "m_id": "{F4255FC2-6027-46CC-A06B-71ABAB04557D}"
+                                            }
+                                        },
+                                        "targetEndpoint": {
+                                            "nodeId": {
+                                                "id": 11270451171875
+                                            },
+                                            "slotId": {
+                                                "m_id": "{5EC46562-25F0-47EA-914F-07C978BA825C}"
+                                            }
+                                        }
+                                    }
+                                }
+                            },
+                            {
+                                "Id": {
+                                    "id": 11321990779427
+                                },
+                                "Name": "srcEndpoint=(Divide (/): Out), destEndpoint=(Get Variable: In)",
+                                "Components": {
+                                    "Component_[13517654510223022082]": {
+                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
+                                        "Id": 13517654510223022082,
+                                        "sourceEndpoint": {
+                                            "nodeId": {
+                                                "id": 11257566269987
+                                            },
+                                            "slotId": {
+                                                "m_id": "{A857B355-A3A4-419E-B939-F4141E9AD9E1}"
+                                            }
+                                        },
+                                        "targetEndpoint": {
+                                            "nodeId": {
+                                                "id": 11279041106467
+                                            },
+                                            "slotId": {
+                                                "m_id": "{3FC9B208-A798-442A-B498-16E809538AD5}"
+                                            }
+                                        }
+                                    }
+                                }
+                            },
+                            {
+                                "Id": {
+                                    "id": 11326285746723
+                                },
+                                "Name": "srcEndpoint=(Get Variable: Out), destEndpoint=(Add (+): In)",
+                                "Components": {
+                                    "Component_[15045096200799492873]": {
+                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
+                                        "Id": 15045096200799492873,
+                                        "sourceEndpoint": {
+                                            "nodeId": {
+                                                "id": 11279041106467
+                                            },
+                                            "slotId": {
+                                                "m_id": "{EE9C1663-9DD2-463F-A7DE-451C3FB642AD}"
+                                            }
+                                        },
+                                        "targetEndpoint": {
+                                            "nodeId": {
+                                                "id": 11231796466211
+                                            },
+                                            "slotId": {
+                                                "m_id": "{BEA8F21D-CBB1-46C7-928D-B92F164F9364}"
+                                            }
+                                        }
+                                    }
+                                }
+                            },
+                            {
+                                "Id": {
+                                    "id": 11330580714019
+                                },
+                                "Name": "srcEndpoint=(Divide (/): Result), destEndpoint=(Add (+): Value 0)",
+                                "Components": {
+                                    "Component_[12656976291638319556]": {
+                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
+                                        "Id": 12656976291638319556,
+                                        "sourceEndpoint": {
+                                            "nodeId": {
+                                                "id": 11257566269987
+                                            },
+                                            "slotId": {
+                                                "m_id": "{6BE5D56F-634E-41DA-88FB-53ED0422ACC6}"
+                                            }
+                                        },
+                                        "targetEndpoint": {
+                                            "nodeId": {
+                                                "id": 11231796466211
+                                            },
+                                            "slotId": {
+                                                "m_id": "{09E53250-D25D-4CFB-A3D5-59FD52377312}"
+                                            }
+                                        }
+                                    }
+                                }
+                            },
+                            {
+                                "Id": {
+                                    "id": 11334875681315
+                                },
+                                "Name": "srcEndpoint=(Get Variable: Number), destEndpoint=(Add (+): Number 1)",
+                                "Components": {
+                                    "Component_[14110223960984617726]": {
+                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
+                                        "Id": 14110223960984617726,
+                                        "sourceEndpoint": {
+                                            "nodeId": {
+                                                "id": 11279041106467
+                                            },
+                                            "slotId": {
+                                                "m_id": "{BCF661B0-844C-4D84-BD7B-CA21C9369977}"
+                                            }
+                                        },
+                                        "targetEndpoint": {
+                                            "nodeId": {
+                                                "id": 11231796466211
+                                            },
+                                            "slotId": {
+                                                "m_id": "{24C90721-AECA-407A-B267-43C1E55624CD}"
+                                            }
+                                        }
+                                    }
+                                }
+                            },
+                            {
+                                "Id": {
+                                    "id": 11339170648611
+                                },
+                                "Name": "srcEndpoint=(Add (+): Result), destEndpoint=(SetLocalY: Number: 1)",
+                                "Components": {
+                                    "Component_[5571759025494122071]": {
+                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
+                                        "Id": 5571759025494122071,
+                                        "sourceEndpoint": {
+                                            "nodeId": {
+                                                "id": 11231796466211
+                                            },
+                                            "slotId": {
+                                                "m_id": "{1E02AB42-E22B-45A6-B3A9-E4AFBD03ECF8}"
+                                            }
+                                        },
+                                        "targetEndpoint": {
+                                            "nodeId": {
+                                                "id": 11236091433507
+                                            },
+                                            "slotId": {
+                                                "m_id": "{59FAC3B5-20DD-4491-B687-558EFF15F69E}"
+                                            }
+                                        }
+                                    }
+                                }
+                            },
+                            {
+                                "Id": {
+                                    "id": 11343465615907
+                                },
+                                "Name": "srcEndpoint=(Add (+): Out), destEndpoint=(SetLocalY: In)",
+                                "Components": {
+                                    "Component_[12616638451191141722]": {
+                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
+                                        "Id": 12616638451191141722,
+                                        "sourceEndpoint": {
+                                            "nodeId": {
+                                                "id": 11231796466211
+                                            },
+                                            "slotId": {
+                                                "m_id": "{1BF4ABA6-EC97-4EA7-9572-C925F8B3BB91}"
+                                            }
+                                        },
+                                        "targetEndpoint": {
+                                            "nodeId": {
+                                                "id": 11236091433507
+                                            },
+                                            "slotId": {
+                                                "m_id": "{D210CED9-193F-4874-B002-769E1CCDAAD5}"
+                                            }
+                                        }
+                                    }
+                                }
+                            },
+                            {
+                                "Id": {
+                                    "id": 11347760583203
+                                },
+                                "Name": "srcEndpoint=(EntityBus Handler: ExecutionSlot:OnEntityActivated), destEndpoint=(GetLocalY: In)",
+                                "Components": {
+                                    "Component_[10154067886363236680]": {
+                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
+                                        "Id": 10154067886363236680,
+                                        "sourceEndpoint": {
+                                            "nodeId": {
+                                                "id": 11283336073763
+                                            },
+                                            "slotId": {
+                                                "m_id": "{EC961343-397C-4AF7-A295-F5F33A3D3FD2}"
+                                            }
+                                        },
+                                        "targetEndpoint": {
+                                            "nodeId": {
+                                                "id": 11261861237283
+                                            },
+                                            "slotId": {
+                                                "m_id": "{8C3C692C-BE76-4D35-BCFC-D0DA75E5B86F}"
+                                            }
+                                        }
+                                    }
+                                }
+                            },
+                            {
+                                "Id": {
+                                    "id": 11352055550499
+                                },
+                                "Name": "srcEndpoint=(GetLocalY: Out), destEndpoint=(Set Variable: In)",
+                                "Components": {
+                                    "Component_[11044111666474470950]": {
+                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
+                                        "Id": 11044111666474470950,
+                                        "sourceEndpoint": {
+                                            "nodeId": {
+                                                "id": 11261861237283
+                                            },
+                                            "slotId": {
+                                                "m_id": "{6F9A875B-6A57-4A66-BAC4-E6BE8B0A2AA4}"
+                                            }
+                                        },
+                                        "targetEndpoint": {
+                                            "nodeId": {
+                                                "id": 11266156204579
+                                            },
+                                            "slotId": {
+                                                "m_id": "{2F10F342-BEC0-4E46-BF6E-E125C52CC8F2}"
+                                            }
+                                        }
+                                    }
+                                }
+                            },
+                            {
+                                "Id": {
+                                    "id": 11356350517795
+                                },
+                                "Name": "srcEndpoint=(GetLocalY: Number), destEndpoint=(Set Variable: Number)",
+                                "Components": {
+                                    "Component_[3574096235933855864]": {
+                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
+                                        "Id": 3574096235933855864,
+                                        "sourceEndpoint": {
+                                            "nodeId": {
+                                                "id": 11261861237283
+                                            },
+                                            "slotId": {
+                                                "m_id": "{6A514AAB-4C07-48A4-A50C-C5F176287431}"
+                                            }
+                                        },
+                                        "targetEndpoint": {
+                                            "nodeId": {
+                                                "id": 11266156204579
+                                            },
+                                            "slotId": {
+                                                "m_id": "{A18BD500-A51A-49AA-844B-961AB0D125A5}"
+                                            }
+                                        }
+                                    }
+                                }
+                            },
+                            {
+                                "Id": {
+                                    "id": 11360645485091
+                                },
+                                "Name": "srcEndpoint=(EntityBus Handler: ExecutionSlot:OnEntityActivated), destEndpoint=(GetLocalY: In)",
+                                "Components": {
+                                    "Component_[16075432103391991640]": {
+                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
+                                        "Id": 16075432103391991640,
+                                        "sourceEndpoint": {
+                                            "nodeId": {
+                                                "id": 11223206531619
+                                            },
+                                            "slotId": {
+                                                "m_id": "{EC961343-397C-4AF7-A295-F5F33A3D3FD2}"
+                                            }
+                                        },
+                                        "targetEndpoint": {
+                                            "nodeId": {
+                                                "id": 11253271302691
+                                            },
+                                            "slotId": {
+                                                "m_id": "{8C3C692C-BE76-4D35-BCFC-D0DA75E5B86F}"
+                                            }
+                                        }
+                                    }
+                                }
+                            },
+                            {
+                                "Id": {
+                                    "id": 11364940452387
+                                },
+                                "Name": "srcEndpoint=(GetLocalY: Out), destEndpoint=(Set Variable: In)",
+                                "Components": {
+                                    "Component_[8912891612684142495]": {
+                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
+                                        "Id": 8912891612684142495,
+                                        "sourceEndpoint": {
+                                            "nodeId": {
+                                                "id": 11253271302691
+                                            },
+                                            "slotId": {
+                                                "m_id": "{6F9A875B-6A57-4A66-BAC4-E6BE8B0A2AA4}"
+                                            }
+                                        },
+                                        "targetEndpoint": {
+                                            "nodeId": {
+                                                "id": 11274746139171
+                                            },
+                                            "slotId": {
+                                                "m_id": "{C670CA62-1BEA-42DC-BCB6-9418596EA2EE}"
+                                            }
+                                        }
+                                    }
+                                }
+                            },
+                            {
+                                "Id": {
+                                    "id": 11369235419683
+                                },
+                                "Name": "srcEndpoint=(GetLocalY: Number), destEndpoint=(Set Variable: Number)",
+                                "Components": {
+                                    "Component_[1982690244336472316]": {
+                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
+                                        "Id": 1982690244336472316,
+                                        "sourceEndpoint": {
+                                            "nodeId": {
+                                                "id": 11253271302691
+                                            },
+                                            "slotId": {
+                                                "m_id": "{6A514AAB-4C07-48A4-A50C-C5F176287431}"
+                                            }
+                                        },
+                                        "targetEndpoint": {
+                                            "nodeId": {
+                                                "id": 11274746139171
+                                            },
+                                            "slotId": {
+                                                "m_id": "{BC22E761-77DD-4CF5-B6D0-15147C56E591}"
+                                            }
+                                        }
+                                    }
+                                }
+                            }
+                        ]
+                    },
+                    "versionData": {
+                        "_grammarVersion": 1,
+                        "_runtimeVersion": 1,
+                        "_fileVersion": 1
+                    },
+                    "m_variableCounter": 3,
+                    "GraphCanvasData": [
+                        {
+                            "Key": {
+                                "id": 11218911564323
+                            },
+                            "Value": {
+                                "ComponentData": {
+                                    "{5F84B500-8C45-40D1-8EFC-A5306B241444}": {
+                                        "$type": "SceneComponentSaveData",
+                                        "ViewParams": {
+                                            "Scale": 0.5711477812099419,
+                                            "AnchorX": -252.12388610839844,
+                                            "AnchorY": 206.6015167236328
+                                        }
+                                    }
+                                }
+                            }
+                        },
+                        {
+                            "Key": {
+                                "id": 11223206531619
+                            },
+                            "Value": {
+                                "ComponentData": {
+                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
+                                        "$type": "NodeSaveData"
+                                    },
+                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
+                                        "$type": "GeometrySaveData",
+                                        "Position": [
+                                            -220.0,
+                                            1000.0
+                                        ]
+                                    },
+                                    "{9E81C95F-89C0-4476-8E82-63CCC4E52E04}": {
+                                        "$type": "EBusHandlerNodeDescriptorSaveData",
+                                        "EventIds": [
+                                            {
+                                                "Value": 245425936
+                                            }
+                                        ]
+                                    },
+                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
+                                        "$type": "StylingComponentSaveData"
+                                    },
+                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
+                                        "$type": "PersistentIdComponentSaveData",
+                                        "PersistentId": "{114F7A3F-56BC-46AC-B765-E80612FC28F5}"
+                                    }
+                                }
+                            }
+                        },
+                        {
+                            "Key": {
+                                "id": 11227501498915
+                            },
+                            "Value": {
+                                "ComponentData": {
+                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
+                                        "$type": "NodeSaveData"
+                                    },
+                                    "{328FF15C-C302-458F-A43D-E1794DE0904E}": {
+                                        "$type": "GeneralNodeTitleComponentSaveData",
+                                        "PaletteOverride": "GetVariableNodeTitlePalette"
+                                    },
+                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
+                                        "$type": "GeometrySaveData",
+                                        "Position": [
+                                            440.0,
+                                            80.0
+                                        ]
+                                    },
+                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
+                                        "$type": "StylingComponentSaveData",
+                                        "SubStyle": ".getVariable"
+                                    },
+                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
+                                        "$type": "PersistentIdComponentSaveData",
+                                        "PersistentId": "{E0CF32FA-4FDC-4AF8-BB08-FC37663E742A}"
+                                    }
+                                }
+                            }
+                        },
+                        {
+                            "Key": {
+                                "id": 11231796466211
+                            },
+                            "Value": {
+                                "ComponentData": {
+                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
+                                        "$type": "NodeSaveData"
+                                    },
+                                    "{328FF15C-C302-458F-A43D-E1794DE0904E}": {
+                                        "$type": "GeneralNodeTitleComponentSaveData",
+                                        "PaletteOverride": "MathNodeTitlePalette"
+                                    },
+                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
+                                        "$type": "GeometrySaveData",
+                                        "Position": [
+                                            1640.0,
+                                            200.0
+                                        ]
+                                    },
+                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
+                                        "$type": "StylingComponentSaveData"
+                                    },
+                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
+                                        "$type": "PersistentIdComponentSaveData",
+                                        "PersistentId": "{10D7D3C0-07BC-47A9-BA07-12FB0324D703}"
+                                    }
+                                }
+                            }
+                        },
+                        {
+                            "Key": {
+                                "id": 11236091433507
+                            },
+                            "Value": {
+                                "ComponentData": {
+                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
+                                        "$type": "NodeSaveData"
+                                    },
+                                    "{328FF15C-C302-458F-A43D-E1794DE0904E}": {
+                                        "$type": "GeneralNodeTitleComponentSaveData",
+                                        "PaletteOverride": "MethodNodeTitlePalette"
+                                    },
+                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
+                                        "$type": "GeometrySaveData",
+                                        "Position": [
+                                            2000.0,
+                                            200.0
+                                        ]
+                                    },
+                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
+                                        "$type": "StylingComponentSaveData",
+                                        "SubStyle": ".method"
+                                    },
+                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
+                                        "$type": "PersistentIdComponentSaveData",
+                                        "PersistentId": "{BBA33C78-7AD6-41AA-B149-47CBBCF5B9DA}"
+                                    }
+                                }
+                            }
+                        },
+                        {
+                            "Key": {
+                                "id": 11244681368099
+                            },
+                            "Value": {
+                                "ComponentData": {
+                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
+                                        "$type": "NodeSaveData"
+                                    },
+                                    "{328FF15C-C302-458F-A43D-E1794DE0904E}": {
+                                        "$type": "GeneralNodeTitleComponentSaveData",
+                                        "PaletteOverride": "MethodNodeTitlePalette"
+                                    },
+                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
+                                        "$type": "GeometrySaveData",
+                                        "Position": [
+                                            100.0,
+                                            220.0
+                                        ]
+                                    },
+                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
+                                        "$type": "StylingComponentSaveData",
+                                        "SubStyle": ".method"
+                                    },
+                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
+                                        "$type": "PersistentIdComponentSaveData",
+                                        "PersistentId": "{B9FCA0FE-0B3F-43B0-A788-4CAF712ACA45}"
+                                    }
+                                }
+                            }
+                        },
+                        {
+                            "Key": {
+                                "id": 11248976335395
+                            },
+                            "Value": {
+                                "ComponentData": {
+                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
+                                        "$type": "NodeSaveData"
+                                    },
+                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
+                                        "$type": "GeometrySaveData",
+                                        "Position": [
+                                            -220.0,
+                                            60.0
+                                        ]
+                                    },
+                                    "{9E81C95F-89C0-4476-8E82-63CCC4E52E04}": {
+                                        "$type": "EBusHandlerNodeDescriptorSaveData",
+                                        "EventIds": [
+                                            {
+                                                "Value": 1683606720
+                                            }
+                                        ]
+                                    },
+                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
+                                        "$type": "StylingComponentSaveData"
+                                    },
+                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
+                                        "$type": "PersistentIdComponentSaveData",
+                                        "PersistentId": "{FA907CC0-7318-4C4E-9D9F-EE947EEF80C5}"
+                                    }
+                                }
+                            }
+                        },
+                        {
+                            "Key": {
+                                "id": 11253271302691
+                            },
+                            "Value": {
+                                "ComponentData": {
+                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
+                                        "$type": "NodeSaveData"
+                                    },
+                                    "{328FF15C-C302-458F-A43D-E1794DE0904E}": {
+                                        "$type": "GeneralNodeTitleComponentSaveData",
+                                        "PaletteOverride": "MethodNodeTitlePalette"
+                                    },
+                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
+                                        "$type": "GeometrySaveData",
+                                        "Position": [
+                                            120.0,
+                                            1160.0
+                                        ]
+                                    },
+                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
+                                        "$type": "StylingComponentSaveData",
+                                        "SubStyle": ".method"
+                                    },
+                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
+                                        "$type": "PersistentIdComponentSaveData",
+                                        "PersistentId": "{BBB66D91-ED55-428F-9532-E280CD606D5C}"
+                                    }
+                                }
+                            }
+                        },
+                        {
+                            "Key": {
+                                "id": 11257566269987
+                            },
+                            "Value": {
+                                "ComponentData": {
+                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
+                                        "$type": "NodeSaveData"
+                                    },
+                                    "{328FF15C-C302-458F-A43D-E1794DE0904E}": {
+                                        "$type": "GeneralNodeTitleComponentSaveData",
+                                        "PaletteOverride": "MathNodeTitlePalette"
+                                    },
+                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
+                                        "$type": "GeometrySaveData",
+                                        "Position": [
+                                            940.0,
+                                            220.0
+                                        ]
+                                    },
+                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
+                                        "$type": "StylingComponentSaveData"
+                                    },
+                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
+                                        "$type": "PersistentIdComponentSaveData",
+                                        "PersistentId": "{A6B7317F-8BE9-4D7E-A95F-DC28C491D2EC}"
+                                    }
+                                }
+                            }
+                        },
+                        {
+                            "Key": {
+                                "id": 11261861237283
+                            },
+                            "Value": {
+                                "ComponentData": {
+                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
+                                        "$type": "NodeSaveData"
+                                    },
+                                    "{328FF15C-C302-458F-A43D-E1794DE0904E}": {
+                                        "$type": "GeneralNodeTitleComponentSaveData",
+                                        "PaletteOverride": "MethodNodeTitlePalette"
+                                    },
+                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
+                                        "$type": "GeometrySaveData",
+                                        "Position": [
+                                            120.0,
+                                            780.0
+                                        ]
+                                    },
+                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
+                                        "$type": "StylingComponentSaveData",
+                                        "SubStyle": ".method"
+                                    },
+                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
+                                        "$type": "PersistentIdComponentSaveData",
+                                        "PersistentId": "{76980D0E-CB74-4B83-B6A3-F0113E6713F1}"
+                                    }
+                                }
+                            }
+                        },
+                        {
+                            "Key": {
+                                "id": 11266156204579
+                            },
+                            "Value": {
+                                "ComponentData": {
+                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
+                                        "$type": "NodeSaveData"
+                                    },
+                                    "{328FF15C-C302-458F-A43D-E1794DE0904E}": {
+                                        "$type": "GeneralNodeTitleComponentSaveData",
+                                        "PaletteOverride": "SetVariableNodeTitlePalette"
+                                    },
+                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
+                                        "$type": "GeometrySaveData",
+                                        "Position": [
+                                            440.0,
+                                            780.0
+                                        ]
+                                    },
+                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
+                                        "$type": "StylingComponentSaveData",
+                                        "SubStyle": ".setVariable"
+                                    },
+                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
+                                        "$type": "PersistentIdComponentSaveData",
+                                        "PersistentId": "{D5549C85-1AD6-48E3-BC5A-D377A0A5D9C5}"
+                                    }
+                                }
+                            }
+                        },
+                        {
+                            "Key": {
+                                "id": 11270451171875
+                            },
+                            "Value": {
+                                "ComponentData": {
+                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
+                                        "$type": "NodeSaveData"
+                                    },
+                                    "{328FF15C-C302-458F-A43D-E1794DE0904E}": {
+                                        "$type": "GeneralNodeTitleComponentSaveData",
+                                        "PaletteOverride": "MathNodeTitlePalette"
+                                    },
+                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
+                                        "$type": "GeometrySaveData",
+                                        "Position": [
+                                            640.0,
+                                            220.0
+                                        ]
+                                    },
+                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
+                                        "$type": "StylingComponentSaveData"
+                                    },
+                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
+                                        "$type": "PersistentIdComponentSaveData",
+                                        "PersistentId": "{81785E4D-786B-44EC-B41E-A9119F0605F1}"
+                                    }
+                                }
+                            }
+                        },
+                        {
+                            "Key": {
+                                "id": 11274746139171
+                            },
+                            "Value": {
+                                "ComponentData": {
+                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
+                                        "$type": "NodeSaveData"
+                                    },
+                                    "{328FF15C-C302-458F-A43D-E1794DE0904E}": {
+                                        "$type": "GeneralNodeTitleComponentSaveData",
+                                        "PaletteOverride": "SetVariableNodeTitlePalette"
+                                    },
+                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
+                                        "$type": "GeometrySaveData",
+                                        "Position": [
+                                            440.0,
+                                            1160.0
+                                        ]
+                                    },
+                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
+                                        "$type": "StylingComponentSaveData",
+                                        "SubStyle": ".setVariable"
+                                    },
+                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
+                                        "$type": "PersistentIdComponentSaveData",
+                                        "PersistentId": "{4A969633-1417-4B3A-8346-9019347E1D72}"
+                                    }
+                                }
+                            }
+                        },
+                        {
+                            "Key": {
+                                "id": 11279041106467
+                            },
+                            "Value": {
+                                "ComponentData": {
+                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
+                                        "$type": "NodeSaveData"
+                                    },
+                                    "{328FF15C-C302-458F-A43D-E1794DE0904E}": {
+                                        "$type": "GeneralNodeTitleComponentSaveData",
+                                        "PaletteOverride": "GetVariableNodeTitlePalette"
+                                    },
+                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
+                                        "$type": "GeometrySaveData",
+                                        "Position": [
+                                            1280.0,
+                                            80.0
+                                        ]
+                                    },
+                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
+                                        "$type": "StylingComponentSaveData",
+                                        "SubStyle": ".getVariable"
+                                    },
+                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
+                                        "$type": "PersistentIdComponentSaveData",
+                                        "PersistentId": "{C773CEEE-0B44-4795-963D-774DF73F40A2}"
+                                    }
+                                }
+                            }
+                        },
+                        {
+                            "Key": {
+                                "id": 11283336073763
+                            },
+                            "Value": {
+                                "ComponentData": {
+                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
+                                        "$type": "NodeSaveData"
+                                    },
+                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
+                                        "$type": "GeometrySaveData",
+                                        "Position": [
+                                            -220.0,
+                                            620.0
+                                        ]
+                                    },
+                                    "{9E81C95F-89C0-4476-8E82-63CCC4E52E04}": {
+                                        "$type": "EBusHandlerNodeDescriptorSaveData",
+                                        "EventIds": [
+                                            {
+                                                "Value": 245425936
+                                            }
+                                        ]
+                                    },
+                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
+                                        "$type": "StylingComponentSaveData"
+                                    },
+                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
+                                        "$type": "PersistentIdComponentSaveData",
+                                        "PersistentId": "{F19C4EB7-137F-4BA6-9EB3-C4E122851344}"
+                                    }
+                                }
+                            }
+                        }
+                    ],
+                    "StatisticsHelper": {
+                        "InstanceCounter": [
+                            {
+                                "Key": 955089921810928021,
+                                "Value": 1
+                            },
+                            {
+                                "Key": 1244476766431948410,
+                                "Value": 1
+                            },
+                            {
+                                "Key": 5842116761103598202,
+                                "Value": 2
+                            },
+                            {
+                                "Key": 5842117060592297717,
+                                "Value": 1
+                            },
+                            {
+                                "Key": 11253545079622395724,
+                                "Value": 1
+                            },
+                            {
+                                "Key": 12332592210424825812,
+                                "Value": 1
+                            },
+                            {
+                                "Key": 13774516554878574510,
+                                "Value": 1
+                            },
+                            {
+                                "Key": 13774516556776238733,
+                                "Value": 3
+                            },
+                            {
+                                "Key": 15767130228066554489,
+                                "Value": 1
+                            },
+                            {
+                                "Key": 17282152668694508273,
+                                "Value": 1
+                            },
+                            {
+                                "Key": 17746292506071718793,
+                                "Value": 1
+                            }
+                        ]
+                    }
+                }
+            }
+        }
+    }
+}

+ 61 - 3
Project/Gem/CMakeLists.txt

@@ -50,6 +50,7 @@ ly_add_target(
             Gem::AtomLyIntegration_CommonFeatures.Editor.Static
             Gem::Atom_AtomBridge.Static
             Gem::ImGui.Static
+            Gem::PhysX.Static
 )
 
 target_depends_on_ros2_packages(ROSConDemo.Static std_srvs nav_msgs vision_msgs)
@@ -70,12 +71,69 @@ ly_add_target(
             AZ::AzFramework
 )
 
-# if enabled, ROSConDemo is used by all kinds of applications
-ly_create_alias(NAME ROSConDemo.Builders NAMESPACE Gem TARGETS Gem::ROSConDemo)
-ly_create_alias(NAME ROSConDemo.Tools    NAMESPACE Gem TARGETS Gem::ROSConDemo)
+# By default, we will specify that the above target ROSConDemo would be used by
+# Client and Server type targets when this gem is enabled.  If you don't want it
+# active in Clients or Servers by default, delete one or more of the following lines:
 ly_create_alias(NAME ROSConDemo.Clients  NAMESPACE Gem TARGETS Gem::ROSConDemo)
 ly_create_alias(NAME ROSConDemo.Servers  NAMESPACE Gem TARGETS Gem::ROSConDemo)
 
+# If we are on a host platform, we want to add the host tools targets like the ROSConDemo.Editor target which
+# will also depend on ROSConDemo.Static
+if(PAL_TRAIT_BUILD_HOST_TOOLS)
+    ly_add_target(
+        NAME ROSConDemo.Editor.Static STATIC
+        NAMESPACE Gem
+        AUTOMOC
+        AUTORCC
+        FILES_CMAKE
+            roscondemo_editor_files.cmake
+        INCLUDE_DIRECTORIES
+            PRIVATE
+                Source
+            PUBLIC
+                Include
+        COMPILE_DEFINITIONS
+            PRIVATE
+                ROSConDemo_EDITOR
+        BUILD_DEPENDENCIES
+            PUBLIC
+                AZ::AzToolsFramework
+                Gem::AtomLyIntegration_CommonFeatures.Editor.Static
+                Gem::LmbrCentral.API
+                Gem::ROS2.Editor.Static
+                Gem::ROSConDemo.Static
+            PRIVATE
+    )
+
+    find_package(urdfdom)
+    target_link_libraries(ROSConDemo.Editor.Static PUBLIC urdfdom::urdfdom_model)
+
+    ly_add_target(
+        NAME ROSConDemo.Editor GEM_MODULE
+        NAMESPACE Gem
+        FILES_CMAKE
+            roscondemo_editor_shared_files.cmake
+        COMPILE_DEFINITIONS
+            PRIVATE
+                ROSConDemo_EDITOR
+        INCLUDE_DIRECTORIES
+            PRIVATE
+                Source
+            PUBLIC
+                Include
+        BUILD_DEPENDENCIES
+            PUBLIC
+                Gem::ROSConDemo.Editor.Static
+                Gem::Atom_Feature_Common.Static
+    )
+
+    # By default, we will specify that the above target ROSConDemo would be used by
+    # Tool and Builder type targets when this gem is enabled. If you don't want it
+    # active in Tools or Builders by default, delete one or both of the following lines:
+    ly_create_alias(NAME ROSConDemo.Tools    NAMESPACE Gem TARGETS Gem::ROSConDemo.Editor)
+    ly_create_alias(NAME ROSConDemo.Builders NAMESPACE Gem TARGETS Gem::ROSConDemo.Editor)
+endif()
+
 ################################################################################
 # Gem dependencies
 ################################################################################

+ 10 - 10
Project/Gem/Source/Manipulator/KrakenManipulatorController.cpp

@@ -7,7 +7,7 @@
  */
 
 #include "KrakenManipulatorController.h"
-#include <ROS2/Manipulator/MotorizedJointBus.h>
+#include <ROS2/Manipulation/MotorizedJoints/PidMotorControllerBus.h>
 #include <AzCore/Serialization/EditContext.h>
 
 #include <AzFramework/Components/TransformComponent.h>
@@ -103,11 +103,11 @@ namespace AppleKraken
         float error_x = std::numeric_limits<float>::max();
         float error_z = std::numeric_limits<float>::max();
 
-        ROS2::MotorizedJointRequestBus::Event(m_entityX, &ROS2::MotorizedJointRequest::SetSetpoint, m_setPointX);
-        ROS2::MotorizedJointRequestBus::EventResult(error_x, m_entityX, &ROS2::MotorizedJointRequest::GetError);
+        ROS2::PidMotorControllerRequestBus::Event(m_entityX, &ROS2::PidMotorControllerRequests::SetSetpoint, m_setPointX);
+        ROS2::PidMotorControllerRequestBus::EventResult(error_x, m_entityX, &ROS2::PidMotorControllerRequests::GetError);
 
-        ROS2::MotorizedJointRequestBus::Event(m_entityZ, &ROS2::MotorizedJointRequest::SetSetpoint, m_setPointZ);
-        ROS2::MotorizedJointRequestBus::EventResult(error_z, m_entityZ, &ROS2::MotorizedJointRequest::GetError);
+        ROS2::PidMotorControllerRequestBus::Event(m_entityZ, &ROS2::PidMotorControllerRequests::SetSetpoint, m_setPointZ);
+        ROS2::PidMotorControllerRequestBus::EventResult(error_z, m_entityZ, &ROS2::PidMotorControllerRequests::GetError);
 
         // auto - disable nose retrieve only if we reached small error.
         if (m_noseRetrieveRequest == true)
@@ -133,7 +133,7 @@ namespace AppleKraken
                 if (m_time_Y_ok > m_timeSetpointReach)
                 {
                     float error_y = std::numeric_limits<float>::max();
-                    ROS2::MotorizedJointRequestBus::EventResult(error_y, m_entityY, &ROS2::MotorizedJointRequest::GetError);
+                    ROS2::PidMotorControllerRequestBus::EventResult(error_y, m_entityY, &ROS2::PidMotorControllerRequests::GetError);
                     if (error_y < max_errorY && error_y > -max_errorY)
                     {
                         m_noseRetrievingSuccess = true;
@@ -145,7 +145,7 @@ namespace AppleKraken
             {
                 m_noseRetrievingSuccess = false;
             }
-            ROS2::MotorizedJointRequestBus::Event(m_entityY, &ROS2::MotorizedJointRequest::SetSetpoint, m_setPointY);
+            ROS2::PidMotorControllerRequestBus::Event(m_entityY, &ROS2::PidMotorControllerRequests::SetSetpoint, m_setPointY);
         }
 
     }
@@ -164,9 +164,9 @@ namespace AppleKraken
         float x{0};
         float y{0};
         float z{0};
-        ROS2::MotorizedJointRequestBus::EventResult(x, m_entityX, &ROS2::MotorizedJointRequest::GetCurrentMeasurement);
-        ROS2::MotorizedJointRequestBus::EventResult(y, m_entityY, &ROS2::MotorizedJointRequest::GetCurrentMeasurement);
-        ROS2::MotorizedJointRequestBus::EventResult(z, m_entityZ, &ROS2::MotorizedJointRequest::GetCurrentMeasurement);
+        ROS2::PidMotorControllerRequestBus::EventResult(x, m_entityX, &ROS2::PidMotorControllerRequests::GetCurrentMeasurement);
+        ROS2::PidMotorControllerRequestBus::EventResult(y, m_entityY, &ROS2::PidMotorControllerRequests::GetCurrentMeasurement);
+        ROS2::PidMotorControllerRequestBus::EventResult(z, m_entityZ, &ROS2::PidMotorControllerRequests::GetCurrentMeasurement);
         return AZ::Vector3{x,y,z};
     };
 

+ 43 - 0
Project/Gem/Source/ROSConDemoEditorModule.cpp

@@ -0,0 +1,43 @@
+/*
+ * Copyright (c) Contributors to the Open 3D Engine Project.
+ * For complete copyright and license terms please see the LICENSE at the root of this distribution.
+ *
+ * SPDX-License-Identifier: Apache-2.0 OR MIT
+ *
+ */
+
+#include <QtCore/qglobal.h>
+#include <ROSConDemoModuleInterface.h>
+#include <ROSConDemoEditorSystemComponent.h>
+
+namespace ROSConDemo
+{
+    class ROSConDemoEditorModule : public ROSConDemoModuleInterface
+    {
+    public:
+        AZ_RTTI(ROSConDemoEditorModule, "{ca41105c-1c8c-1db7-72fe-c20cd0160c76}", ROSConDemoModuleInterface);
+        AZ_CLASS_ALLOCATOR(ROSConDemoEditorModule, AZ::SystemAllocator);
+
+        ROSConDemoEditorModule()
+        {
+            m_descriptors.insert(
+                m_descriptors.end(),
+                {
+                    ROSConDemoEditorSystemComponent::CreateDescriptor(),
+                });
+        }
+
+        /**
+         * Add required SystemComponents to the SystemEntity.
+         * Non-SystemComponents should not be added here
+         */
+        AZ::ComponentTypeList GetRequiredSystemComponents() const override
+        {
+            return AZ::ComponentTypeList{
+                azrtti_typeid<ROSConDemoEditorSystemComponent>(),
+            };
+        }
+    };
+} // namespace ROSConDemo
+
+AZ_DECLARE_MODULE_CLASS(Gem_ROSConDemo, ROSConDemo::ROSConDemoEditorModule)

+ 69 - 0
Project/Gem/Source/ROSConDemoEditorSystemComponent.cpp

@@ -0,0 +1,69 @@
+/*
+ * Copyright (c) Contributors to the Open 3D Engine Project.
+ * For complete copyright and license terms please see the LICENSE at the root of this distribution.
+ *
+ * SPDX-License-Identifier: Apache-2.0 OR MIT
+ *
+ */
+#include "ROSConDemoSystemComponent.h"
+#include <AzCore/Component/ComponentApplicationBus.h>
+#include <AzCore/Serialization/SerializeContext.h>
+#include <ROSConDemoEditorSystemComponent.h>
+
+namespace ROSConDemo
+{
+    void ROSConDemoEditorSystemComponent::Reflect(AZ::ReflectContext* context)
+    {
+        if (auto serializeContext = azrtti_cast<AZ::SerializeContext*>(context))
+        {
+            serializeContext->Class<ROSConDemoEditorSystemComponent, ROSConDemoSystemComponent>()->Version(0);
+        }
+    }
+
+    ROSConDemoEditorSystemComponent::ROSConDemoEditorSystemComponent() = default;
+
+    ROSConDemoEditorSystemComponent::~ROSConDemoEditorSystemComponent() = default;
+
+    void ROSConDemoEditorSystemComponent::GetProvidedServices(AZ::ComponentDescriptor::DependencyArrayType& provided)
+    {
+        ROSConDemoSystemComponent::GetProvidedServices(provided);
+        provided.push_back(AZ_CRC_CE("ROSConDemoEditorService"));
+    }
+
+    void ROSConDemoEditorSystemComponent::GetIncompatibleServices(AZ::ComponentDescriptor::DependencyArrayType& incompatible)
+    {
+        ROSConDemoSystemComponent::GetIncompatibleServices(incompatible);
+        incompatible.push_back(AZ_CRC_CE("ROSConDemoEditorService"));
+    }
+
+    void ROSConDemoEditorSystemComponent::GetRequiredServices(AZ::ComponentDescriptor::DependencyArrayType& required)
+    {
+        required.push_back(AZ_CRC_CE("ROS2EditorService"));
+        ROSConDemoSystemComponent::GetRequiredServices(required);
+    }
+
+    void ROSConDemoEditorSystemComponent::GetDependentServices([[maybe_unused]] AZ::ComponentDescriptor::DependencyArrayType& dependent)
+    {
+        ROSConDemoSystemComponent::GetDependentServices(dependent);
+    }
+
+    void ROSConDemoEditorSystemComponent::Activate()
+    {
+        AzToolsFramework::EditorEntityContextNotificationBus::Handler::BusConnect();
+    }
+
+    void ROSConDemoEditorSystemComponent::Deactivate()
+    {
+        AzToolsFramework::EditorEntityContextNotificationBus::Handler::BusDisconnect();
+    }
+
+    void ROSConDemoEditorSystemComponent::OnStartPlayInEditor()
+    {
+        ROSConDemoSystemComponent::Activate();
+    }
+    void ROSConDemoEditorSystemComponent::OnStopPlayInEditorBegin()
+    {
+        ROSConDemoSystemComponent::Deactivate();
+    }
+
+} // namespace ROS2

+ 47 - 0
Project/Gem/Source/ROSConDemoEditorSystemComponent.h

@@ -0,0 +1,47 @@
+/*
+ * Copyright (c) Contributors to the Open 3D Engine Project.
+ * For complete copyright and license terms please see the LICENSE at the root of this distribution.
+ *
+ * SPDX-License-Identifier: Apache-2.0 OR MIT
+ *
+ */
+#pragma once
+
+#include <ROSConDemoSystemComponent.h>
+
+#include <AzToolsFramework/Entity/EditorEntityContextBus.h>
+
+namespace ROSConDemo
+{
+    /// System component for ROS2 editor
+    class ROSConDemoEditorSystemComponent
+        : public ROSConDemoSystemComponent
+        , private AzToolsFramework::EditorEntityContextNotificationBus::Handler
+    {
+
+    public:
+        AZ_COMPONENT(ROSConDemoEditorSystemComponent, "{96e4d699-8ebf-f2cc-9c6f-7791d697e1fa}", ROSConDemoSystemComponent);
+        static void Reflect(AZ::ReflectContext* context);
+
+        ROSConDemoEditorSystemComponent();
+        ~ROSConDemoEditorSystemComponent();
+
+    private:
+        static void GetProvidedServices(AZ::ComponentDescriptor::DependencyArrayType& provided);
+        static void GetIncompatibleServices(AZ::ComponentDescriptor::DependencyArrayType& incompatible);
+        static void GetRequiredServices(AZ::ComponentDescriptor::DependencyArrayType& required);
+        static void GetDependentServices(AZ::ComponentDescriptor::DependencyArrayType& dependent);
+
+        //////////////////////////////////////////////////////////////////////////
+        // Component overrides
+        void Activate() override;
+        void Deactivate() override;
+        //////////////////////////////////////////////////////////////////////////
+
+        //////////////////////////////////////////////////////////////////////////
+        // EditorEntityContextNotificationBus overrides
+        void OnStartPlayInEditor() override;
+        void OnStopPlayInEditorBegin() override;
+        //////////////////////////////////////////////////////////////////////////
+    };
+} // namespace ROSConDemo

+ 6 - 32
Project/Gem/Source/ROSConDemoModule.cpp

@@ -6,46 +6,20 @@
  *
  */
 
-#include "ApplePicker/ApplePickerComponent.h"
-#include "ApplePicker/GatheringRowComponent.h"
-#include "ApplePicker/KrakenEffectorComponent.h"
-#include "DemoStatistics/DemoStatisticsComponent.h"
-#include "FruitStorage/FruitStorageComponent.h"
-#include "Manipulator/KrakenManipulatorController.h"
-#include "KrakenCamera/FollowingCameraComponent.h"
-#include "ROSConDemoSystemComponent.h"
+
+#include "ROSConDemoModuleInterface.h"
 #include <AzCore/Memory/SystemAllocator.h>
 #include <AzCore/Module/Module.h>
+#include <ROS2/ROS2Bus.h>
+
 
 namespace ROSConDemo
 {
-    class ROSConDemoModule : public AZ::Module
+    class ROSConDemoModule : public ROSConDemoModuleInterface
     {
     public:
-        AZ_RTTI(ROSConDemoModule, "{E38575E4-7D2F-4617-B938-416E8C1C07B4}", AZ::Module);
+        AZ_RTTI(ROSConDemoModule, "{E38575E4-7D2F-4617-B938-416E8C1C07B4}", ROSConDemoModuleInterface);
         AZ_CLASS_ALLOCATOR(ROSConDemoModule, AZ::SystemAllocator, 0);
-
-        ROSConDemoModule()
-            : AZ::Module()
-        {
-            m_descriptors.insert(
-                m_descriptors.end(),
-                { ROSConDemoSystemComponent::CreateDescriptor(),
-                  AppleKraken::ApplePickerComponent::CreateDescriptor(),
-                  AppleKraken::GatheringRowComponent::CreateDescriptor(),
-                  AppleKraken::KrakenEffectorComponent::CreateDescriptor(),
-                  AppleKraken::FruitStorageComponent::CreateDescriptor(),
-                  AppleKraken::DemoStatisticsComponent::CreateDescriptor(),
-                  AppleKraken::ManipulatorController::CreateDescriptor(),
-                  AppleKraken::FollowingCameraComponent::CreateDescriptor() });
-        }
-
-        AZ::ComponentTypeList GetRequiredSystemComponents() const override
-        {
-            return AZ::ComponentTypeList{
-                azrtti_typeid<ROSConDemoSystemComponent>(),
-            };
-        }
     };
 } // namespace ROSConDemo
 

+ 52 - 0
Project/Gem/Source/ROSConDemoModuleInterface.h

@@ -0,0 +1,52 @@
+/*
+ * Copyright (c) Contributors to the Open 3D Engine Project.
+ * For complete copyright and license terms please see the LICENSE at the root of this distribution.
+ *
+ * SPDX-License-Identifier: Apache-2.0 OR MIT
+ *
+ */
+#pragma once
+
+#include "ApplePicker/ApplePickerComponent.h"
+#include "ApplePicker/GatheringRowComponent.h"
+#include "ApplePicker/KrakenEffectorComponent.h"
+#include "DemoStatistics/DemoStatisticsComponent.h"
+#include "FruitStorage/FruitStorageComponent.h"
+#include "Manipulator/KrakenManipulatorController.h"
+#include "KrakenCamera/FollowingCameraComponent.h"
+#include "ROSConDemoSystemComponent.h"
+#include <AzCore/Memory/SystemAllocator.h>
+#include <AzCore/Module/Module.h>
+
+namespace ROSConDemo
+{
+    class ROSConDemoModuleInterface : public AZ::Module
+    {
+    public:
+        AZ_RTTI(ROSConDemoModuleInterface, "{bcfb7709-ca93-8b50-b9c4-caaf1853e479}", AZ::Module);
+        AZ_CLASS_ALLOCATOR(ROSConDemoModuleInterface, AZ::SystemAllocator);
+
+        ROSConDemoModuleInterface()
+        {
+            m_descriptors.insert(
+                m_descriptors.end(),
+                { ROSConDemoSystemComponent::CreateDescriptor(),
+                  AppleKraken::ApplePickerComponent::CreateDescriptor(),
+                  AppleKraken::GatheringRowComponent::CreateDescriptor(),
+                  AppleKraken::KrakenEffectorComponent::CreateDescriptor(),
+                  AppleKraken::FruitStorageComponent::CreateDescriptor(),
+                  AppleKraken::DemoStatisticsComponent::CreateDescriptor(),
+                  AppleKraken::ManipulatorController::CreateDescriptor(),
+                  AppleKraken::FollowingCameraComponent::CreateDescriptor(),
+                });
+        }
+
+        //! Add required SystemComponents to the SystemEntity.
+        AZ::ComponentTypeList GetRequiredSystemComponents() const override
+        {
+            return AZ::ComponentTypeList{
+                azrtti_typeid<ROSConDemoSystemComponent>(),
+            };
+        }
+    };
+} // namespace ROS2

+ 3 - 2
Project/Gem/Source/ROSConDemoSystemComponent.cpp

@@ -22,6 +22,7 @@ namespace ROSConDemo
 {
     void ROSConDemoSystemComponent::Reflect(AZ::ReflectContext* context)
     {
+
         if (AZ::SerializeContext* serialize = azrtti_cast<AZ::SerializeContext*>(context))
         {
             serialize->Class<ROSConDemoSystemComponent, AZ::Component>()->Version(0);
@@ -67,7 +68,7 @@ namespace ROSConDemo
         incompatible.push_back(AZ_CRC("ROSConDemoService"));
     }
 
-    void ROSConDemoSystemComponent::GetRequiredServices([[maybe_unused]] AZ::ComponentDescriptor::DependencyArrayType& required)
+    void ROSConDemoSystemComponent::GetRequiredServices(AZ::ComponentDescriptor::DependencyArrayType& required)
     {
     }
 
@@ -133,7 +134,7 @@ namespace ROSConDemo
     }
 
     void ROSConDemoSystemComponent::Activate()
-    {   // TODO - the service should probably only be created in Game Mode
+    {
         ROSConDemoRequestBus::Handler::BusConnect();
         auto ros2Node = ROS2::ROS2Interface::Get()->GetNode();
         m_pathPlanService = ros2Node->create_service<nav_msgs::srv::GetPlan>(

+ 9 - 0
Project/Gem/roscondemo_editor_files.cmake

@@ -0,0 +1,9 @@
+# Copyright (c) Contributors to the Open 3D Engine Project.
+# For complete copyright and license terms please see the LICENSE at the root of this distribution.
+#
+# SPDX-License-Identifier: Apache-2.0 OR MIT
+
+set(FILES
+    Source/ROSConDemoEditorSystemComponent.cpp
+    Source/ROSConDemoEditorSystemComponent.h
+)

+ 8 - 0
Project/Gem/roscondemo_editor_shared_files.cmake

@@ -0,0 +1,8 @@
+# Copyright (c) Contributors to the Open 3D Engine Project.
+# For complete copyright and license terms please see the LICENSE at the root of this distribution.
+#
+# SPDX-License-Identifier: Apache-2.0 OR MIT
+
+set(FILES
+    Source/ROSConDemoEditorModule.cpp
+)

+ 1 - 0
Project/Gem/roscondemo_files.cmake

@@ -25,6 +25,7 @@ set(FILES
         Source/Manipulator/KrakenManipulatorController.cpp
         Source/Manipulator/KrakenManipulatorController.h
         Source/Manipulator/ManipulatorRequestBus.h
+        Source/ROSConDemoModuleInterface.h
         Source/ROSConDemoSystemComponent.cpp
         Source/ROSConDemoSystemComponent.h
         enabled_gems.cmake

+ 56 - 48
Project/Levels/Main/Main.prefab

@@ -161,31 +161,33 @@
                     "Parent Entity": "Entity_[1146574390643]"
                 },
                 "Component_[16495365342755562265]": {
-                    "$type": "GenericComponentWrapper",
-                    "Id": 16495365342755562265,
-                    "m_template": {
-                        "$type": "ROS2SpawnerComponent",
-                        "Spawnables": {
-                            "apple_kraken": {
-                                "assetId": {
-                                    "guid": "{66F579B8-CE81-5D9B-9634-628E7E1CFFBE}",
-                                    "subId": 4113364385
-                                },
-                                "assetHint": "assets/kraken/apple_kraken_v2/apple_kraken_v2.spawnable"
-                            },
-                            "apple_kraken_rusty": {
-                                "assetId": {
-                                    "guid": "{46BA014E-E98D-5DAA-9716-BA37E8903E6C}",
-                                    "subId": 485449417
+                    "$type": "ROS2SpawnerEditorComponent",
+                    "Id": 11259578117255245776,
+                    "Controller": {
+                        "Configuration": {
+                            "Editor entity id": "",
+                            "Spawnables": {
+                                "apple_kraken": {
+                                    "assetId": {
+                                        "guid": "{66F579B8-CE81-5D9B-9634-628E7E1CFFBE}",
+                                        "subId": 4113364385
+                                    },
+                                    "assetHint": "assets/kraken/apple_kraken_v2/apple_kraken_v2.spawnable"
                                 },
-                                "assetHint": "assets/kraken/apple_kraken_v1/apple_kraken_v1.spawnable"
-                            },
-                            "apple_kraken_shiny": {
-                                "assetId": {
-                                    "guid": "{66F579B8-CE81-5D9B-9634-628E7E1CFFBE}",
-                                    "subId": 4113364385
+                                "apple_kraken_rusty": {
+                                    "assetId": {
+                                        "guid": "{46BA014E-E98D-5DAA-9716-BA37E8903E6C}",
+                                        "subId": 485449417
+                                    },
+                                    "assetHint": "assets/kraken/apple_kraken_v1/apple_kraken_v1.spawnable"
                                 },
-                                "assetHint": "assets/kraken/apple_kraken_v2/apple_kraken_v2.spawnable"
+                                "apple_kraken_shiny": {
+                                    "assetId": {
+                                        "guid": "{66F579B8-CE81-5D9B-9634-628E7E1CFFBE}",
+                                        "subId": 4113364385
+                                    },
+                                    "assetHint": "assets/kraken/apple_kraken_v2/apple_kraken_v2.spawnable"
+                                }
                             }
                         }
                     }
@@ -1250,11 +1252,12 @@
                     }
                 },
                 "Component_[8769373046366984691]": {
-                    "$type": "GenericComponentWrapper",
-                    "Id": 8769373046366984691,
-                    "m_template": {
-                        "$type": "ROS2SpawnPointComponent",
-                        "Name": "line1"
+                    "$type": "ROS2SpawnPointEditorComponent",
+                    "Id": 11018288690574626473,
+                    "Controller": {
+                        "Configuration": {
+                            "Name": "line1"
+                        }
                     }
                 },
                 "Component_[9470973296863097127]": {
@@ -5517,12 +5520,14 @@
                     "Id": 17503473695063282552
                 },
                 "Component_[2525712456180805096]": {
-                    "$type": "GenericComponentWrapper",
-                    "Id": 2525712456180805096,
-                    "m_template": {
-                        "$type": "ROS2SpawnPointComponent",
-                        "Name": "line2"
+                    "$type": "ROS2SpawnPointEditorComponent",
+                    "Id": 11018288690574626473,
+                    "Controller": {
+                        "Configuration": {
+                            "Name": "line2"
+                        }
                     }
+
                 },
                 "Component_[2840753425454738983]": {
                     "$type": "EditorLockComponent",
@@ -5605,11 +5610,12 @@
                     }
                 },
                 "Component_[6181205910092673585]": {
-                    "$type": "GenericComponentWrapper",
-                    "Id": 6181205910092673585,
-                    "m_template": {
-                        "$type": "ROS2SpawnPointComponent",
-                        "Name": "line3"
+                    "$type": "ROS2SpawnPointEditorComponent",
+                    "Id": 11018288690574626473,
+                    "Controller": {
+                        "Configuration": {
+                            "Name": "line3"
+                        }
                     }
                 },
                 "Component_[9470973296863097127]": {
@@ -5651,11 +5657,12 @@
                     "Id": 386129393972332621
                 },
                 "Component_[4775227584806477299]": {
-                    "$type": "GenericComponentWrapper",
-                    "Id": 4775227584806477299,
-                    "m_template": {
-                        "$type": "ROS2SpawnPointComponent",
-                        "Name": "line4"
+                    "$type": "ROS2SpawnPointEditorComponent",
+                    "Id": 11018288690574626473,
+                    "Controller": {
+                        "Configuration": {
+                            "Name": "line4"
+                        }
                     }
                 },
                 "Component_[523501923593589864]": {
@@ -5731,11 +5738,12 @@
                     }
                 },
                 "Component_[7157441797508480711]": {
-                    "$type": "GenericComponentWrapper",
-                    "Id": 7157441797508480711,
-                    "m_template": {
-                        "$type": "ROS2SpawnPointComponent",
-                        "Name": "line5"
+                    "$type": "ROS2SpawnPointEditorComponent",
+                    "Id": 11018288690574626473,
+                    "Controller": {
+                        "Configuration": {
+                            "Name": "line5"
+                        }
                     }
                 },
                 "Component_[9470973296863097127]": {

+ 4 - 0
Project/Registry/awscoreconfiguration.setreg

@@ -5,6 +5,10 @@
         {
             "ProfileName": "default",
             "ResourceMappingConfigFileName": "default_aws_resource_mappings.json"
+        },
+        "Physics":
+        {
+            "EnableReducedCoordinateArticulations": true
         }
     }
 }

+ 1 - 1
Project/project.json

@@ -20,5 +20,5 @@
     "gem_names": [
         "ROS2"
     ],
-    "engine_version": "1.0.0"
+    "engine_version": "2.1.0"
 }

Неке датотеке нису приказане због велике количине промена