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); }
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); } } }
void Awake() { Instance = this; }