コード例 #1
0
 // Token: 0x060006E8 RID: 1768 RVA: 0x000202E0 File Offset: 0x0001E4E0
 private void ApplyRenderSettingImp(LayerRenderSettingDesc renderSetting)
 {
     RenderSettings.ambientMode = renderSetting.enviornmentLighting.AmbientSource;
     if (renderSetting.enviornmentLighting.AmbientSource == AmbientMode.Skybox)
     {
         RenderSettings.skybox       = renderSetting.enviornmentLighting.SkyBox;
         RenderSettings.ambientLight = renderSetting.enviornmentLighting.AmbientColor;
     }
     else if (renderSetting.enviornmentLighting.AmbientSource == AmbientMode.Flat)
     {
         RenderSettings.skybox       = renderSetting.enviornmentLighting.SkyBox;
         RenderSettings.ambientLight = renderSetting.enviornmentLighting.AmbientColor;
     }
     RenderSettings.ambientIntensity = renderSetting.enviornmentLighting.AmbientIntensity;
     RenderSettings.fog      = renderSetting.fog.EnableFog;
     RenderSettings.fogMode  = renderSetting.fog.FogMode;
     RenderSettings.fogColor = renderSetting.fog.FogColor;
     if (renderSetting.fog.FogMode == FogMode.Linear)
     {
         RenderSettings.fogStartDistance = renderSetting.fog.FogStart;
         RenderSettings.fogEndDistance   = renderSetting.fog.FogEnd;
     }
     else
     {
         RenderSettings.fogDensity = renderSetting.fog.FogDensity;
     }
     DynamicGI.UpdateEnvironment();
 }
コード例 #2
0
        public bool Initlize(int designScreenWidth, int designScreenHeight, int trigerWidth2ShrinkScale, int trigerHeight2ShrinkScale, Vector3 layerOffset, bool enableLayerReserve = false, bool useOrthographicForUILayer = false)
        {
            global::Debug.Log("SceneManager.Initlize start");
            this.m_designScreenWidth        = designScreenWidth;
            this.m_designScreenHeight       = designScreenHeight;
            this.m_trigerWidth2ShrinkScale  = trigerWidth2ShrinkScale;
            this.m_trigerHeight2ShrinkScale = trigerHeight2ShrinkScale;
            this.m_layerOffset = layerOffset;
            this.m_useOrthographicForUILayer = useOrthographicForUILayer;
            this.m_enableLayerReserve        = enableLayerReserve;
            if (!this.CreateSceneRoot())
            {
                global::Debug.LogError("SceneManager.Initlize CreateSceneRoot fail");
                return(false);
            }
            this.m_uiLayerRootPrefab = Resources.Load <GameObject>(SceneManager.m_uiLayerRootAssetPath);
            this.m_3DLayerRootPrefab = Resources.Load <GameObject>(SceneManager.m_3DLayerRootAssetPath);
            if (this.m_uiLayerRootPrefab == null || this.m_3DLayerRootPrefab == null)
            {
                global::Debug.LogError("SceneManager.Initlize m_uiLayerRootPrefab == null || m_3DLayerRootPrefab == null");
                return(false);
            }
            LayerRenderSettingDesc defaultRenderSetting = this.GetDefaultRenderSetting();

            if (defaultRenderSetting == null)
            {
                global::Debug.LogError("SceneManager.Initlize GetDefaultRenderSetting fail");
                return(false);
            }
            this.ApplyRenderSetting(defaultRenderSetting);
            return(true);
        }
コード例 #3
0
 // Token: 0x060006E5 RID: 1765 RVA: 0x000202A0 File Offset: 0x0001E4A0
 private void ApplyRenderSetting(LayerRenderSettingDesc renderSetting)
 {
     if (this.m_currRenderSetting == renderSetting)
     {
         return;
     }
     this.m_currRenderSetting = renderSetting;
     this.ApplyRenderSettingImp(this.m_currRenderSetting);
 }
コード例 #4
0
        // Token: 0x060006E4 RID: 1764 RVA: 0x00020260 File Offset: 0x0001E460
        private LayerRenderSettingDesc GetDefaultRenderSetting()
        {
            if (this.m_defaultRenderSetting != null)
            {
                return(this.m_defaultRenderSetting);
            }
            LayerRenderSettingDesc componentInChildren = this.m_sceneRootGo.GetComponentInChildren <LayerRenderSettingDesc>(true);

            this.m_defaultRenderSetting = componentInChildren;
            return(this.m_defaultRenderSetting);
        }
コード例 #5
0
 // Token: 0x060006BD RID: 1725 RVA: 0x0001EF64 File Offset: 0x0001D164
 public void CopyFrom(LayerRenderSettingDesc target)
 {
     this.enviornmentLighting                  = new LayerRenderSettingDesc.EnviornmentLighting();
     this.enviornmentLighting.SkyBox           = target.enviornmentLighting.SkyBox;
     this.enviornmentLighting.AmbientSource    = target.enviornmentLighting.AmbientSource;
     this.enviornmentLighting.AmbientIntensity = target.enviornmentLighting.AmbientIntensity;
     this.enviornmentLighting.SkyColor         = target.enviornmentLighting.SkyColor;
     this.enviornmentLighting.EquatorColor     = target.enviornmentLighting.EquatorColor;
     this.enviornmentLighting.GroundColor      = target.enviornmentLighting.GroundColor;
     this.enviornmentLighting.AmbientColor     = target.enviornmentLighting.AmbientColor;
     this.fog            = new LayerRenderSettingDesc.Fog();
     this.fog.EnableFog  = target.fog.EnableFog;
     this.fog.FogColor   = target.fog.FogColor;
     this.fog.FogMode    = target.fog.FogMode;
     this.fog.FogStart   = target.fog.FogStart;
     this.fog.FogEnd     = target.fog.FogEnd;
     this.fog.FogDensity = target.fog.FogDensity;
 }
コード例 #6
0
        // Token: 0x060006E2 RID: 1762 RVA: 0x0001FEB8 File Offset: 0x0001E0B8
        private void UpdateLayerStack()
        {
            if (!this.m_stackDirty)
            {
                return;
            }
            this.m_stackDirty = false;
            this.SortLayerStack(this.m_layerStack);
            bool            flag            = false;
            int             num             = SceneManager.m_cameraDepthMax;
            Vector3         vector          = Vector3.zero;
            UnitySceneLayer unitySceneLayer = null;

            this.m_uiSceneGroup2RootCanvasGo.SetActive(false);
            for (int i = this.m_layerStack.Count - 1; i >= 0; i--)
            {
                SceneLayerBase sceneLayerBase = this.m_layerStack[i];
                if (sceneLayerBase.GetType() == typeof(UISceneLayer))
                {
                    if (!flag)
                    {
                        sceneLayerBase.gameObject.transform.SetParent(this.m_uiSceneGroup1RootCanvasGo.transform, false);
                        sceneLayerBase.gameObject.transform.localPosition = Vector3.zero;
                        sceneLayerBase.gameObject.transform.localScale    = Vector3.one;
                        sceneLayerBase.gameObject.transform.SetAsFirstSibling();
                        sceneLayerBase.LayerCamera.depth = (float)num;
                    }
                    else
                    {
                        if (!this.m_uiSceneGroup2RootCanvasGo.activeSelf)
                        {
                            this.m_uiSceneGroup2RootCanvasGo.SetActive(true);
                        }
                        sceneLayerBase.gameObject.transform.SetParent(this.m_uiSceneGroup2RootCanvasGo.transform, false);
                        sceneLayerBase.gameObject.transform.localPosition = Vector3.zero;
                        sceneLayerBase.gameObject.transform.SetAsFirstSibling();
                        sceneLayerBase.LayerCamera.depth = (float)num;
                    }
                }
                else if (sceneLayerBase.GetType() == typeof(ThreeDSceneLayer))
                {
                    sceneLayerBase.gameObject.transform.SetParent(this.m_3DSceneRootGo.transform, false);
                    sceneLayerBase.gameObject.transform.localPosition = vector;
                    vector += this.m_layerOffset;
                    sceneLayerBase.LayerCamera.depth = (float)(--num);
                    num--;
                    MonoBehaviour monoBehaviour = sceneLayerBase.LayerCamera.gameObject.GetComponent("UnityStandardAssets.ImageEffects.BlurOptimized") as MonoBehaviour;
                    if (monoBehaviour != null)
                    {
                        monoBehaviour.enabled = this.m_is3DLayerBlurActive;
                    }
                    flag = true;
                }
                else
                {
                    unitySceneLayer = ((!(unitySceneLayer == null)) ? unitySceneLayer : ((UnitySceneLayer)sceneLayerBase));
                    sceneLayerBase.LayerCamera.depth = (float)(--num);
                    num--;
                    flag = true;
                }
            }
            bool flag2 = false;
            LayerRenderSettingDesc layerRenderSettingDesc = null;

            for (int j = this.m_layerStack.Count - 1; j >= 0; j--)
            {
                SceneLayerBase sceneLayerBase2 = this.m_layerStack[j];
                layerRenderSettingDesc = ((!(layerRenderSettingDesc == null)) ? layerRenderSettingDesc : sceneLayerBase2.GetRenderSetting());
                if (!flag2)
                {
                    sceneLayerBase2.gameObject.SetActive(true);
                }
                else
                {
                    sceneLayerBase2.gameObject.SetActive(false);
                }
                if (sceneLayerBase2.IsOpaque() && sceneLayerBase2.IsFullScreen())
                {
                    flag2 = true;
                }
            }
            if (layerRenderSettingDesc == null)
            {
                layerRenderSettingDesc = this.GetDefaultRenderSetting();
            }
            if (unitySceneLayer != null)
            {
                if (SceneManager.GetActiveScene() != unitySceneLayer.Scene)
                {
                    SceneManager.SetActiveScene(unitySceneLayer.Scene);
                }
            }
            else
            {
                this.ApplyRenderSetting(layerRenderSettingDesc);
            }
        }