/* ///////////////////////////////////////////////////////////////////////////////////////////////// DisableRenderers v1 by MacGruber. License: CC-BY //////////////////////////////////////////////////////////////////////////////////////////////////*/ using UnityEngine; public class DisableRenderers : MVRScript { private CustomUnityAssetLoader myCUA; private Transform myCUARoot; public override void Init() { myCUA = containingAtom.GetStorableByID("asset") as CustomUnityAssetLoader; myCUARoot = containingAtom.reParentObject?.Find("object/rescaleObject"); if (myCUA != null) myCUA.RegisterAssetLoadedCallback(OnAssetLoadedCallback); if (enabled) OnEnable(); else OnDisable(); } private void OnDestroy() { if (myCUA != null) myCUA.DeregisterAssetLoadedCallback(OnAssetLoadedCallback); } private void OnDisable() { if (myCUA != null) UpdateRenderers(true); } private void OnEnable() { if (myCUA != null) UpdateRenderers(false); } private void OnAssetLoadedCallback() { UpdateRenderers(false); } private void UpdateRenderers(bool doEnable) { if (myCUARoot != null) { Renderer[] renderers = myCUARoot.GetComponentsInChildren(true); for (int i=0; i