示例#1
0
 private void Update()
 {
     if ((this.prefabRendering != this.prefab) || !this.oi)
     {
         if (this.prefabRendering != null)
         {
             this.renderer = null;
         }
         if (this.prefab != null)
         {
             this.renderer = PrefabRenderer.GetOrCreateRender(this.prefab);
         }
         this.prefabRendering = this.prefab;
         this.oi = true;
         this.ApplyOverrides();
     }
     if (this.renderer == null)
     {
         Debug.Log("None", this);
     }
     else
     {
         this.renderer.Render(null, base.transform.localToWorldMatrix, null, this.overrideMaterials);
     }
 }
示例#2
0
    public virtual void RenderDeployPreview(Vector3 point, Quaternion rot, TransCarrier carrier)
    {
        if (this._aimGizmo != null)
        {
            this._aimGizmo.rotation = rot;
            this._aimGizmo.position = point;
        }
        if (this._prefabRenderer == null)
        {
            DeployableObject objectToPlace = this.datablock.ObjectToPlace;
            if (!objectToPlace)
            {
                return;
            }
            this._prefabRenderer = PrefabRenderer.GetOrCreateRender(objectToPlace.gameObject);
        }
        Material material = (T)this.datablock.overrideMat;

        if (!material)
        {
            PrefabRenderer prefabRenderer = this._prefabRenderer;
            Camera         camera         = MountedCamera.main.camera;
            T t = this.datablock;
            prefabRenderer.Render(camera, Matrix4x4.TRS(point, rot, t.ObjectToPlace.transform.localScale), this._aimGizmo.propertyBlock, null);
        }
        else
        {
            PrefabRenderer prefabRenderer1 = this._prefabRenderer;
            Camera         camera1         = MountedCamera.main.camera;
            T t1 = this.datablock;
            prefabRenderer1.RenderOneMaterial(camera1, Matrix4x4.TRS(point, rot, t1.ObjectToPlace.transform.localScale), this._aimGizmo.propertyBlock, material);
        }
        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;
            }
        }
    }
示例#3
0
    public virtual void RenderDeployPreview(Vector3 point, Quaternion rot, TransCarrier carrier)
    {
        if (this._aimGizmo != null)
        {
            this._aimGizmo.rotation = rot;
            this._aimGizmo.position = point;
        }
        if (this._prefabRenderer == null)
        {
            DeployableObject objectToPlace = base.datablock.ObjectToPlace;
            if (objectToPlace == null)
            {
                return;
            }
            this._prefabRenderer = PrefabRenderer.GetOrCreateRender(objectToPlace.gameObject);
        }
        Material overrideMat = base.datablock.overrideMat;

        if (overrideMat != null)
        {
            this._prefabRenderer.RenderOneMaterial(MountedCamera.main.camera, Matrix4x4.TRS(point, rot, base.datablock.ObjectToPlace.transform.localScale), this._aimGizmo.propertyBlock, overrideMat);
        }
        else
        {
            this._prefabRenderer.Render(MountedCamera.main.camera, Matrix4x4.TRS(point, rot, base.datablock.ObjectToPlace.transform.localScale), this._aimGizmo.propertyBlock, null);
        }
        if (this._aimGizmo != null)
        {
            bool flag = false;
            if (carrier != null)
            {
                Renderer renderer = carrier.renderer;
                if (((renderer is MeshRenderer) && (renderer != null)) && renderer.enabled)
                {
                    flag = true;
                    this._aimGizmo.carrierRenderer = (MeshRenderer)renderer;
                }
            }
            if (!flag)
            {
                this._aimGizmo.carrierRenderer = null;
            }
        }
    }
示例#4
0
    public virtual void RenderDeployPreview(Vector3 point, Quaternion rot)
    {
        if (this._prefabRenderer == null)
        {
            StructureComponent structureToPlacePrefab = base.datablock.structureToPlacePrefab;
            if (structureToPlacePrefab == null)
            {
                return;
            }
            this._prefabRenderer = PrefabRenderer.GetOrCreateRender(structureToPlacePrefab.gameObject);
            this._materialProps  = new MaterialPropertyBlock();
        }
        Material overrideMat = base.datablock.overrideMat;

        if (overrideMat != null)
        {
            this._prefabRenderer.RenderOneMaterial(MountedCamera.main.camera, Matrix4x4.TRS(point, rot, Vector3.one), this._materialProps, overrideMat);
        }
        else
        {
            this._prefabRenderer.Render(MountedCamera.main.camera, Matrix4x4.TRS(point, rot, Vector3.one), this._materialProps, null);
        }
    }