//----------------------------------------------------------------------------------
        public void ApplyEffectScope()
        {
            Transform effectTr       = Data.transform.parent;
            Transform effectTrParent = effectTr.parent;

            CNGroup.CARONTEFX_SCOPE scope = Data.CaronteFX_scope;

            ClearField();

            switch (scope)
            {
            case CNGroup.CARONTEFX_SCOPE.CARONTEFX_GAMEOBJECT:
            {
                GameObject[] arrGameObject = effectTr.gameObject.GetAllChildObjects(true);
                AddGameObjects(arrGameObject, false);
                break;
            }

            case CNGroup.CARONTEFX_SCOPE.CARONTEFX_GAMEOBJECT_PARENT:
            {
                if (effectTrParent != null)
                {
                    GameObject[] arrGameObject = effectTrParent.gameObject.GetAllChildObjects(true);
                    AddGameObjects(arrGameObject, false);
                }
                else
                {
                    AddWildcard("*", false);
                }
                break;
            }

            case CNGroup.CARONTEFX_SCOPE.SCENE:
            {
                AddWildcard("*", false);
                break;
            }

            default:
                break;
            }

            EditorUtility.SetDirty(Data);
        }
 //----------------------------------------------------------------------------------
 protected void ChangeScope(CNGroup.CARONTEFX_SCOPE scope)
 {
     Data.CaronteFX_scope = scope;
     ApplyEffectScope();
     cnHierarchy.RecalculateFieldsDueToUserAction();
 }