//to all public void ReceivePowerUpdate(bool _isPowered) { if (isOrigin) { if (isPowered) { SystemScript _sysScr = sysScr.GetOriginObj().GetComponent <SystemScript>(); _sysScr.UpdatePowerState(false); } else { if (!hScr.IsFullyDamaged) { if (pwrMngr.EnoughPower(fullPwrReq)) { //try power up SystemScript _sysScr = sysScr.GetOriginObj().GetComponent <SystemScript>(); _sysScr.UpdatePowerState(true); } else { Debug.LogError("not enough power"); } } } } else { originTeleporterScr.ReceivePowerUpdate(_isPowered); } }