//to all
    public void ReceivePowerUpdate(bool _isPowered)
    {
        if (isOrigin)
        {
            if (isPowered)
            {
                SystemScript _sysScr = sysScr.GetOriginObj().GetComponent <SystemScript> ();
                _sysScr.UpdatePowerState(false);
            }
            else
            {
                if (!hScr.IsFullyDamaged)
                {
                    //Debug.Log ("req: " + powerReq);
                    //Debug.Log ("full req: " + originShldSys.fullPwrReq);

                    if (pwrMngr.EnoughPower(fullPwrReq))
                    {
                        //try power up
                        SystemScript _sysScr = sysScr.GetOriginObj().GetComponent <SystemScript> ();
                        _sysScr.UpdatePowerState(true);

                        //pwrMngr.PowerDistribution (systemType, powerReq, this);
                        //isPowered = true;
                    }
                    else
                    {
                        Debug.Log("not enough power");
                    }
                }
            }
        }
        else
        {
            originShldSys.ReceivePowerUpdate(_isPowered);
        }

        //SystemScript _sysScr = systemScr.GetOriginObj ().GetComponent <SystemScript> ();
        //_sysScr.UpdatePowerState (_isPowered);
    }