// Update is called once per frame void Update() { //open water gate automatically if (this.transform.localPosition.y > 72.30476f) { timer += 0.01f + 0.005f * Time.deltaTime; this.transform.localPosition = Vector3.Lerp(begin, target, timer); } // constrain lake2 if (watergate2.transform.localPosition.y > -2.2) { lake2.GetComponent <WaterProperties>().currentVolume = 0; } else { Boat2.GetComponent <BoatFloatOnWater>().wp = lake2.GetComponent <WaterProperties>(); //Boat2.GetComponent<BoatFloatOnWater>().offset=4f; } //waterfall sha if (this.transform.localPosition.x < -159f && w1.currentVolume > 0.0f) { waterfallProgress = Mathf.Clamp(waterfallProgress + 0.007f, 0, 1); float waterfallX = Mathf.Lerp(-32, -37, waterfallProgress); float waterfallScale = Mathf.Lerp(0, 500, waterfallProgress); waterfall.transform.position = new Vector3(waterfallX, waterfall.transform.position.y, waterfall.transform.position.z); waterfall.transform.localScale = new Vector3(waterfallScale, waterfall.transform.localScale.y, waterfall.transform.localScale.z); lake2_cover.SetActive(false); //destroyCoverSound.SetActive(true); waterFallSound.SetActive(true); //w2.Fill(2); w1.Drain(2); //Instantiate(waterfall,waterflowposition2.transform.position,waterflowposition2.transform.rotation); Invoke("InsWater", 1.5f); Invoke("WaterFade", 4.0f); //waterFallSound.SetActive(false); } if (waterFade) { waterFadeProgress = Mathf.Clamp(waterFadeProgress - 0.01f, 0, 1); float waterfallScale = Mathf.Lerp(0, 500, waterFadeProgress); waterfall.transform.localScale = new Vector3(waterfallScale, waterfall.transform.localScale.y, waterfall.transform.localScale.z); } }
// Update is called once per frame void Update() { e.waterStored = 2f; waterLevel = well.GetActualHeight(); if (playRaiseSound) { firebase2RaiseSound.SetActive(true); } if (playRaiseSound == false) { firebase2RaiseSound.SetActive(false); } if (playDropSound) { firebase2DropSound.SetActive(true); } if (playDropSound == false) { firebase2DropSound.SetActive(false); } if (firebase2.transform.position.y < waterLevel) { L2.waterputsFireOut(); } if (raise_firebase2) { if (firebase2.transform.localPosition.y < 12.0f) { firebase2.transform.localPosition += new Vector3(0, -17f * Time.deltaTime * (-2.0f), 0); } if (button.transform.position.y > 11.64f) { //need to wait button.transform.position -= new Vector3(0, 12.55f * Time.deltaTime * (0.5f), 0); firebase2DropSound.SetActive(true); } } else { if (button.transform.position.y < 12.51f) { button.transform.position += new Vector3(0, 11.64f * Time.deltaTime * (0.5f), 0); } if (firebase2.transform.localPosition.y > -0.1f) { firebase2.transform.localPosition += new Vector3(0, -5 * Time.deltaTime * (2.0f), 0); } } if (w1.currentVolume == 1) { L.waterputsFireOut(); } //lake1 // if watergate opened and lake1 filled: lake1's water will fall down to lake2 if (WaterGate.transform.localPosition.y <= 23.5f && w1.currentVolume > 0.0f) { lake2_cover.SetActive(false); lake2.layer = 4; w2.Fill(2); w1.Drain(2); Instantiate(waterfall, waterflowposition2.transform.position, waterflowposition2.transform.rotation); } //lake 2 //if open Lid losing water . waterflow press button:firebase 2 raise if ((p.gotLid || wellLid.gameObject.GetComponent <Renderer>().enabled == true) && w2.currentVolume > 0.0f) { w2.drainSpeed = 0.0005f; //change lake2 drain speed here w2.Drain(0.1f); Instantiate(waterflow, waterflowposition.transform.position, waterflowposition.transform.rotation); raise_firebase2 = true; playRaiseSound = true; playDropSound = false; } else { raise_firebase2 = false; playRaiseSound = false; //playDropSound = true; } //well 3 //sail.transform.localPosition =new Vector3(sail.transform.localPosition.x, 1.41f*well.currentVolume*6.5f,sail.transform.localPosition.z); //close LID:water raise if (wellLid.gameObject.GetComponent <Renderer>().enabled == true) { } //open LID: water can not above the hole if (well.currentVolume > 0.0f && wellLid.gameObject.GetComponent <Renderer>().enabled == false) { Instantiate(wellflow, wellLid.transform.position, wellLid.transform.rotation); if (well.currentVolume < 0.08f) { well.currentVolume += 0.0001f * Time.deltaTime; } else { well.currentVolume = 0.08f; } } }