void UpdateObjectAttribute(ConstellationParameter attribute, int attributeId)
    {
#pragma warning disable 0618
        Object newObject = (EditorGUILayout.ObjectField(ConstellationComponent.Parameters[attributeId].Name, attribute.UnityObject, typeof(Object)));

#pragma warning disable CS0253 // Possible unintended reference comparison; right hand side needs cast
        if (newObject != attribute.Variable.GetObject())
#pragma warning restore CS0253 // Possible unintended reference comparison; right hand side needs cast
        {
            if (!Application.isPlaying)
            {
                var scene = EditorSceneManager.GetActiveScene();
                EditorSceneManager.MarkSceneDirty(scene);
            }
            attribute.UnityObject = newObject;
            attribute.Variable.Set(newObject);
            if (ConstellationComponent.constellation != null)
            {
                Node <INode> nodeToUpdate = ConstellationComponent.constellation.GetNodeByGUID(attribute.NodeGUID);
                if (nodeToUpdate != null && isSetup)
                {
                    nodeToUpdate.Receive(attribute.Variable, null);
                }
            }
        }
#pragma warning restore 0618
    }
    void UpdateWordAttribute(ConstellationParameter attribute, int attributeId)
    {
        var newString = EditorGUILayout.TextField(ConstellationComponent.Parameters[attributeId].Name, ConstellationComponent.Parameters[attributeId].Variable.GetString());

        if (newString != attribute.Variable.GetString())
        {
            if (!Application.isPlaying)
            {
                var scene = EditorSceneManager.GetActiveScene();
                EditorSceneManager.MarkSceneDirty(scene);
            }
            attribute.Variable.Set(newString);
            if (ConstellationComponent.constellation != null)
            {
                Node <INode> nodeToUpdate = ConstellationComponent.constellation.GetNodeByGUID(attribute.NodeGUID);
                if (nodeToUpdate != null && isSetup)
                {
                    nodeToUpdate.Receive(attribute.Variable, null);
                }
            }
        }
    }