// Token: 0x06000E6F RID: 3695 RVA: 0x000402DC File Offset: 0x0003E4DC
        public void RenderItem(GameObject obj, RenderTexture targetTexture)
        {
            for (int i = 0; i < this.lights.Count; i++)
            {
                this.lights[i].cullingMask = LayerIndex.manualRender.mask;
            }
            RenderSettingsState renderSettingsState = RenderSettingsState.FromCurrent();

            this.renderSettings.Apply();
            List <ModelCamera.ObjectRestoreInfo> list = new List <ModelCamera.ObjectRestoreInfo>();

            if (obj)
            {
                ModelCamera.PrepareObjectForRendering(obj.transform, list);
            }
            this.attachedCamera.targetTexture = targetTexture;
            this.attachedCamera.Render();
            for (int j = 0; j < list.Count; j++)
            {
                list[j].obj.layer = list[j].layer;
            }
            for (int k = 0; k < this.lights.Count; k++)
            {
                this.lights[k].cullingMask = 0;
            }
            renderSettingsState.Apply();
        }
 // Token: 0x06000E6A RID: 3690 RVA: 0x000401FE File Offset: 0x0003E3FE
 private void OnDisable()
 {
     if (ModelCamera.instance == this)
     {
         ModelCamera.instance = null;
     }
 }
 // Token: 0x06000E69 RID: 3689 RVA: 0x000401BE File Offset: 0x0003E3BE
 private void OnEnable()
 {
     if (ModelCamera.instance && ModelCamera.instance != this)
     {
         Debug.LogErrorFormat("Only one {0} instance can be active at a time.", new object[]
         {
             base.GetType().Name
         });
         return;
     }
     ModelCamera.instance = this;
 }
        // Token: 0x06000E6E RID: 3694 RVA: 0x00040274 File Offset: 0x0003E474
        private static void PrepareObjectForRendering(Transform objTransform, List <ModelCamera.ObjectRestoreInfo> objectRestorationList)
        {
            GameObject gameObject = objTransform.gameObject;

            objectRestorationList.Add(new ModelCamera.ObjectRestoreInfo
            {
                obj   = gameObject,
                layer = gameObject.layer
            });
            gameObject.layer = LayerIndex.manualRender.intVal;
            int childCount = objTransform.childCount;

            for (int i = 0; i < childCount; i++)
            {
                ModelCamera.PrepareObjectForRendering(objTransform.GetChild(i), objectRestorationList);
            }
        }