public void SetParentChangedIntoAllChildren()
        {
            int child_num = this.gameObject.transform.childCount;

            for (int i = 0; i < child_num; i++)
            {
                Transform child = this.gameObject.transform.GetChild(i);
                if (child.GetComponent <Activation>())
                {
                    Activation c = child.GetComponent <Activation>();
                    c.SetParentChanged(1);
                }
            }
        }
        void Update()
        {
            if (!connection)
            {
                return;
            }

            int parentupdate = activation.GetParentChanged();
            int paramupdate  = activation.GetParameterChanged();
            int update       = parentupdate + paramupdate;

            if (update != 0)
            {
                if (!IsDataLoadedToParent())
                {
                    return;
                }

                // turn off flag until data loading is complete
                df.dataLoaded = false;

                if (paramupdate == 1)
                {
                    SetParameters();
                }
                if (parentupdate == 1)
                {
                    ReSetParameters();
                    ResetUICore();
                }
                GetParameters();
                if (BodyFunc() == 1)
                {
                    // turn on flag when data loading is complete
                    df.dataLoaded = true;
                    SetParentChangedIntoAllChildren();
                }
                else
                {
                    // error
//					Debug.Log("ERROR: in filter module func");
                }
                activation.SetParameterChanged(0);
                activation.SetParentChanged(0);
            }
        }
        void Update()
        {
            if (!connection)
            {
                return;
            }

/*
 *                      if (!connection)
 *                      {
 *                              if (!CheckConnection()) return;
 *                      }
 */
            int parentupdate = activation.GetParentChanged();
            int paramupdate  = activation.GetParameterChanged();
            int update       = parentupdate + paramupdate;

            if (update != 0)
            {
                if (!IsDataLoadedToParent())
                {
                    return;
                }

                if (paramupdate == 1)
                {
                    SetParameters();
                }
                if (parentupdate == 1)
                {
                    ReSetParameters();
                    ResetUICore();
                }
                GetParameters();
                if (BodyFunc() != 1)
                {
                    Debug.Log("ERROR: in mapper module func");
                }
                activation.SetParameterChanged(0);
                activation.SetParentChanged(0);
            }
            IdleFunc();
        }