// Add one water plane void AddWaterPlane(float xCoord, float zCoord, float yCoord, float squareWidth, float spacing) { GameObject waterPlane = Instantiate(waterSqrObj, transform.position, transform.rotation) as GameObject; waterPlane.SetActive(true); // Update position Vector3 centerPos = transform.position; centerPos.x += xCoord; centerPos.y = yCoord; centerPos.z += zCoord; waterPlane.transform.position = centerPos; // Parent it waterPlane.transform.parent = transform; // Give it moving water //WaterSquare newWaterSquare = new WaterSquare (waterPlane, squareWidth, spacing); WaterSquare newWaterSquare = waterPlane.AddComponent <WaterSquare>(); newWaterSquare.Init(waterPlane, squareWidth, spacing); waterSquares.Add(newWaterSquare); }
void AddWaterPlane(float xCoord, float zCoord, float yPos, float squareWidth, float spacing) { GameObject waterPlane = Instantiate(waterSqrObj, transform.position, transform.rotation) as GameObject; waterPlane.SetActive(true); Vector3 centerPos = transform.position; centerPos.x += xCoord; centerPos.y = yPos; centerPos.z += zCoord; waterPlane.transform.position = centerPos; waterPlane.transform.parent = transform; WaterSquare newWaterSquare = new WaterSquare(waterPlane, squareWidth, spacing); waterSquares.Add(newWaterSquare); }
//Add a new water square if needed private void AddNewWaterSquare() { //Create a new water chunk WaterChunk newChunk = new WaterChunk(); //Add it to the list of all chunks allWaterChunks.Add(newChunk); //Need to set its width and resolution before instantiating a chunk because we //are creating the mesh in awake WaterSquare waterSquareScript = waterSquareObj.GetComponent <WaterSquare>(); waterSquareScript.width = chunkWidth; //Add water chunks with different resolutions waterSquareScript.resolution = 2; GameObject highDetailedWaterChunk = Instantiate(waterSquareObj, transform) as GameObject; newChunk.highDetailedWaterChunk = highDetailedWaterChunk; waterSquareScript.resolution = 5; GameObject mediumDetailedWaterChunk = Instantiate(waterSquareObj, transform) as GameObject; newChunk.mediumDetailedWaterChunk = mediumDetailedWaterChunk; waterSquareScript.resolution = 50; GameObject lowDetailedWaterChunk = Instantiate(waterSquareObj, transform) as GameObject; newChunk.lowDetailedWaterChunk = lowDetailedWaterChunk; //Deactivate the chunk newChunk.DeactivateChunk(); }
//Add one water plane void AddWaterPlane(float xCoord, float zCoord, float yPos, float squareWidth, float spacing) { GameObject waterPlane = Instantiate(waterSqrObj, transform.position, transform.rotation) as GameObject; waterPlane.SetActive(true); //Change its position Vector3 centerPos = transform.position; centerPos.x += xCoord; centerPos.y = yPos; centerPos.z += zCoord; waterPlane.transform.position = centerPos; //Parent it waterPlane.transform.parent = transform; //Give it moving water properties and set its width and resolution to generate the water mesh WaterSquare newWaterSquare = new WaterSquare(waterPlane, squareWidth, spacing); waterSquares.Add(newWaterSquare); }