void MakeJewelsBounce() { GameObject a = instantiator.GetJewelGridGameObject(2, 1); RockLevelJewelMovement jewelMovement = a.GetComponent <RockLevelJewelMovement> (); a.GetComponent <Rigidbody2D>().AddForce(new Vector2(0, 300)); jewelMovement.SetBounceAgain(true); jewelMovement.SetBounced(false); a = instantiator.GetJewelGridGameObject(2, 3); jewelMovement = a.GetComponent <RockLevelJewelMovement> (); a.GetComponent <Rigidbody2D>().AddForce(new Vector2(0, 300)); jewelMovement.SetBounceAgain(true); jewelMovement.SetBounced(false); a = instantiator.GetJewelGridGameObject(2, 4); jewelMovement = a.GetComponent <RockLevelJewelMovement> (); a.GetComponent <Rigidbody2D>().AddForce(new Vector2(0, 300)); jewelMovement.SetBounceAgain(true); jewelMovement.SetBounced(false); a = instantiator.GetJewelGridGameObject(1, 2); jewelMovement = a.GetComponent <RockLevelJewelMovement> (); a.GetComponent <Rigidbody2D>().AddForce(new Vector2(0, 300)); jewelMovement.SetBounceAgain(true); jewelMovement.SetBounced(false); }
private void InstantiateBombSeekingHomingStar(GameObject star, GameObject jewel) { GameObject instantiatedStar = (GameObject)Instantiate(star, new Vector3(jewel.transform.position.x, jewel.transform.position.y, -49), Quaternion.identity); homingStarMovement = instantiatedStar.GetComponent <RockLevelHomingStarMovement> (); jewelMovement = jewel.GetComponent <RockLevelJewelMovement> (); GameObject randomBomb = bombHandler.GetRandomBomb(); random1 = randomBomb.GetComponent <RockLevelJewelMovement> ().GetRow(); random2 = randomBomb.GetComponent <RockLevelJewelMovement> ().GetCol(); if (instantiator.GetJewelGridGameObject(random1, random2) != null) { jewelMovement2 = instantiator.GetJewelGridGameObject(random1, random2).GetComponent <RockLevelJewelMovement> (); } while (instantiator.GetJewelGridGameObject(random1, random2) == null || (random1 == jewelMovement.GetRow() && random2 == jewelMovement.GetCol()) || checkForMatches.deleteList.Contains(instantiator.GetJewelGridGameObject(random1, random2)) || jewelMovement2.GetMoving() || !targetJewels.Add(instantiator.GetJewelGridGameObject(random1, random2))) { random1 = Random.Range(0, 9); random2 = Random.Range(0, 9); if (instantiator.GetJewelGridGameObject(random1, random2) != null) { jewelMovement2 = instantiator.GetJewelGridGameObject(random1, random2).GetComponent <RockLevelJewelMovement> (); } } homingStarMovement.SetRow(random1); homingStarMovement.SetCol(random2); homingStarMovement.SetFourInARowStar(); homingStarList.Add(instantiatedStar); }
void InstantiateTutorailChildStars() { switch (tutorialNumber) { case 0: row = 1; col = 8; break; case 1: row = 2; col = 2; break; case 2: row = 3; col = 2; break; case 3: row = 4; col = 3; break; case 4: row = 5; col = 1; break; case 5: row = 6; col = 7; break; case 6: row = 7; col = 5; break; case 7: row = 8; col = 3; break; case 8: row = 7; col = 7; break; case 9: row = 6; col = 2; break; case 10: row = 5; col = 4; break; case 11: row = 4; col = 2; break; } tutorialNumber++; jewelMovement = instantiator.GetJewelGridGameObject(row, col).GetComponent <RockLevelJewelMovement> (); }
void InstantiateHomingStar() { // Debug.Log ("Instantiating Shooting Star"); tempStar = (GameObject)Instantiate(GetRandomStar(), starStartingPosition, Quaternion.identity); homingStarMovement = tempStar.GetComponent <RockLevelHomingStarMovement> (); row = Random.Range(0, 9); col = Random.Range(0, 9); jewelMovement = instantiator.GetJewelGridGameObject(row, col).GetComponent <RockLevelJewelMovement> (); while (!PowerStarTracker.AddToHashSet(instantiator.GetJewelGridGameObject(row, col))) { row = Random.Range(0, 9); col = Random.Range(0, 9); } // jewelMovement = instantiator.GetJewelGridGameObject (row, col).GetComponent<RockLevelJewelMovement> (); // while (jewelMovement.GetMoving () || !PowerStarTracker.AddToHashSet (instantiator.GetJewelGridGameObject (row, col))) { // row = Random.Range (0, 9); // col = Random.Range (0, 9); // while (instantiator.GetJewelGridGameObject (row, col) == null) { // row = Random.Range (0, 9); // col = Random.Range (0, 9); // } // jewelMovement = instantiator.GetJewelGridGameObject (row, col).GetComponent<RockLevelJewelMovement> (); // } homingStarMovement.SetRow(row); homingStarMovement.SetCol(col); }
private void DropJewel(GameObject jewel) { jewelMovement = jewel.GetComponent <RockLevelJewelMovement> (); jewelMovement.SetJewelFalling(true); jewelMovement.SetShuffleJewel(true); jewel.GetComponent <Rigidbody2D>().gravityScale = Random.Range(3, 6); jewel.layer = 0; }
private void AddJewelToRandomSpot(GameObject jewel) { int randomRow = Random.Range(0, 9); int randomCol = Random.Range(0, 9); for (int j = randomCol; j < 9; j++) { if (tempJewelGrid[randomRow, j] == null) { jewelMovement = jewel.GetComponent <RockLevelJewelMovement> (); jewelMovement.SetRow(randomRow); jewelMovement.SetCol(j); jewel.layer = randomRow + 17; tempJewelGrid[randomRow, j] = jewel; jewelMovement.SetShuffleJewel(true); return; } } for (int i = randomRow + 1; i < 9; i++) { for (int j = 0; j < 9; j++) { if (tempJewelGrid[i, j] == null) { jewelMovement = jewel.GetComponent <RockLevelJewelMovement> (); jewelMovement.SetRow(i); jewelMovement.SetCol(j); jewel.layer = i + 17; tempJewelGrid[i, j] = jewel; jewelMovement.SetShuffleJewel(true); return; } } } for (int i = 0; i < 9; i++) { for (int j = 0; j < 9; j++) { if (tempJewelGrid[i, j] == null) { jewelMovement = jewel.GetComponent <RockLevelJewelMovement> (); jewelMovement.SetRow(i); jewelMovement.SetCol(j); jewel.layer = i + 17; tempJewelGrid[i, j] = jewel; jewelMovement.SetShuffleJewel(true); return; } } } }
public void ActivateCornersPowers(GameObject jewel) { deleteJewels.StampTimeCard(); ResetIntsAndBools(); switch (jewel.tag) { case "Green Bomb": case "Green Block": starToInstantiate = greenCornerStar; break; case "Red Bomb": case "Red Block": starToInstantiate = redCornerStar; break; case "Blue Bomb": case "Blue Block": starToInstantiate = blueCornerStar; break; case "White Bomb": case "White Block": starToInstantiate = whiteCornerStar; break; case "Orange Bomb": case "Yellow Block": starToInstantiate = orangeCornerStar; break; case "Purple Bomb": case "Purple Block": starToInstantiate = purpleCornerStar; break; } jewelMovement = jewel.GetComponent <RockLevelJewelMovement> (); if (jewelMovement.GetRow() + 1 < 9 && JewelsAreTheSame(instantiator.GetJewelGridGameObject(jewelMovement.GetRow() + 1, jewelMovement.GetCol()).tag, jewel.tag)) { starNumber++; negativeVerticalStar = true; } if (jewelMovement.GetRow() - 1 >= 0 && JewelsAreTheSame(instantiator.GetJewelGridGameObject(jewelMovement.GetRow() - 1, jewelMovement.GetCol()).tag, jewel.tag)) { starNumber++; positiveVerticalStar = true; } if (jewelMovement.GetCol() + 1 < 9 && JewelsAreTheSame(instantiator.GetJewelGridGameObject(jewelMovement.GetRow(), jewelMovement.GetCol() + 1).tag, jewel.tag)) { starNumber++; positiveHorizontalStar = true; } if (jewelMovement.GetCol() - 1 >= 0 && JewelsAreTheSame(instantiator.GetJewelGridGameObject(jewelMovement.GetRow(), jewelMovement.GetCol() - 1).tag, jewel.tag)) { starNumber++; negativeHorizontalStar = true; } InstantiateCornerStars(jewel); }
public void CheckGridForMovement() { gridStatic = false; if (GameObject.Find("Time Bomb Identification") != null) { if (GameObject.Find("Time Bomb Identification").GetComponent <TimeBombController> ().GetBombsExploding()) { return; } } for (int i = 0; i < 9; i++) { for (int j = 0; j < 9; j++) { if (instantiator.GetJewelGridGameObject(i, j) == null) { return; } jewelMovement = instantiator.GetJewelGridGameObject(i, j).GetComponent <RockLevelJewelMovement> (); if (PaidPowerTracker.GetPowerListSize() != 0 /*|| starShooter.GetBombCount () > 0 || fourInARow.GetHomingStarList ().Count > 0 || fiveInARow.GetMotherStarList ().Count > 0 || fiveInARow.GetMotherStarList ().Count > 0 || corners.GetCornerStarList ().Count > 0*/) { gridStatic = false; deleteJewels.PunchNewTimeStamp(); return; } } } if (!shuffle.GetShuffleFinished()) { shuffle.SetShuffleFinished(true); } if (noMatchChecker.CheckForNoMatches()) { gridStatic = false; deleteJewels.PunchNewTimeStamp(); return; } if (!soundController.GetGameStarted()) { soundController.SetGameStarted(true); } CheckEveryJewelForMatch(); gridStatic = true; PowerStarTracker.Clear(); }
private void CheckTouch(Vector3 pos) { Vector3 wp = Camera.main.ScreenToWorldPoint(pos); Vector2 touchPos = new Vector2(wp.x, wp.y); hit = Physics2D.OverlapPoint(touchPos); if (swapCooldown) { return; } if (/*!swapJewels.GetPauseTouchForSwap () &&*/ hit != null && !PowerStarTracker.ContainsJewel(hit.gameObject) /*&& !checkForMatches.JewelOkayToMove (hit.gameObject)*/ && HasCorrectTags(hit.gameObject) && hit.gameObject.name != "Slug Meal" && fiveInARow.GetMotherStarList().Count == 0 && corners.GetCornerStarGreaterThan10() && fiveInARow.GetChildStarList().Count == 0 && fourInARow.GetHomingStarList().Count == 0 && firstPressed == null /*&& deleteJewels.OkayToMoveAgain ()*/) { jewelMovement = hit.gameObject.GetComponent <RockLevelJewelMovement> (); if (!jewelMovement.GetToBeDestroyed() && !jewelMovement.GetMoving() && jewelMovement.GetOnPlatform() && !checkForMatches.deleteList.Contains(hit.gameObject)) { if (tutorialLevel2 && hit.gameObject.name != "Level Two Tutorial Jewel") { return; } firstPressed = hit.gameObject; } } else if (/*!swapJewels.GetPauseTouchForSwap () &&*/ hit != null && !PowerStarTracker.ContainsJewel(hit.gameObject) /*&& !checkForMatches.JewelOkayToMove (hit.gameObject) */ && HasCorrectTags(hit.gameObject) && hit.gameObject.name != "Slug Meal" /*&& deleteJewels.OkayToMoveAgain () */ && corners.GetCornerStarGreaterThan10() && fiveInARow.GetMotherStarList().Count == 0 && fiveInARow.GetChildStarList().Count == 0 && firstPressed != null && secondPressed == null && hit.gameObject != firstPressed && fourInARow.GetHomingStarList().Count == 0 && //((jewelMovement.GetRow () == hit.gameObject.GetComponent<RockLevelJewelMovement> ().GetRow () && Mathf.Abs (jewelMovement.GetCol () - hit.gameObject.GetComponent<RockLevelJewelMovement> ().GetCol ()) == 1) || //(jewelMovement.GetCol () == hit.gameObject.GetComponent<RockLevelJewelMovement> ().GetCol () && Mathf.Abs (jewelMovement.GetRow () - hit.gameObject.GetComponent<RockLevelJewelMovement> ().GetRow ()) == 1))) Mathf.Abs(hit.gameObject.transform.position.x - firstPressed.transform.position.x) < .66 && Mathf.Abs(hit.gameObject.transform.position.y - firstPressed.transform.position.y) < .66 && (Mathf.Abs(hit.gameObject.transform.position.x - firstPressed.transform.position.x) < .1 || Mathf.Abs(hit.gameObject.transform.position.y - firstPressed.transform.position.y) < .1)) { //{ jewelMovement = hit.gameObject.GetComponent <RockLevelJewelMovement> (); if (!jewelMovement.GetToBeDestroyed() && !jewelMovement.GetMoving() && jewelMovement.GetOnPlatform() && !checkForMatches.deleteList.Contains(hit.gameObject)) { if (tutorialLevel2 && hit.gameObject.name != "Level Two Tutorial Jewel") { return; } secondPressed = hit.gameObject; swapCooldown = true; timeStamp = Time.time; swapJewels.Swap(firstPressed, secondPressed, false); } } }
// Update is called once per frame void Update() { if (startDecent) { transform.Translate((targetX - transform.position.x) * Time.deltaTime * 15f, (targetY - transform.position.y) * Time.deltaTime * 15f, 0, Space.World); if (!targetJewelSet) { deleteJewels.StampTimeCard(); jewelToDestroy = instantiator.GetJewelGridGameObject(row, col); while (!PowerStarTracker.AddToHashSet(jewelToDestroy)) { row = Random.Range(0, 9); col = Random.Range(0, 9); jewelToDestroy = instantiator.GetJewelGridGameObject(row, col); crosshair.transform.position = new Vector3(-2.45f + (col * .6125f), 2.591252f - (row * .6097268f), -23); } targetJewelSet = true; } } if (startDecent && Mathf.Abs(targetX - transform.position.x) < .05f && Mathf.Abs(targetY - transform.position.y) < .05f) { if (jewelToDestroy != null) { if (IsJewel(gameObject.tag) || IsBomb(gameObject)) { jewelMovement = jewelToDestroy.GetComponent <RockLevelJewelMovement> (); jewelMovement.StartDestroyCountdown(); } if (jewelToDestroy != null && !swapJewel.IsASwapJewel(jewelToDestroy)) { deleteList.Add(jewelToDestroy); deleteJewels.DeleteAllJewelsInList(deleteList, true); } } Destroy(crosshair); fiveInARow.GetChildStarList().Remove(gameObject); if (fiveInARow.TutorialListContainsStar(gameObject)) { fiveInARow.RemoveStarFromTutorialList(gameObject); } Destroy(gameObject); } }
private bool CheckForSwipeDownVerticalMatch(int row, int col, GameObject jewel) { int oldRow = row; row = row + 1; if (row < 9) { if (instantiator.GetJewelGridGameObject(row, col).tag == "Boulder" || instantiator.GetJewelGridGameObject(row, col).tag == "Steel Block") { return(false); } int rowOffset = 1; secondaryMatchList.Add(instantiator.GetJewelGridGameObject(oldRow, col)); while (row + rowOffset >= 0 && instantiator.GetJewelGridGameObject(row + rowOffset, col) != null && JewelsAreTheSame(jewel.tag, instantiator.GetJewelGridGameObject(row + rowOffset, col).tag)) { secondaryMatchList.Add(instantiator.GetJewelGridGameObject(row + rowOffset, col)); rowOffset++; } } if (secondaryMatchList.Count > 2) { foreach (GameObject a in secondaryMatchList) { matchList.Add(a); } } if (matchList.Count > 2) { foreach (GameObject a in matchList) { jewelMovement = a.GetComponent <RockLevelJewelMovement> (); jewelMovement.SetMoving(true); a.GetComponent <Rigidbody2D>().AddForce(bounceForce); jewelMovement.SetBounceAgain(true); // jewelMovement.SetBounced (false); } secondaryMatchList.Clear(); matchList.Clear(); return(true); } secondaryMatchList.Clear(); matchList.Clear(); return(false); }
private bool CheckForSwipeRightHorizontalMatch(int row, int col, GameObject jewel) { int oldCol = col; col = col + 1; if (col < 9) { if (instantiator.GetJewelGridGameObject(row, col).tag == "Boulder" || instantiator.GetJewelGridGameObject(row, col).tag == "Steel Block") { return(false); } int colOffset = 1; secondaryMatchList.Add(instantiator.GetJewelGridGameObject(row, oldCol)); while (col + colOffset < 9 && instantiator.GetJewelGridGameObject(row, col + colOffset) != null && JewelsAreTheSame(jewel.tag, instantiator.GetJewelGridGameObject(row, col + colOffset).tag)) { secondaryMatchList.Add(instantiator.GetJewelGridGameObject(row, col + colOffset)); colOffset++; } if (secondaryMatchList.Count > 2) { foreach (GameObject a in secondaryMatchList) { matchList.Add(a); } } if (matchList.Count > 2) { foreach (GameObject a in matchList) { jewelMovement = a.GetComponent <RockLevelJewelMovement> (); a.GetComponent <Rigidbody2D>().AddForce(bounceForce); jewelMovement.SetBounceAgain(true); jewelMovement.SetBounced(false); } secondaryMatchList.Clear(); matchList.Clear(); return(true); } } secondaryMatchList.Clear(); matchList.Clear(); return(false); }
void InstantiateChildStars() { instantiatedStar = (GameObject)Instantiate(childStar, new Vector3(gameObject.transform.position.x, gameObject.transform.position.y, -15), Quaternion.identity); childStarMovement = instantiatedStar.GetComponent <RockLevelChildStarMovement> (); if (!tutorialLevel) { row = Random.Range(0, 9); col = Random.Range(0, 9); while (IsBomb(instantiator.GetJewelGridGameObject(row, col).tag) || instantiator.GetJewelGridGameObject(row, col) == null) { row = Random.Range(0, 9); col = Random.Range(0, 9); } jewelMovement = instantiator.GetJewelGridGameObject(row, col).GetComponent <RockLevelJewelMovement> (); while (IsBomb(instantiator.GetJewelGridGameObject(row, col).tag) || jewelMovement.GetMoving() || jewelList.Contains(instantiator.GetJewelGridGameObject(row, col))) { row = Random.Range(0, 9); col = Random.Range(0, 9); while (instantiator.GetJewelGridGameObject(row, col) == null) { row = Random.Range(0, 9); col = Random.Range(0, 9); } jewelMovement = instantiator.GetJewelGridGameObject(row, col).GetComponent <RockLevelJewelMovement> (); } } else { InstantiateTutorailChildStars(); jewelMovement = instantiator.GetJewelGridGameObject(row, col).GetComponent <RockLevelJewelMovement> (); } childStarMovement = instantiatedStar.GetComponent <RockLevelChildStarMovement> (); // childStarMovement.StartDecent (); // jewelMovement.targetForExplosion (); childStarArray.Add(instantiatedStar); fiveInARow.GetChildStarList().Add(instantiatedStar); jewelList.Add(instantiator.GetJewelGridGameObject(row, col)); instantiatedTarget = (GameObject)Instantiate(target, new Vector3(-2.45f + (col * .6125f), 2.591252f - (row * .6097268f), -23), Quaternion.identity); childStarMovement.SetTargetPosition(instantiator.GetJewelGridGameObject(row, col).transform.position, row, col, instantiatedTarget); }
// Use this for initialization void Start() { if (name == "Slug(Clone)") { currentBoulder = boulder; } else if (name == "Slug Stage 2(Clone)") { currentBoulder = boulderStage2; } else if (name == "Slug Stage 3(Clone)") { currentBoulder = boulderStage3; } else if (name == "Slug Stage 4(Clone)") { currentBoulder = boulderStage4; } instantiator = GameObject.Find("Level Controller").GetComponent <RockLevelInstantiator> (); jewelMovement = gameObject.GetComponent <RockLevelJewelMovement> (); swapJewel = GameObject.Find("Level Controller").GetComponent <RockLevelSwapJewel> (); }
void InstantiateBombSeekingChildStars() { GameObject randomBomb = bombHandler.GetRandomBomb(); if (randomBomb == null) { InstantiateChildStars(); return; } instantiatedStar = (GameObject)Instantiate(childStar, new Vector3(gameObject.transform.position.x, gameObject.transform.position.y, -15), Quaternion.identity); childStarMovement = instantiatedStar.GetComponent <RockLevelChildStarMovement> (); row = randomBomb.GetComponent <RockLevelJewelMovement> ().GetRow(); col = randomBomb.GetComponent <RockLevelJewelMovement> ().GetCol(); while (instantiator.GetJewelGridGameObject(row, col) == null) { row = Random.Range(0, 9); col = Random.Range(0, 9); } jewelMovement = instantiator.GetJewelGridGameObject(row, col).GetComponent <RockLevelJewelMovement> (); while (jewelMovement.GetMoving() || jewelList.Contains(instantiator.GetJewelGridGameObject(row, col))) { row = Random.Range(0, 9); col = Random.Range(0, 9); while (instantiator.GetJewelGridGameObject(row, col) == null) { row = Random.Range(0, 9); col = Random.Range(0, 9); } jewelMovement = instantiator.GetJewelGridGameObject(row, col).GetComponent <RockLevelJewelMovement> (); } childStarMovement = instantiatedStar.GetComponent <RockLevelChildStarMovement> (); childStarArray.Add(instantiatedStar); fiveInARow.GetChildStarList().Add(instantiatedStar); jewelList.Add(instantiator.GetJewelGridGameObject(row, col)); instantiatedTarget = (GameObject)Instantiate(target, new Vector3(-2.45f + (col * .6125f), 2.591252f - (row * .6097268f), -23), Quaternion.identity); childStarMovement.SetTargetPosition(instantiator.GetJewelGridGameObject(row, col).transform.position, row, col, instantiatedTarget); }
void MakeJewelsBounce() { RockLevelInstantiator instantiator = GameObject.Find("Level Controller").GetComponent <RockLevelInstantiator> (); GameObject a = instantiator.GetJewelGridGameObject(4, 2); RockLevelJewelMovement jewelMovement = a.GetComponent <RockLevelJewelMovement> (); a.GetComponent <Rigidbody2D>().AddForce(new Vector2(0, 300)); jewelMovement.SetBounceAgain(true); jewelMovement.SetBounced(false); a = instantiator.GetJewelGridGameObject(3, 3); jewelMovement = a.GetComponent <RockLevelJewelMovement> (); a.GetComponent <Rigidbody2D>().AddForce(new Vector2(0, 300)); jewelMovement.SetBounceAgain(true); jewelMovement.SetBounced(false); a = instantiator.GetJewelGridGameObject(4, 4); jewelMovement = a.GetComponent <RockLevelJewelMovement> (); a.GetComponent <Rigidbody2D>().AddForce(new Vector2(0, 300)); jewelMovement.SetBounceAgain(true); jewelMovement.SetBounced(false); }
void InstantiateTutorialTwoHomingStar(GameObject star, GameObject jewel) { GameObject instantiatedStar = (GameObject)Instantiate(star, new Vector3(jewel.transform.position.x, jewel.transform.position.y, -49), Quaternion.identity); homingStarMovement = instantiatedStar.GetComponent <RockLevelHomingStarMovement> (); jewelMovement = jewel.GetComponent <RockLevelJewelMovement> (); switch (tutorial2Count) { case 0: random1 = 7; random2 = 1; break; case 1: random1 = 6; random2 = 2; break; case 2: random1 = 5; random2 = 4; break; case 3: random1 = 1; random2 = 5; break; default: tutorialLevel2 = false; InstantiateHomingStar(star, jewel); return; } tutorial2Count++; homingStarMovement.SetRow(random1); homingStarMovement.SetCol(random2); homingStarMovement.SetFourInARowStar(); homingStarList.Add(instantiatedStar); }
public bool CheckForSwapBack(GameObject jewel, int i, int j) { if (!gameStarted) { return(false); } //Debug.Log ("Checking For SwapBack"); horizontalMatchCheckCount = 0; verticalMatchCheckCount = 0; horizontalMatch = false; verticalMatch = false; exitMatchCheck = false; dontDelete = false; ClearLists(); int verticalJewelOffset = 1; int verticalJewelCount = 1; verticalDeleteList.Add(jewel); while (i - verticalJewelOffset >= 0 && instantiator.GetJewelGridGameObject(i - verticalJewelOffset, j) != null && JewelsAreTheSame(instantiator.GetJewelGridGameObject(i - verticalJewelOffset, j).tag, jewel.tag)) { verticalDeleteList.Add(instantiator.GetJewelGridGameObject(i - verticalJewelOffset, j)); verticalJewelCount++; verticalJewelOffset++; } verticalJewelOffset = 1; while (i + verticalJewelOffset < 9 && instantiator.GetJewelGridGameObject(i + verticalJewelOffset, j) != null && JewelsAreTheSame(instantiator.GetJewelGridGameObject(i + verticalJewelOffset, j).tag, jewel.tag)) { verticalDeleteList.Add(instantiator.GetJewelGridGameObject(i + verticalJewelOffset, j)); verticalJewelCount++; verticalJewelOffset++; } if (verticalJewelCount >= 3) { foreach (GameObject a in verticalDeleteList) { bool added = deleteList.Add(a); if (added && a != null) { jewelMovement = a.GetComponent <RockLevelJewelMovement> (); jewelMovement.SetToBeDestroyed(); if (jewelMovement.GetMoving()) { ClearLists(); return(true); } CheckForHorizontalMatches(a, jewelMovement.GetRow(), jewelMovement.GetCol()); if (exitMatchCheck) { ClearLists(); return(true); } } } verticalMatch = true; } else { verticalDeleteList.Remove(jewel); } int horizontalJewelOffset = 1; int horizontalJewelCount = 1; horizontalDeleteList.Add(jewel); while (j - horizontalJewelOffset >= 0 && instantiator.GetJewelGridGameObject(i, j - horizontalJewelOffset) != null && JewelsAreTheSame(instantiator.GetJewelGridGameObject(i, j - horizontalJewelOffset).tag, jewel.tag)) { horizontalDeleteList.Add(instantiator.GetJewelGridGameObject(i, j - horizontalJewelOffset)); horizontalJewelCount++; horizontalJewelOffset++; } horizontalJewelOffset = 1; while (j + horizontalJewelOffset < 9 && instantiator.GetJewelGridGameObject(i, j + horizontalJewelOffset) != null && JewelsAreTheSame(instantiator.GetJewelGridGameObject(i, j + horizontalJewelOffset).tag, jewel.tag)) { horizontalDeleteList.Add(instantiator.GetJewelGridGameObject(i, j + horizontalJewelOffset)); horizontalJewelCount++; horizontalJewelOffset++; } if (horizontalJewelCount >= 3) { foreach (GameObject a in horizontalDeleteList) { bool added = deleteList.Add(a); if (added && a != null) { jewelMovement = a.GetComponent <RockLevelJewelMovement> (); jewelMovement.SetToBeDestroyed(); if (jewelMovement.GetMoving()) { ClearLists(); return(true); } CheckForVerticalMatches(a, jewelMovement.GetRow(), jewelMovement.GetCol()); if (exitMatchCheck) { ClearLists(); return(true); } } } horizontalMatch = true; } else { horizontalDeleteList.Remove(jewel); } if (exitMatchCheck) { ClearLists(); return(true); } if (deleteList.Count > 2) { if (deleteList.Count >= 5 && verticalMatch && horizontalMatch) { foreach (GameObject a in horizontalDeleteList) { if (verticalDeleteList.Contains(a)) { int count = 1; if (!jewelsThatActivatedCorners.Contains(a)) { jewelsThatActivatedCorners.Add(a); soundHandler.PlayPowerUpSound(); corners.ActivateCornersPowers(a); } } } // scoreKeeper.IncreaseScoreByCornerJewelBonus (); // deleteList.Clear (); } else if (deleteList.Count >= 5 && !(verticalMatch && horizontalMatch)) { // //Debug.Log ("5 in a row"); fiveInARow.InstantiateMotherStar(jewel); // scoreKeeper.IncreaseScoreByFiveInLineBonus (); } if (deleteList.Count >= 7 && verticalMatch && horizontalMatch) { fiveInARow.InstantiateMotherStar(jewel); } // if (deleteList.Count > 5 && verticalMatch && horizontalMatch) { // fiveInARow.InstantiateMotherStar (jewel); // } foreach (GameObject a in deleteList) { swapJewel.IfJewelSetToNull(a); } deleteJewels.DeleteAllJewelsInList(deleteList, false); //Debug.Log ("deleteList.Count = " + deleteList.Count); } else { dontDelete = false; } if (verticalMatch || horizontalMatch) { ClearLists(); return(true); } else { ClearLists(); return(false); } }
private void CheckForVerticalMatches(GameObject jewel, int i, int j) { for (int a = 0; a < verticalSetArray.Length; a++) { if (verticalSetArray[a] != null && verticalSetArray[a].Count == 0) { verticalMatchCheckCount = a; } } verticalSetArray[verticalMatchCheckCount] = new HashSet <GameObject> (); int verticalJewelOffset = 1; int verticalJewelCount = 1; jewelDestroyNumber = jewel.GetComponent <RockLevelJewelMovement> ().GetDestroyNumber(); while (i - verticalJewelOffset >= 0 && instantiator.GetJewelGridGameObject(i - verticalJewelOffset, j) != null && JewelsAreTheSame(instantiator.GetJewelGridGameObject(i - verticalJewelOffset, j).tag, jewel.tag)) { verticalSetArray[verticalMatchCheckCount].Add(instantiator.GetJewelGridGameObject(i - verticalJewelOffset, j)); verticalJewelCount++; verticalJewelOffset++; } verticalJewelOffset = 1; while (i + verticalJewelOffset < 9 && instantiator.GetJewelGridGameObject(i + verticalJewelOffset, j) != null && JewelsAreTheSame(instantiator.GetJewelGridGameObject(i + verticalJewelOffset, j).tag, jewel.tag)) { verticalSetArray[verticalMatchCheckCount].Add(instantiator.GetJewelGridGameObject(i + verticalJewelOffset, j)); verticalJewelCount++; verticalJewelOffset++; } if (verticalJewelCount >= 3) { verticalMatch = true; foreach (GameObject a in verticalSetArray[verticalMatchCheckCount]) { bool added = deleteList.Add(a); if (added && a != null) { jewelMovement = a.GetComponent <RockLevelJewelMovement> (); jewelMovement.SetToBeDestroyed(); if (jewelMovement.GetMoving()) { exitMatchCheck = true; ClearLists(); return; } horizontalMatchCheckCount++; CheckForHorizontalMatches(a, jewelMovement.GetRow(), jewelMovement.GetCol()); if (exitMatchCheck) { ClearLists(); return; } // else // dontDelete = true; } } if (!jewelsThatActivatedCorners.Contains(jewel)) { jewelsThatActivatedCorners.Add(jewel); soundHandler.PlayPowerUpSound(); corners.ActivateCornersPowers(jewel); } } verticalSetArray[verticalMatchCheckCount].Clear(); }
// Update is called once per frame void FixedUpdate() { if (startSwap) { if (jewel1 == null || jewel2 == null) { return; } jewel1.transform.Translate(new Vector3(-(jewel1.transform.position.x - jewelTwoOriginalPos.x) * translationMultiplier, -(jewel1.transform.position.y - jewelTwoOriginalPos.y) * translationMultiplier, 0)); jewel2.transform.Translate(new Vector3(-(jewel2.transform.position.x - jewelOneOriginalPos.x) * translationMultiplier, -(jewel2.transform.position.y - jewelOneOriginalPos.y) * translationMultiplier, 0)); if (Mathf.Abs(jewel1.transform.position.x - jewelTwoOriginalPos.x) < distanceToTarget && Mathf.Abs(jewel1.transform.position.y - jewelTwoOriginalPos.y) < distanceToTarget && Mathf.Abs(jewel2.transform.position.x - jewelOneOriginalPos.x) < distanceToTarget && Mathf.Abs(jewel2.transform.position.y - jewelOneOriginalPos.y) < distanceToTarget) { jewel1.transform.position = jewelTwoOriginalPos; jewel2.transform.position = jewelOneOriginalPos; jewel1.layer = secondJewelLayer; jewel2.layer = firstJewelLayer; startSwap = false; // firstJewelBlockMovement.moving = false; // secondJewelBlockMovement.moving = false; pauseTouchForSwap = false; } if (!startSwap) { jewel1.GetComponent <Rigidbody2D>().isKinematic = false; jewel2.GetComponent <Rigidbody2D>().isKinematic = false; instantiator.SetJewelGridGameObject(jewelOneMovement.GetRow(), jewelOneMovement.GetCol(), jewel1); instantiator.SetJewelGridGameObject(jewelTwoMovement.GetRow(), jewelTwoMovement.GetCol(), jewel2); jewelOneMovement = jewel1.GetComponent <RockLevelJewelMovement> (); jewelTwoMovement = jewel2.GetComponent <RockLevelJewelMovement> (); jewelOneMovement.SetMoving(false); jewelTwoMovement.SetMoving(false); if (jewelOneMovement.GetRow() < jewelTwoMovement.GetRow()) { if (!checkForMatches.CheckForSwapBack(jewel1, jewelOneMovement.GetRow(), jewelOneMovement.GetCol()) && !checkForMatches.CheckForSwapBack(jewel2, jewelTwoMovement.GetRow(), jewelTwoMovement.GetCol())) { if (!swapJewelsBack && restrictMovements) { Swap(jewel1, jewel2, true); } else { if (jewel1 != null) { PowerStarTracker.RemoveFromHashSet(jewel1); jewel1 = null; jewelOneMovement.SetSwappingJewel(false); } if (jewel2 != null) { PowerStarTracker.RemoveFromHashSet(jewel2); jewel2 = null; jewelTwoMovement.SetSwappingJewel(false); } } return; } deleteJewels.SetSwapComplete(true); if (!timeBombLevel && !jewelCollectorLevel) { bombHandler.DecreaseAllBombsInList(); } else if (jewelCollectorLevel) { Debug.Log("Calling moveNumberHandler.SubtractOneFromMoveNumber ()"); moveNumberHandler.SubtractOneFromMoveNumber(); } if (!firstSwapPerformed) { GameObject.Find("Game Manager").GetComponent <GameManagerScript> ().SetFirstMoveMade(true); firstSwapPerformed = true; //Debug.Log ("First Swap Performed"); } if (jewel1 != null) { PowerStarTracker.RemoveFromHashSet(jewel1); jewel1 = null; jewelOneMovement.SetSwappingJewel(false); } if (jewel2 != null) { PowerStarTracker.RemoveFromHashSet(jewel2); jewel2 = null; jewelTwoMovement.SetSwappingJewel(false); } // stoppedMoving.SetGridStaticToFalse (); } else { if (!checkForMatches.CheckForSwapBack(jewel2, jewelTwoMovement.GetRow(), jewelTwoMovement.GetCol()) && !checkForMatches.CheckForSwapBack(jewel1, jewelOneMovement.GetRow(), jewelOneMovement.GetCol())) { if (!swapJewelsBack && restrictMovements) { Swap(jewel1, jewel2, true); } else { if (jewel1 != null) { PowerStarTracker.RemoveFromHashSet(jewel1); jewel1 = null; jewelOneMovement.SetSwappingJewel(false); } if (jewel2 != null) { PowerStarTracker.RemoveFromHashSet(jewel2); jewel2 = null; jewelTwoMovement.SetSwappingJewel(false); } } checkForMatches.deleteList.Clear(); return; } deleteJewels.SetSwapComplete(true); if (!timeBombLevel && !jewelCollectorLevel) { bombHandler.DecreaseAllBombsInList(); } else if (jewelCollectorLevel) { moveNumberHandler.SubtractOneFromMoveNumber(); } if (!firstSwapPerformed) { GameObject.Find("Game Manager").GetComponent <GameManagerScript> ().SetFirstMoveMade(true); firstSwapPerformed = true; //Debug.Log ("First Swap Performed"); } if (jewel1 != null) { PowerStarTracker.RemoveFromHashSet(jewel1); jewel1 = null; jewelOneMovement.SetSwappingJewel(false); } if (jewel2 != null) { PowerStarTracker.RemoveFromHashSet(jewel2); jewel2 = null; jewelTwoMovement.SetSwappingJewel(false); } // stoppedMoving.SetGridStaticToFalse (); } } } }
public void Swap(GameObject firstJewel, GameObject secondJewel, bool swapBack) { // if (!swapBack && (PowerStarTracker.ContainsJewel (firstJewel) || PowerStarTracker.ContainsJewel (secondJewel))) { // return; // } jewel1 = firstJewel; jewel2 = secondJewel; if (firstJewel == null || secondJewel == null) { return; } jewelOneMovement = firstJewel.GetComponent <RockLevelJewelMovement> (); jewelOneMovement.SetSwappingJewel(true); jewelTwoMovement = secondJewel.GetComponent <RockLevelJewelMovement> (); jewelTwoMovement.SetSwappingJewel(true); PowerStarTracker.AddToHashSet(firstJewel); PowerStarTracker.AddToHashSet(secondJewel); soundHandler.ResetJewelBreakNumber(); soundHandler.PlayJewelSwap(); deleteJewels.PunchAssistanceTimeStamp(); swapJewelsBack = swapBack; pauseTouchForSwap = true; int tempRow, tempCol; deleteJewels.StampAssistantTimeCard(); // stoppedMoving.SetGridStaticToFalse (); if (jewelOneMovement.GetMoving() || jewelTwoMovement.GetMoving() || jewelOneMovement.GetToBeDestroyed() || jewelTwoMovement.GetToBeDestroyed()) { if (jewel1 != null) { PowerStarTracker.RemoveFromHashSet(jewel1); jewel1 = null; jewelOneMovement.SetSwappingJewel(false); } if (jewel2 != null) { PowerStarTracker.RemoveFromHashSet(jewel2); jewel2 = null; jewelTwoMovement.SetSwappingJewel(false); } return; } jewelOneMovement.SetMoving(true); jewelTwoMovement.SetMoving(true); tempRow = jewelOneMovement.GetRow(); tempCol = jewelOneMovement.GetCol();; jewelOneOriginalPos = firstJewel.transform.position; jewelTwoOriginalPos = secondJewel.transform.position; if (IsBomb(firstJewel) && !IsBomb(secondJewel)) { jewelTwoOriginalPos.x = jewelTwoOriginalPos.x + .035f; jewelOneOriginalPos.x = jewelOneOriginalPos.x - .035f; } else if (IsBomb(secondJewel) && !IsBomb(firstJewel)) { jewelOneOriginalPos.x = jewelOneOriginalPos.x + .035f; jewelTwoOriginalPos.x = jewelTwoOriginalPos.x - .035f; } jewelOneMovement.SetRow(jewelTwoMovement.GetRow()); jewelOneMovement.SetCol(jewelTwoMovement.GetCol()); jewelTwoMovement.SetRow(tempRow); jewelTwoMovement.SetCol(tempCol); jewel1.GetComponent <Rigidbody2D>().isKinematic = true; jewel2.GetComponent <Rigidbody2D>().isKinematic = true; firstJewelLayer = jewel1.layer; secondJewelLayer = jewel2.layer; jewel1.layer = 0; jewel2.layer = 0; startSwap = true; }
public void MoveSlug() { if (move || beingDeleted) { return; } directionCount = 0; movementDirection = GetRandomSlugDirection(); if (jewelMovement == null) { jewelMovement = GetComponent <RockLevelJewelMovement> (); } row = jewelMovement.GetRow(); col = jewelMovement.GetCol(); oldRow = row; oldCol = col; directionCount = 0; do { if (movementDirection == slugDirection.up) { if (row - 1 >= 0 && instantiator.GetJewelGridGameObject(row - 1, col) != null && IsJewel(instantiator.GetJewelGridGameObject(row - 1, col)) && instantiator.GetJewelGridGameObject(row - 1, col).name != "Slug Meal" && !swapJewel.IsASwapJewel(instantiator.GetJewelGridGameObject(row - 1, col))) { instantiator.GetJewelGridGameObject(row - 1, col).tag = "Slug Meal"; tempBoulder = (GameObject)Instantiate(currentBoulder, new Vector3(transform.position.x, transform.position.y, -.5f), Quaternion.identity); tempBoulder.GetComponent <RockLevelJewelMovement> ().SetBounced(true); tempBoulder.layer = gameObject.layer; tempBoulder.GetComponent <RockLevelJewelMovement> ().SetRow(row); tempBoulder.GetComponent <RockLevelJewelMovement> ().SetCol(col); instantiator.AddToJewelGrid(tempBoulder, row, col); targetX = transform.position.x; targetY = transform.position.y + .61f; jewelMovement.SetRow(row - 1); row--; destructionJewel = instantiator.GetJewelGridGameObject(row, col); instantiator.AddToJewelGrid(gameObject, row, col); gameObject.GetComponent <Rigidbody2D> ().isKinematic = true; transform.position = (new Vector3(transform.position.x, transform.position.y, -20)); move = true; return; } movementDirection = slugDirection.right; } else if (movementDirection == slugDirection.right) { if (col + 1 < 9 && instantiator.GetJewelGridGameObject(row, col + 1) != null && IsJewel(instantiator.GetJewelGridGameObject(row, col + 1)) && instantiator.GetJewelGridGameObject(row, col + 1).name != "Slug Meal" && !swapJewel.IsASwapJewel(instantiator.GetJewelGridGameObject(row, col + 1))) { instantiator.GetJewelGridGameObject(row, col + 1).tag = "Slug Meal"; tempBoulder = (GameObject)Instantiate(currentBoulder, new Vector3(transform.position.x, transform.position.y, -.5f), Quaternion.identity); tempBoulder.GetComponent <RockLevelJewelMovement> ().SetBounced(true); tempBoulder.layer = gameObject.layer; tempBoulder.GetComponent <RockLevelJewelMovement> ().SetRow(row); tempBoulder.GetComponent <RockLevelJewelMovement> ().SetCol(col); instantiator.AddToJewelGrid(tempBoulder, row, col); targetX = transform.position.x + .6125f; targetY = transform.position.y; jewelMovement.SetCol(col + 1); col++; destructionJewel = instantiator.GetJewelGridGameObject(row, col); instantiator.AddToJewelGrid(gameObject, row, col); gameObject.GetComponent <Rigidbody2D> ().isKinematic = true; transform.position = (new Vector3(transform.position.x, transform.position.y, -20)); move = true; return; } movementDirection = slugDirection.down; } else if (movementDirection == slugDirection.down) { if (row + 1 < 9 && instantiator.GetJewelGridGameObject(row + 1, col) != null && IsJewel(instantiator.GetJewelGridGameObject(row + 1, col)) && instantiator.GetJewelGridGameObject(row + 1, col).name != "Slug Meal" && !swapJewel.IsASwapJewel(instantiator.GetJewelGridGameObject(row + 1, col))) { instantiator.GetJewelGridGameObject(row + 1, col).tag = "Slug Meal"; tempBoulder = (GameObject)Instantiate(currentBoulder, new Vector3(transform.position.x, transform.position.y, -.5f), Quaternion.identity); tempBoulder.GetComponent <RockLevelJewelMovement> ().SetBounced(true); tempBoulder.layer = gameObject.layer; tempBoulder.GetComponent <RockLevelJewelMovement> ().SetRow(row); tempBoulder.GetComponent <RockLevelJewelMovement> ().SetCol(col); instantiator.AddToJewelGrid(tempBoulder, row, col); targetX = transform.position.x; targetY = transform.position.y - .61f; jewelMovement.SetRow(row + 1); row++; destructionJewel = instantiator.GetJewelGridGameObject(row, col); instantiator.AddToJewelGrid(gameObject, row, col); gameObject.GetComponent <Rigidbody2D> ().isKinematic = true; transform.position = (new Vector3(transform.position.x, transform.position.y, -20)); move = true; return; } movementDirection = slugDirection.left; } else if (movementDirection == slugDirection.left) { if (col - 1 >= 0 && instantiator.GetJewelGridGameObject(row, col - 1) != null && IsJewel(instantiator.GetJewelGridGameObject(row, col - 1)) && instantiator.GetJewelGridGameObject(row, col - 1).name != "Slug Meal" && !swapJewel.IsASwapJewel(instantiator.GetJewelGridGameObject(row, col - 1))) { instantiator.GetJewelGridGameObject(row, col - 1).tag = "Slug Meal"; tempBoulder = (GameObject)Instantiate(currentBoulder, new Vector3(transform.position.x, transform.position.y, -.5f), Quaternion.identity); tempBoulder.GetComponent <RockLevelJewelMovement> ().SetBounced(true); tempBoulder.layer = gameObject.layer; tempBoulder.GetComponent <RockLevelJewelMovement> ().SetRow(row); tempBoulder.GetComponent <RockLevelJewelMovement> ().SetCol(col); instantiator.AddToJewelGrid(tempBoulder, row, col); targetX = transform.position.x - .6125f; targetY = transform.position.y; jewelMovement.SetCol(col - 1); col--; destructionJewel = instantiator.GetJewelGridGameObject(row, col); instantiator.AddToJewelGrid(gameObject, row, col); gameObject.GetComponent <Rigidbody2D> ().isKinematic = true; transform.position = (new Vector3(transform.position.x, transform.position.y, -20)); move = true; return; } movementDirection = slugDirection.up; } directionCount++; } while (directionCount < 4); MoveNonJewelDirection(); }
private void FillArrays() { RockLevelJewelMovement jewelMovement; if (horizontalPositive) { positiveHorizontalDeletes = new GameObject[9]; int count; if (!RockLevelCorners.cornerJewelAdded) { count = nextJewelToExplodeCol - 1; RockLevelCorners.cornerJewelAdded = true; } else { count = nextJewelToExplodeCol; } int index = 0; while (count < 9) { addedCornerJewel = true; if (instantiator.GetJewelGridGameObject(nextJewelToExplodeRow, count) != null) { jewelMovement = instantiator.GetJewelGridGameObject(nextJewelToExplodeRow, count).GetComponent <RockLevelJewelMovement> (); if (!jewelMovement.JewelAddedToArray() && PowerStarTracker.AddToHashSet(instantiator.GetJewelGridGameObject(nextJewelToExplodeRow, count))) { positiveHorizontalDeletes[index] = instantiator.GetJewelGridGameObject(nextJewelToExplodeRow, count); jewelMovement.SetAddedToArray(true); } } index++; count++; } } else if (horizontalNegative) { negativeHorizontalDeletes = new GameObject[9]; int count; if (!RockLevelCorners.cornerJewelAdded) { count = nextJewelToExplodeCol + 1; RockLevelCorners.cornerJewelAdded = true; } else { count = nextJewelToExplodeCol; } int index = 0; while (count >= 0) { if (instantiator.GetJewelGridGameObject(nextJewelToExplodeRow, count) != null) { jewelMovement = instantiator.GetJewelGridGameObject(nextJewelToExplodeRow, count).GetComponent <RockLevelJewelMovement> (); if (!jewelMovement.JewelAddedToArray() && PowerStarTracker.AddToHashSet(instantiator.GetJewelGridGameObject(nextJewelToExplodeRow, count))) { negativeHorizontalDeletes[index] = instantiator.GetJewelGridGameObject(nextJewelToExplodeRow, count); jewelMovement.SetAddedToArray(true); } } index++; count--; } } else if (verticalPositive) { positiveVerticalDeletes = new GameObject[9]; int count; if (!RockLevelCorners.cornerJewelAdded) { count = nextJewelToExplodeRow + 1; RockLevelCorners.cornerJewelAdded = true; } else { count = nextJewelToExplodeRow; } int index = 0; while (count >= 0) { if (instantiator.GetJewelGridGameObject(count, nextJewelToExplodeCol) != null) { jewelMovement = instantiator.GetJewelGridGameObject(count, nextJewelToExplodeCol).GetComponent <RockLevelJewelMovement> (); if (!jewelMovement.JewelAddedToArray() && PowerStarTracker.AddToHashSet(instantiator.GetJewelGridGameObject(count, nextJewelToExplodeCol))) { positiveVerticalDeletes[index] = instantiator.GetJewelGridGameObject(count, nextJewelToExplodeCol); jewelMovement.SetAddedToArray(true); } } index++; count--; } } else if (verticalNegative) { negativeVerticalDeletes = new GameObject[9]; int count; if (!RockLevelCorners.cornerJewelAdded) { count = nextJewelToExplodeRow - 1; RockLevelCorners.cornerJewelAdded = true; } else { count = nextJewelToExplodeRow; } int index = 0; while (count < 9) { if (instantiator.GetJewelGridGameObject(count, nextJewelToExplodeCol) != null) { ; } jewelMovement = instantiator.GetJewelGridGameObject(count, nextJewelToExplodeCol).GetComponent <RockLevelJewelMovement> (); if (!jewelMovement.JewelAddedToArray() && PowerStarTracker.AddToHashSet(instantiator.GetJewelGridGameObject(count, nextJewelToExplodeCol))) { negativeVerticalDeletes[index] = instantiator.GetJewelGridGameObject(count, nextJewelToExplodeCol); jewelMovement.SetAddedToArray(true); } index++; count++; } } changeJewelName = true; }
// Update is called once per frame void Update() { // if (Mathf.Abs (transform.position.x) > 10 || Mathf.Abs (transform.position.y) > 10) { // corners.GetCornerStarList ().Remove (gameObject); // } if (movementStart && !fireStar) { transform.Translate(new Vector3((oppositeX - transform.position.x) * Time.deltaTime * 5f, (oppositeY - transform.position.y) * Time.deltaTime * 5f), Space.World); if (Mathf.Abs(transform.position.x - oppositeX) < .05f && Mathf.Abs(transform.position.y - oppositeY) < .05f) { fireStar = true; } } if (movementStart && fireStar) { if (!soundPlayed) { soundHandler.PlayPowerShot(); soundPlayed = true; } transform.Translate(new Vector3((targetX - transform.position.x) * Time.deltaTime * .25f, (targetY - transform.position.y) * Time.deltaTime * .25f, 0), Space.World); } // if (Mathf.Abs (transform.position.x) > 99) { // Destroy (gameObject); // } // if (Mathf.Abs (transform.position.y) > 99) { // Destroy (gameObject); // } if (arraysFilled && (Mathf.Abs(transform.position.x) > 10) && (horizontalPositive || horizontalNegative)) { if (positiveHorizontalDeletes != null && positiveHorizontalDeletes.Length >= arrayCount) { corners.GetCornerStarList().Remove(gameObject); Destroy(gameObject); } else if (negativeHorizontalDeletes != null && negativeHorizontalDeletes.Length >= arrayCount) { corners.GetCornerStarList().Remove(gameObject); Destroy(gameObject); } } else if (arraysFilled && (Mathf.Abs(transform.position.y) > 10) && (verticalPositive || verticalNegative)) { if (positiveVerticalDeletes != null && positiveVerticalDeletes.Length >= arrayCount) { corners.GetCornerStarList().Remove(gameObject); Destroy(gameObject); } else if (negativeVerticalDeletes != null && negativeVerticalDeletes.Length >= arrayCount) { corners.GetCornerStarList().Remove(gameObject); Destroy(gameObject); } } if (movementStart && fireStar) { if (!arraysFilled) { FillArrays(); arraysFilled = true; } if (timeForDelete && horizontalPositive && arrayCount < 9 && positiveHorizontalDeletes[arrayCount] != null && transform.position.x > positiveHorizontalDeletes[arrayCount].transform.position.x) { timeForDelete = false; if (IsJewel(gameObject.tag) || IsBomb(gameObject)) { jewelMovement = positiveHorizontalDeletes[arrayCount].GetComponent <RockLevelJewelMovement> (); jewelMovement.StartDestroyCountdown(); } if (positiveHorizontalDeletes[arrayCount] != null) { deleteList.Add(positiveHorizontalDeletes[arrayCount]); deleteJewels.DeleteAllJewelsInList(deleteList, true); } deleteList.Clear(); arrayCount++; } else if (horizontalPositive && arrayCount < 9 && positiveHorizontalDeletes[arrayCount] == null) { arrayCount++; } else { timeForDelete = true; } if (horizontalNegative && arrayCount < 9 && negativeHorizontalDeletes[arrayCount] != null && transform.position.x < negativeHorizontalDeletes[arrayCount].transform.position.x) { if (IsJewel(gameObject.tag) || IsBomb(gameObject)) { jewelMovement = negativeHorizontalDeletes[arrayCount].GetComponent <RockLevelJewelMovement> (); jewelMovement.StartDestroyCountdown(); } if (negativeHorizontalDeletes[arrayCount] != null) { deleteList.Add(negativeHorizontalDeletes[arrayCount]); deleteJewels.DeleteAllJewelsInList(deleteList, true); } deleteList.Clear(); arrayCount++; } else if (horizontalNegative && arrayCount < 9 && negativeHorizontalDeletes[arrayCount] == null) { arrayCount++; } if (timeForDelete && verticalNegative && arrayCount < 9 && negativeVerticalDeletes[arrayCount] != null && transform.position.y < negativeVerticalDeletes[arrayCount].transform.position.y) { timeForDelete = false; if (IsJewel(gameObject.tag) || IsBomb(gameObject)) { jewelMovement = positiveVerticalDeletes[arrayCount].GetComponent <RockLevelJewelMovement> (); jewelMovement.StartDestroyCountdown(); } if (negativeVerticalDeletes != null) { deleteList.Add(negativeVerticalDeletes[arrayCount]); deleteJewels.DeleteAllJewelsInList(deleteList, true); } deleteList.Clear(); arrayCount++; } else if (verticalNegative && arrayCount < 9 && negativeVerticalDeletes[arrayCount] == null) { arrayCount++; } else { timeForDelete = true; } if (verticalPositive && arrayCount < 9 && positiveVerticalDeletes[arrayCount] != null && transform.position.y > positiveVerticalDeletes[arrayCount].transform.position.y) { if (IsJewel(gameObject.tag) || IsBomb(gameObject)) { jewelMovement = negativeVerticalDeletes[arrayCount].GetComponent <RockLevelJewelMovement> (); jewelMovement.StartDestroyCountdown(); } if (positiveVerticalDeletes[arrayCount] != null) { deleteList.Add(positiveVerticalDeletes[arrayCount]); deleteJewels.DeleteAllJewelsInList(deleteList, true); } deleteList.Clear(); arrayCount++; } else if (verticalPositive && arrayCount < 9 && positiveVerticalDeletes[arrayCount] == null) { arrayCount++; } } }
public void DeleteAllJewelsInList(HashSet <GameObject> deleteList, bool powerUpDelete) { removeList = new HashSet <GameObject> (); if (deleteList.Count >= 3) { soundHandler.PlayJewelBreak(); } assistanceTimeStamp = Time.time; timeStamp = Time.time; okayToMoveTimeStamp = Time.time; okayToMoveAgain = false; matchAssistant.SetResetRandoms(true); movementChecker.SetGridStaticToFalse(); GameObject tempJewel; if (deleteList.Count == 4) { soundHandler.PlayPowerUpSound(); fourInARowScript.ActivateFourInARowPower(deleteList); // scoreKeeper.IncreaseScoreByFourJewelBonus (); } foreach (GameObject a in deleteList) { if (a != null) { if (!powerUpDelete && a.tag != "Boulder") { jewelMovement = a.GetComponent <RockLevelJewelMovement> (); if (jewelMovement.GetRow() + 1 < 9) { CheckForBoulders(jewelMovement.GetRow() + 1, jewelMovement.GetCol()); } if (jewelMovement.GetRow() - 1 >= 0) { CheckForBoulders(jewelMovement.GetRow() - 1, jewelMovement.GetCol()); } if (jewelMovement.GetCol() + 1 < 9) { CheckForBoulders(jewelMovement.GetRow(), jewelMovement.GetCol() + 1); } if (jewelMovement.GetCol() - 1 >= 0) { CheckForBoulders(jewelMovement.GetRow(), jewelMovement.GetCol() - 1); } } if (a.tag == "Boulder") { jewelMovement = a.GetComponent <RockLevelJewelMovement> (); if (CheckForBoulders(jewelMovement.GetRow(), jewelMovement.GetCol())) { removeList.Add(a); } } } } foreach (GameObject a in removeList) { deleteList.Remove(a); } foreach (GameObject a in boulderDeleteList) { deleteList.Add(a); } foreach (GameObject a in deleteList) { if (a != null) { deleteListCopy = deleteList; if (a != null && a.tag == "Steel Block") { PowerStarTracker.RemoveFromHashSet(a); } if (a != null && a.tag != "Steel Block" && a.name != "Rock 3 Chain(Clone)" && a.name != "Rock 2 Chain(Clone)" && a.name != "Rock 1 Chain(Clone)") { jewelMovement = a.GetComponent <RockLevelJewelMovement> (); // moveJewelsDown.MoveJewelsAboveDown(a); // if (GameObject.Find ("Time Bomb ID") != null) { // if (addJewels == null) // addJewels = GameObject.Find ("Time Bomb ID").GetComponent<AddTimeLevelOneJewels> (); // if (Bomb(a) && !bombHandler.TimeBombIsExploded ()) { // bombHandler.RemoveFromBombList (a); // addJewels.InstantiateSingleJewels (jewelMovement.GetCol (), true); // } else if (!bombHandler.TimeBombIsExploded ()) // addJewels.InstantiateSingleJewels (jewelMovement.GetCol (), false); // else if (bombHandler.TimeBombIsExploded ()) { // addJewels.InstantiateOnlyJewels (jewelMovement.GetCol ()); // } // } // else // instantiator.InstantiateSingleJewels (jewelMovement.GetRow (), jewelMovement.GetCol ()); if (Bomb(a) && GameObject.Find("Time Bomb ID") == null) { GameObject tempNumber = null; for (int i = 0; i < a.transform.childCount; i++) { if (a.transform.GetChild(i).tag == "Bomb Number") { tempNumber = a.transform.GetChild(i).gameObject; break; } } if (tempNumber != null) { tempNumber.transform.parent = null; tempNumber.GetComponent <BombNumberHandler> ().SetBombDestroyed(true); } if (bombHandler.GetBombListCount() == 1) { //Debug.Log ("Setting touch to fault"); touchHandler.SetGameStarted(false); } // bombInfo = a.GetComponent<LevelTwoBombInfo> (); // Instantiate (bombInfo.GetBombNumberSprite (), a.transform.position, Quaternion.identity); } else if (Bomb(a) && GameObject.Find("Time Bomb ID") != null) { GameObject tempBomb; // bombInfo = a.GetComponent<LevelTwoBombInfo> (); a.GetComponent <Rigidbody2D>().isKinematic = true; // bombInfo.SetBombDestroyed (true); } } } } boulderDeleteList.Clear(); foreach (GameObject a in deleteList) { if (a != null) { if (explosionsOn) { InstantiateExplosions(a); } if (a.tag != "Steel Block") { scoreKeeper.IncreaseScoreByOneJewel(); if (bombHandler.BombListContains(a)) { jewelMovement = a.GetComponent <RockLevelJewelMovement> (); bombHandler.RemoveFromBombList(a); bombHandler.DecreaseBombCounterByOne(); // scoreKeeper.IncreaseScoreByOneBomb (); } if (/*(GameObject.Find ("Time Bomb ID") == null || (GameObject.Find ("Time Bomb ID") != null && !Bomb (a))) &&*/ a.name != "Rock 3 Chain(Clone)" && a.name != "Rock 2 Chain(Clone)" && a.name != "Rock 1 Chain(Clone)") { if (GameObject.Find("Time Bomb ID") != null && Bomb(a)) { bombDestroyed = true; } tempPositionHolder = new PositionHolder(a.GetComponent <RockLevelJewelMovement> ().GetRow(), a.GetComponent <RockLevelJewelMovement> ().GetCol()); deletedPositions.Add(tempPositionHolder); int row = a.GetComponent <RockLevelJewelMovement> ().GetRow(); int col = a.GetComponent <RockLevelJewelMovement> ().GetCol(); a.GetComponent <RockLevelJewelMovement> ().StartDestroyCountdown(); PowerStarTracker.RemoveFromHashSet(a); if (a.name == "Slug(Clone)") { SlugListManager.RemoveFromSlugList(a); } if (GameObject.Find("Jewel Collection Level ID") != null && !endOfLevelJewelSprayer.GetSprayingInProgress()) { InstantiateStaticJewel(a); } Destroy(a); instantiator.SetJewelGridGameObject(row, col, null); // moveJewelsDown.MoveJewelsAboveDown (tempPositionHolder.GetCol (), tempPositionHolder.GetRow ()); // instantiator.InstantiateSingleJewels (tempPositionHolder.GetRow (), tempPositionHolder.GetCol ()); } } } } // deleteCount++; // // if (deleteCount == 3) { // deleteCount = 0; // GameObject.Find ("Pump Up Word Holder").GetComponent<PumpUpWordHolder> ().InstantiateWow (); // } powerTrackerTimestamp = Time.time; swapMadeTimestamp = Time.time; // if (swapComplete) { // swapComplete = false; // SlugListManager.MoveAllSlugs (); // } deleteList.Clear(); foreach (PositionHolder a in deletedPositions) { // //Debug.Log ("deletePositions.Size = " + deletedPositions.Count); int row = a.GetRow(); int col = a.GetCol(); moveJewelsDown.MoveJewelsAboveDown(col, row); // instantiator.InstantiateSingleJewels (row, col); //// while (row >= 0 && instantiator.GetJewelGridGameObject (row, col) == null) //// row--; //// if (instantiator.GetJewelGridGameObject (row, col) != null) //// instantiator.GetJewelGridGameObject (row, col).GetComponent<RockLevelJewelMovement> ().MoveDown (false); } List <PositionHolder> nullPositions = null; if (!starShooter.GetStartLaunchingStars()) { nullPositions = new List <PositionHolder> (); int positionTotal = deletedPositions.Count, nullCount = 0; bool breakSecondLoop = false; for (int i = 0; i < 9; i++) { for (int j = 0; j < 9; j++) { if (instantiator.GetJewelGridGameObject(i, j) == null) { nullCount++; nullPositions.Add(new PositionHolder(i, j)); if (nullCount >= positionTotal) { breakSecondLoop = true; } } } if (breakSecondLoop) { break; } } } foreach (PositionHolder a in deletedPositions) { if (tutorialLevel1) { instantiator.InstantiateLevelOneTutorialJewels(a.GetRow(), a.GetCol()); } else if (tutorialLevel2) { instantiator.InstantiateLevelTwoTutorialJewels(a.GetRow(), a.GetCol()); } else if (tutorialLevel3) { instantiator.InstantiateLevelThreeTutorialJewels(a.GetRow(), a.GetCol()); } else if (tutorialLevel4) { instantiator.InstantiateLevelFourTutorialJewels(a.GetRow(), a.GetCol()); } else { instantiator.InstantiateSingleJewels(a.GetRow(), a.GetCol()); } } if (!starShooter.GetStartLaunchingStars()) { int whileCount = 0; if (!tutorialLevel1 && !tutorialLevel2 && !tutorialLevel3 && noMatchChecker.CheckForNoMatchesWithoutShuffle() && noMatchCount < 3) { Debug.Log("MAKING A NEW MATCH"); noMatchCount++; do { foreach (PositionHolder a in nullPositions) { Destroy(instantiator.GetJewelGridGameObject(a.GetRow(), a.GetCol())); instantiator.SetJewelGridGameObject(a.GetRow(), a.GetCol(), null); instantiator.InstantiateSingleJewels(a.GetRow(), a.GetCol()); } if (whileCount > 100) { Debug.Log("WHILECOUNT BREAK"); break; } whileCount++; } while (noMatchChecker.CheckForNoMatchesWithoutShuffle()); } else { noMatchCount = 0; } } deletedPositions.Clear(); // foreach (PositionHolder a in boulderHolder) { // if (instantiator.GetJewelGridGameObject (a.GetRow (), a.GetCol ()) != null) { // checkForMatches.CheckForSwapBack (instantiator.GetJewelGridGameObject (a.GetRow (), a.GetCol ()), a.GetRow (), a.GetCol ()); // } // } // boulderHolder.Clear (); // if (shadeCount == 0 || shadeCount == 1) { // shadeController = controller.GetCurrentTutorialShade ().GetComponent<LevelTwoTutorialShadeController> (); // shadeController.MakeInvisible (); // shadeCount++; // } // if (swapComplete) { // swapComplete = false; // SlugListManager.MoveAllSlugs (); // } }
// Update is called once per frame void Update() { if (fourInARowStar) { if (!fireStar) { transform.Translate(new Vector3(oppositeX - transform.position.x, oppositeY - transform.position.y, 0) * Time.deltaTime * 8f, Space.World); if (Mathf.Abs(oppositeY - transform.position.y) < .05f) { if (!readyToFire) { readyToFire = true; } if (fourInARow.AllStarsReadyToFire()) { jewelToDestroy = instantiator.GetJewelGridGameObject(targetJewelRow, targetJewelCol); while (!PowerStarTracker.AddToHashSet(jewelToDestroy)) { targetJewelRow = Random.Range(0, 9); targetJewelCol = Random.Range(0, 9); jewelToDestroy = instantiator.GetJewelGridGameObject(targetJewelRow, targetJewelCol); targetPosition = (new Vector3(-2.45f + (targetJewelCol * .6125f), 2.591252f - (targetJewelRow * .6097268f), -90)); if (instantiatedCrosshairs != null) { Destroy(instantiatedCrosshairs); instantiatedCrosshairs = (GameObject)Instantiate(crosshairs, new Vector3(-2.45f + (targetJewelCol * .6125f), 2.591252f - (targetJewelRow * .6097268f), -79), Quaternion.identity); } } fireStar = true; timeStamp = Time.time; } } } else if (fireStar && Time.time > timeStamp + cooldown2) { if (!soundPlayed) { soundPlayed = true; soundHandler.PlayPowerShot(); } transform.Translate((targetPosition - transform.position) * Time.deltaTime * 20f, Space.World); int tempRow = 0, tempCol = 0; if ((Mathf.Abs(targetPosition.x - transform.position.x) < .2f && Mathf.Abs(targetPosition.y - transform.position.y) < .2f) || transform.position.y > 3f) { if (jewelToDestroy != null) { tempRow = jewelToDestroy.GetComponent <RockLevelJewelMovement> ().GetRow(); tempCol = jewelToDestroy.GetComponent <RockLevelJewelMovement> ().GetCol(); if (IsJewel(gameObject.tag) || IsBomb(gameObject)) { jewelMovement = jewelToDestroy.GetComponent <RockLevelJewelMovement> (); jewelMovement.StartDestroyCountdown(); } if (jewelToDestroy != null && !jewelToDestroy.GetComponent <RockLevelJewelMovement> ().GetMoving()) { deleteList.Add(jewelToDestroy); deleteJewels.DeleteAllJewelsInList(deleteList, true); } } if (instantiatedCrosshairs != null) { Destroy(instantiatedCrosshairs); } fourInARow.RemoveHomingStarFromList(gameObject); Destroy(gameObject); } } } else if (Time.time > timeStamp + cooldown1) { // if (!checkForRepeatJewel) { // while (!PowerStarTracker.AddToHashSet (jewelToDestroy)) { // targetJewelRow = Random.Range (0, 9); // targetJewelCol = Random.Range (0, 9); // jewelToDestroy = instantiator.GetJewelGridGameObject (targetJewelRow, targetJewelCol); // targetPosition = new Vector3 (-2.45f + (targetJewelCol * .6125f), 2.591252f - (targetJewelRow * .6097268f), -23); // } // checkForRepeatJewel = true; // } transform.Translate((targetPosition - transform.position) * Time.deltaTime * 7.5f, Space.World); if ((Mathf.Abs(targetPosition.x - transform.position.x) < .1f && Mathf.Abs(targetPosition.y - transform.position.y) < .1f) || transform.position.y > 3f) { Destroy(instantiatedCrosshairs); if (IsJewel(gameObject.tag) || IsBomb(gameObject)) { jewelMovement = instantiator.GetJewelGridGameObject(targetJewelRow, targetJewelCol).GetComponent <RockLevelJewelMovement> (); jewelMovement.StartDestroyCountdown(); } if (jewelToDestroy != null && !instantiator.GetJewelGridGameObject(targetJewelRow, targetJewelCol).GetComponent <RockLevelJewelMovement> ().GetMoving()) { deleteList.Add(jewelToDestroy); deleteJewels.DeleteAllJewelsInList(deleteList, true); } //Debug.Log ("Shooting Star From Second Method"); Destroy(gameObject); } } }
public void MoveJewelsAboveDown(int col, int row) { // int movableObjectPlaceHolder = 0, immovableObjectCount = 0; // bool jewelFound = false, bombFound = false; // GameObject tempObject = null; // // for (int i = 0; i < 9; i++) { // if ((instantiator.GetJewelGridGameObject(i, col) != null && IsJewel (instantiator.GetJewelGridGameObject (i, col).tag)) && tempObject == null) { // tempObject = instantiator.GetJewelGridGameObject (i, col); // continue; // } // else if ((instantiator.GetJewelGridGameObject (i, col) == null || (instantiator.GetJewelGridGameObject (i, col) != null && IsJewel (instantiator.GetJewelGridGameObject (i, col).tag))) && tempObject != null) { // jewelMovement = tempObject.GetComponent<RockLevelJewelMovement> (); // tempObject.layer = 17 + i; // tempObject.transform.Translate (new Vector3 (0, 0, -(i - jewelMovement.GetRow ()))); // instantiator.SetJewelGridGameObject (i, col, tempObject); // instantiator.SetJewelGridGameObject (jewelMovement.GetRow (), col, null); // jewelMovement.SetRow (i); // tempObject = null; // } // } int nullObjectCount = 0; int movedPassedImmovableObjects = 0; int immovableObjectCount = 0; bool lastBlockWasBoulder = false; int i = row, returnRow = 0; for (; i >= 0; i--) { if (instantiator.GetJewelGridGameObject(i, col) != null && (instantiator.GetJewelGridGameObject(i, col).tag == "Boulder" || instantiator.GetJewelGridGameObject(i, col).tag == "Steel Block" /*|| * (PowerStarTracker.ContainsJewel (instantiator.GetJewelGridGameObject (i, col)) && swapJewel.IsASwapJewel (instantiator.GetJewelGridGameObject (i, col))) /*|| swapJewel.IsASwapJewel (instantiator.GetJewelGridGameObject (i, col)) || instantiator.GetJewelGridGameObject (i, col).GetComponent<RockLevelJewelMovement> ().GetToBeDestroyed () || ||checkForMatches.deleteList.Contains (instantiator.GetJewelGridGameObject (i, col)*/)) { lastBlockWasBoulder = true; immovableObjectCount++; } if (lastBlockWasBoulder && instantiator.GetJewelGridGameObject(i, col) != null && IsBomb(instantiator.GetJewelGridGameObject(i, col))) { immovableObjectCount++; } if (instantiator.GetJewelGridGameObject(i, col) == null) { nullObjectCount++; } if (nullObjectCount > 0 && instantiator.GetJewelGridGameObject(i, col) != null && instantiator.GetJewelGridGameObject(i, col).tag != "Boulder" && instantiator.GetJewelGridGameObject(i, col).tag != "Steel Block") { if ((PowerStarTracker.ContainsJewel(instantiator.GetJewelGridGameObject(i, col)) && swapJewel.IsASwapJewel(instantiator.GetJewelGridGameObject(i, col)))) { break; } if (IsBomb(instantiator.GetJewelGridGameObject(i, col)) && lastBlockWasBoulder) { lastBlockWasBoulder = true; continue; } // else if (immovableObjectCount > 0 && movedPassedImmovableObjects < nullObjectCount) { instantiator.GetJewelGridGameObject(i, col).layer = instantiator.GetJewelGridGameObject(i, col).layer + nullObjectCount + immovableObjectCount; jewelMovement = instantiator.GetJewelGridGameObject(i, col).GetComponent <RockLevelJewelMovement> (); jewelMovement.SetMoving(true); instantiator.GetJewelGridGameObject(i, col).transform.Translate(new Vector3(0, 0, -(nullObjectCount + immovableObjectCount))); instantiator.SetJewelGridGameObject(i + nullObjectCount + immovableObjectCount, col, instantiator.GetJewelGridGameObject(i, col)); instantiator.SetJewelGridGameObject(i, col, null); jewelMovement.SetRow(i + nullObjectCount + immovableObjectCount); movedPassedImmovableObjects++; // if (immovableObjectCount > 0 && movedPassedImmovableObjects >= nullObjectCount) { immovableObjectCount = 0; movedPassedImmovableObjects = 0; nullObjectCount = 0; i = i + 1; // } lastBlockWasBoulder = false; // if (movedPassedImmovableObjects >= nullObjectCount) { // immovableObjectCount = 0; // movedPassedImmovableObjects = 0; // } // } else { // immovableObjectCount = 0; //// movedPassedImmovableObjects = 0; // instantiator.GetJewelGridGameObject (i, col).layer = instantiator.GetJewelGridGameObject (i, col).layer + nullObjectCount; // jewelMovement = instantiator.GetJewelGridGameObject (i, col).GetComponent<RockLevelJewelMovement> (); // instantiator.GetJewelGridGameObject (i, col).transform.Translate (new Vector3 (0, 0, - (nullObjectCount))); // instantiator.SetJewelGridGameObject (i + nullObjectCount, col, instantiator.GetJewelGridGameObject (i, col)); // instantiator.SetJewelGridGameObject (i, col, null); // jewelMovement.SetRow (i + nullObjectCount); // lastBlockWasBoulder = false; // } // lastBlockWasBoulder = false; } } // for (int j = 0; j < nullObjectCount; j++) { // instantiator.InstantiateSingleJewels (j, col); // } // jewelMovement = jewel.GetComponent<RockLevelJewelMovement> (); // if (jewel.name == ("Rock Blocked(Clone)")) { // jewelMovement.AddToRocksToBeDestroyed (jewel); // } // int i = jewelMovement.GetRow () - 1; // int j = jewelMovement.GetCol (); // immovableObjectCount = 0; // while (i >= 0) { // if (!NeverMoveDownObject (instantiator.GetJewelGridGameObject (i, j))) { // if (IsBomb (instantiator.GetJewelGridGameObject (i, j)) && (instantiator.GetJewelGridGameObject (i + 1, j) != null && NeverMoveDownObject (instantiator.GetJewelGridGameObject (i + 1, j)) && SometimesMoveDownObject (instantiator.GetJewelGridGameObject (i + 1, j)))) // {} //// if (SometimesMoveDownObject (instantiator.GetJewelGridGameObject (i, j)) //// || ((IsBomb (instantiator.GetJewelGridGameObject (i, j)) && //// (NeverMoveDownObject (instantiator.GetJewelGridGameObject (i + 1, j)) || //// SometimesMoveDownObject (instantiator.GetJewelGridGameObject (i + 1, j)))))) //// {} // else { // int k = i + 1; // instantiator.GetJewelGridGameObject (i, j).GetComponent<RockLevelJewelMovement> ().MoveDown (true); // //// immovableObjectCount = 0; //// while (k < 9 && !deleteJewels.IsContainedInDeleteList (instantiator.GetJewelGridGameObject (k, j)) && (instantiator.GetJewelGridGameObject (k, j).tag == "Boulder" || instantiator.GetJewelGridGameObject (k, j).tag == "Steel Block")) { //// k++; //// immovableObjectCount++; //// } //// instantiator.GetJewelGridGameObject (i, j).layer = (instantiator.GetJewelGridGameObject (i, j).layer + 1 + immovableObjectCount); //// jewelMovement = instantiator.GetJewelGridGameObject (i, j).GetComponent<RockLevelJewelMovement> (); //// instantiator.GetJewelGridGameObject (i, j).transform.Translate (new Vector3 (0, 0, -(1 + immovableObjectCount))); //// instantiator.SetJewelGridGameObject (jewelMovement.GetRow () + 1 + immovableObjectCount, jewelMovement.GetCol (), tempJewel); //// jewelMovement.SetRow (jewelMovement.GetRow () + 1 + immovableObjectCount); // } // } // i--; // } }