public ArrayList getRadnomRooms(int count, int sizeMin, int sizeMax) { ArrayList array = new ArrayList(); int minx = UndestructableTile.getMinx(); int miny = UndestructableTile.getMiny(); int maxx = UndestructableTile.getMaxx(); int maxy = UndestructableTile.getMaxy(); for (int i = 0; i < count; i++) { System.Random rnd = new System.Random(); int randomx = rnd.Next(minx, maxx); array.Add(randomx); System.Random rnd2 = new System.Random(); int randomy = rnd2.Next(miny, maxy); array.Add(randomy); System.Random rnd3 = new System.Random(); int sizex = rnd3.Next(sizeMin, sizeMax); array.Add(sizex); System.Random rnd4 = new System.Random(); int sizey = rnd4.Next(sizeMin, sizeMax); array.Add(sizey); } return(array); }
// Update is called once per frame void Update() { Vector3 initialCamPos = this.gameObject.transform.position; this.MovementVector = new Vector2(0, 0); if (TriggerState.BottomTriggered) { MovementVector.y = -1 * this.CameraSpeed; } if (TriggerState.TopTriggered && this.transform.position.y < 1) { MovementVector.y = 1 * this.CameraSpeed; } if (TriggerState.LeftTriggered) { MovementVector.x = -1 * this.CameraSpeed; } if (TriggerState.RightTriggered) { MovementVector.x = 1 * this.CameraSpeed; } this.gameObject.transform.position += (new Vector3(MovementVector.x, MovementVector.y, 0) * Time.deltaTime); Vector3 finalCamPos = this.gameObject.transform.position; float leftCameraEdge = mCam.ScreenToWorldPoint(new Vector3(0, 0, 4)).x; float rightCameraEdge = mCam.ScreenToWorldPoint(new Vector3(mCam.pixelWidth, 0, 4)).x; float topCameraEdge = mCam.ScreenToWorldPoint(new Vector3(0, mCam.pixelHeight, 4)).y; float bottomCameraEdge = mCam.ScreenToWorldPoint(new Vector3(0, 0, 4)).y; Vector3 centerPos = mCam.ScreenToWorldPoint(new Vector3(mCam.pixelWidth / 2, mCam.pixelHeight / 2, 4)); if ((rightCameraEdge + rightPadding) > UndestructableTile.getMaxx()) { finalCamPos.x = centerPos.x - Mathf.Abs((rightCameraEdge + rightPadding) - UndestructableTile.getMaxx()); } if ((leftCameraEdge - leftPadding) < UndestructableTile.getMinx()) { finalCamPos.x = centerPos.x + Mathf.Abs((leftCameraEdge - leftPadding) - UndestructableTile.getMinx()); } if (-(topCameraEdge + topPadding) < UndestructableTile.getMiny()) { finalCamPos.y = centerPos.y - Mathf.Abs((topCameraEdge + topPadding) - UndestructableTile.getMiny()); } if (-(bottomCameraEdge - bottomPadding) > UndestructableTile.getMaxy()) { finalCamPos.y = centerPos.y + Mathf.Abs((bottomCameraEdge - bottomPadding) + UndestructableTile.getMaxy()); } this.gameObject.transform.position = finalCamPos; }
// Use this for initialization void Start() { ProceduralNoise generator = gameObject.GetComponent <ProceduralNoise>(); int minX = UndestructableTile.getMinx() - PaddingLeft; int maxX = UndestructableTile.getMaxx() + PaddingRight; int minY = UndestructableTile.getMiny() - PaddingTop; int maxY = UndestructableTile.getMaxy() + PaddingBottom; int sizeX = Mathf.Abs(minX) + Mathf.Abs(maxX) + 1; int sizeY = Mathf.Abs(minY) + Mathf.Abs(maxY) + 1; int[,] noise = generator.GenerateNoise(sizeX, sizeY, 0f, 0f, 0.001f, 0.8f); for (int i = minX; i < maxX; i++) { for (int j = minY; j < maxY; j++) { GameObject Instantiated = Instantiate(WorldTile); if (noise[i + Mathf.Abs(minX), j + Mathf.Abs(minY)] == 1) { Renderer rendererInstantiated = Instantiated.GetComponent <Renderer>(); rendererInstantiated.material = goldMaterial; } Tile inTile = Instantiated.GetComponent <WorldTile>(); if (inTile != null) { inTile.InitiateTile(CoordinatePair.Init(i, j)); StaticWorldObjects.WorldTiles.Add(CoordinatePair.Init(i, j), (WorldTile)inTile); } Instantiated = Instantiate(StructureTile); inTile = Instantiated.GetComponent <StructureTile>(); if (inTile != null) { inTile.InitiateTile(CoordinatePair.Init(i, j)); StaticWorldObjects.WorldStructureTiles.Add(CoordinatePair.Init(i, j), (StructureTile)inTile); } Instantiated = Instantiate(BackGroundTile); inTile = Instantiated.GetComponent <WorldBackgroundTile>(); if (inTile != null) { inTile.InitiateTile(CoordinatePair.Init(i, j)); StaticWorldObjects.WorldBackgroundTiles.Add(CoordinatePair.Init(i, j), (WorldBackgroundTile)inTile); } } } this.enabled = false; }