// Token: 0x06003916 RID: 14614 RVA: 0x000CA524 File Offset: 0x000C8724 public virtual void RenderDeployPreview(Vector3 point, Quaternion rot, global::TransCarrier carrier) { if (this._aimGizmo != null) { this._aimGizmo.rotation = rot; this._aimGizmo.position = point; } if (this._prefabRenderer == null) { T datablock = this.datablock; global::DeployableObject objectToPlace = datablock.ObjectToPlace; if (!objectToPlace) { return; } this._prefabRenderer = global::PrefabRenderer.GetOrCreateRender(objectToPlace.gameObject); } Material overrideMat = this.datablock.overrideMat; if (overrideMat) { global::PrefabRenderer prefabRenderer = this._prefabRenderer; Camera camera = global::MountedCamera.main.camera; T datablock2 = this.datablock; prefabRenderer.RenderOneMaterial(camera, Matrix4x4.TRS(point, rot, datablock2.ObjectToPlace.transform.localScale), this._aimGizmo.propertyBlock, overrideMat); } else { global::PrefabRenderer prefabRenderer2 = this._prefabRenderer; Camera camera2 = global::MountedCamera.main.camera; T datablock3 = this.datablock; prefabRenderer2.Render(camera2, Matrix4x4.TRS(point, rot, datablock3.ObjectToPlace.transform.localScale), this._aimGizmo.propertyBlock, null); } if (this._aimGizmo != null) { bool flag = false; if (carrier) { Renderer renderer = carrier.renderer; if (renderer is MeshRenderer && renderer && renderer.enabled) { flag = true; this._aimGizmo.carrierRenderer = (MeshRenderer)renderer; } } if (!flag) { this._aimGizmo.carrierRenderer = null; } } }
// Token: 0x06003BFC RID: 15356 RVA: 0x000D60EC File Offset: 0x000D42EC public static global::PrefabRenderer GetOrCreateRender(GameObject prefab) { if (!prefab) { return(null); } while (prefab.transform.parent) { prefab = prefab.transform.parent.gameObject; } int instanceID = prefab.GetInstanceID(); object @lock = global::PrefabRenderer.Runtime.Lock; global::PrefabRenderer prefabRenderer; bool flag; lock (@lock) { WeakReference weakReference; if (global::PrefabRenderer.Runtime.Register.TryGetValue(instanceID, out weakReference)) { prefabRenderer = (global::PrefabRenderer)weakReference.Target; } else { prefabRenderer = null; } flag = (prefabRenderer != null); if (!flag) { prefabRenderer = new global::PrefabRenderer(instanceID); } } if (!flag) { prefabRenderer.prefab = prefab; prefabRenderer.Refresh(); } return(prefabRenderer); }