Exemplo n.º 1
0
        private GameObject CreatePlayer(GameObject playerPrefab, Vector3 position, out GameObject playerCamera)
        {
            var player = (GameObject)GameObject.Instantiate(playerPrefab);

            player.name = "Player";
            player.transform.position = position;

            playerTransform  = player.GetComponent <Transform>();
            playerCamera     = player.GetComponentInChildren <Camera>().gameObject;
            playerComponent  = player.GetComponent <PlayerComponent>();
            playerInventory  = player.GetComponent <PlayerInventory>();
            underwaterEffect = playerCamera.GetComponent <UnderwaterEffect>();

            return(player);
        }
Exemplo n.º 2
0
    public void OnWillRenderObject()
    {
        Camera cam = Camera.current;

        if (IsUnderwater(cam))
        {
            if (Camera.main == cam && !cam.gameObject.GetComponent(typeof(UnderwaterEffect)))
            {
                cam.gameObject.AddComponent(typeof(UnderwaterEffect));
            }

            UnderwaterEffect effect = (UnderwaterEffect)cam.gameObject.GetComponent(typeof(UnderwaterEffect));
            if (effect)
            {
                effect.enabled = true;
            }

            //Ok some HACK's here
            GetComponent <Renderer>().sharedMaterial.shader.maximumLOD = 50;


            if (!wasUnderwater)
            {
                wasUnderwater = true;

                //Change fog a little
                RenderSettings.fogDensity = waterFogDensity;
                RenderSettings.fogColor   = underwaterFogColor;

                //Change reflection mode
                WaterMirrorReflection reflScript = (WaterMirrorReflection)GetComponent(typeof(WaterMirrorReflection));
                reflScript.m_BackSide = true;

                //Enable caustic
                //underwaterStuff.SetActiveRecursively(true);

                //Enable bubbles
                waterBubblesMat.SetVector("_TintColor", mUnderWaterBubblesColor);
            }
        }
        else
        {
            UnderwaterEffect effect = (UnderwaterEffect)cam.gameObject.GetComponent(typeof(UnderwaterEffect));
            if (effect && effect.enabled)
            {
                effect.enabled = false;
            }

            //Ok some HACK's here
            GetComponent <Renderer>().sharedMaterial.shader.maximumLOD = 100;

            if (wasUnderwater)
            {
                //Change fog a little
                RenderSettings.fogDensity = skyFogDensity;
                RenderSettings.fogColor   = envFogColor;
                wasUnderwater             = false;

                //Change reflection mode
                WaterMirrorReflection reflScript = (WaterMirrorReflection)GetComponent(typeof(WaterMirrorReflection));
                reflScript.m_BackSide = false;

                //Disable caustic
                //underwaterStuff.SetActiveRecursively(false);

                //Disable bubbles
                waterBubblesMat.SetVector("_TintColor", mUpWaterBubblesColor);
            }
        }
    }
Exemplo n.º 3
0
 void Awake()
 {
     Instance = this;
 }
Exemplo n.º 4
0
 void Awake()
 {
     Instance = this;
 }