public override void OnDataSetted()
    {
        UserVariableHierarchyData uhd = (UserVariableHierarchyData)data;

        if (data != null)
        {
            contextMenu = uhd.contextMenu;

            if (uhd.data.GetType().IsNumber())
            {
                property.SetData(uhd.data, data.name, GUIProperty.PropertyType.Number);
            }
            else if (uhd.data.GetType().IsBool())
            {
                property.SetData(uhd.data, data.name, GUIProperty.PropertyType.Boolean);
            }
            else
            {
                property.SetData(uhd.data, data.name, GUIProperty.PropertyType.String);
            }

            property.OnValueChanged.RemoveAllListeners();
            property.OnValueChanged.AddListener(SetUserVariable);
        }
    }