Beispiel #1
0
        private void SetHeroFunc()
        {
            //Debug.Log("-------------------call SetHeroFunc2");
            LightFaceEffect lf = GameObject.FindObjectOfType <LightFaceEffect>();

            if (lf != null)
            {
                //Debug.Log("----------------set hero func lfe.lookattarget = " + Hero.GameObject.GetHashCode());
                lf.LookAtTarget = Hero.GameObject.transform;
            }

            MainLightFace mlf = GameObject.FindObjectOfType <MainLightFace>();

            if (mlf != null)
            {
                mlf.target = Hero.GameObject.transform;
            }
            GOERoot.GOECamera.LookAt(Hero);

            GOESceneCameraTransitionAreaMgr areaMgr = GetComponent <GOESceneCameraTransitionAreaMgr>() as GOESceneCameraTransitionAreaMgr;

            areaMgr.SetHero(Hero.GameObject.transform);

            TerrainBehaviour terrain = GameObject.FindObjectOfType <TerrainBehaviour>() as TerrainBehaviour;

            if (terrain != null)
            {
                //Debug.Log("------------set hero func terrainbehavior.mhro = " + Hero.GameObject.GetHashCode());
                terrain.Hero = Hero.GameObject.transform;
            }
            else
            {
                //Debug.Log("-------------set hero func terrainbehavior = null");
            }
        }
Beispiel #2
0
        public void SetLight(float light)
        {
            LightFaceEffect lfe = GetLightFaceEffect();

            if (lfe != null)
            {
                //lfe.Light = light;
            }
        }
        /// <summary>
        /// 低配
        /// </summary>
        public void LowQuality()
        {
            mQuality = QualityType.Low;
            LightFaceEffect lfe = GameObject.FindObjectOfType <LightFaceEffect>() as LightFaceEffect;

            if (lfe != null)
            {
                lfe.LightEffectEnable = false;
                lfe.GlowEnable        = false;
                lfe.TerrainXQulity    = TerrainXQualityLevel.Low;
            }
        }
        /// <summary>
        /// 高配
        /// </summary>
        public void HeightQuality()
        {
            mQuality = QualityType.Height;
            LightFaceEffect lfe = GameObject.FindObjectOfType <LightFaceEffect>() as LightFaceEffect;

            if (lfe != null)
            {
                try
                {
                    lfe.LightEffectEnable = true;
                    lfe.GlowEnable        = true;
                    lfe.TerrainXQulity    = TerrainXQualityLevel.High;
                }
                catch (Exception ex)
                {
                    Debug.LogError(ex.ToString());
                }
            }
        }
        public void EnterScene()
        {
            if (this._camera != null)
            {
                UnityEngine.Object.Destroy(this._camera.gameObject);
            }

            Camera cam = Camera.main;

            if (cam == null)
            {
                cam = CreateDefCamera();
            }


            int tempLayer = 0;

            tempLayer |= 1 << LayerDef.COLLIDER;

            tempLayer |= 1 << LayerDef.Walk_Surface;
            tempLayer |= 1 << LayerDef.LIGHT_FACE;
            tempLayer |= 1 << LayerDef.UI;
            tempLayer |= 1 << LayerDef._3DUI;
            tempLayer |= 1 << LayerDef.UIMODEL;

            cam.cullingMask = ~tempLayer;

            UnityEngine.Object.DontDestroyOnLoad(cam.gameObject);
            if (_camera != cam)
            {
                this._camera = cam;
                if (OnMainCameraReseted != null)
                {
                    OnMainCameraReseted(_camera);
                }
            }
            _cameraControl = _camera.gameObject.GetComponent <CameraControl>() as CameraControl;
            if (_lightFaceEffect)
            {
                _lightFaceEffect.RemoveImageEffect(OnRenderPostEffect);
            }
            if (postEffects != null)
            {
                foreach (var i in postEffects)
                {
                    i.Dispose();
                }
                postEffects.Clear();
            }
            _lightFaceEffect = _camera.gameObject.GetComponent <LightFaceEffect>() as LightFaceEffect;
            if (_lightFaceEffect)
            {
                _lightFaceEffect.AddImageEffect(OnRenderPostEffect);
            }

            GOECameraComponent comp;

            for (int i = 0; i < mListComponent.Count; i++)
            {
                comp = mListComponent[i] as GOECameraComponent;
                comp.EnterScene();
            }


            this._camera.depthTextureMode |= DepthTextureMode.None;

            if (GOERoot.SceneImp.Hero != null && GOERoot.SceneImp.Hero.ResStatus == ResStatus.OK)
            {
                LookAt(GOERoot.SceneImp.Hero);
            }
        }