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); }
// Update is called once per frame void Update() { if (!falling && GetComponent <Rigidbody2D>().velocity.y < 0) { transform.position = new Vector3(instantiator.GetJewelGridGameObject(targetRow, targetCol).transform.position.x, transform.position.y, transform.position.z); falling = true; } if (falling) { if (transform.position.y < instantiator.GetJewelGridGameObject(targetRow, targetCol).transform.position.y) { if (tag != "Bomb") { soundHandler.PlayJewelBreak(); if (PowerStarTracker.AddToHashSet(instantiator.GetJewelGridGameObject(targetRow, targetCol))) { HashSet <GameObject> deleteList = new HashSet <GameObject> (); deleteList.Add(instantiator.GetJewelGridGameObject(targetRow, targetCol)); deleteJewels.DeleteAllJewelsInList(deleteList, true); } PaidPowerTracker.RemovePowerFromList(gameObject); Destroy(gameObject); } else { DestroySurroundingJewels(); PaidPowerTracker.RemovePowerFromList(gameObject); Destroy(gameObject); } } } }
void FillDeleteRowArray() { if (directionInt == 0 || directionInt == 1) { for (int i = 0; i < 9; i++) { if (instantiator.GetJewelGridGameObject(i, targetJewelCol) != null && instantiator.GetJewelGridGameObject(i, targetJewelCol).tag != "Steel Block" && PowerStarTracker.AddToHashSet(instantiator.GetJewelGridGameObject(i, targetJewelCol))) { deleteRowArray[i] = instantiator.GetJewelGridGameObject(i, targetJewelCol); } } } else if (directionInt == 2 || directionInt == 3) { for (int i = 0; i < 9; i++) { if (instantiator.GetJewelGridGameObject(targetJewelRow, i) != null && instantiator.GetJewelGridGameObject(targetJewelRow, i).tag != "Steel Block" && PowerStarTracker.AddToHashSet(instantiator.GetJewelGridGameObject(targetJewelRow, i))) { deleteRowArray[i] = instantiator.GetJewelGridGameObject(targetJewelRow, i); } } } }
// 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); } }
void DestroySurroundingJewels() { HashSet <GameObject> deleteList = new HashSet <GameObject> (); GameObject tempJewel = null; if (PowerStarTracker.AddToHashSet(instantiator.GetJewelGridGameObject(targetRow, targetCol))) { deleteList.Add(instantiator.GetJewelGridGameObject(targetRow, targetCol)); } if (targetRow - 1 >= 0) { tempJewel = instantiator.GetJewelGridGameObject(targetRow - 1, targetCol); if (PowerStarTracker.AddToHashSet(tempJewel)) { deleteList.Add(tempJewel); } if (targetCol + 1 <= 8) { tempJewel = instantiator.GetJewelGridGameObject(targetRow - 1, targetCol + 1); if (PowerStarTracker.AddToHashSet(tempJewel)) { deleteList.Add(tempJewel); } } if (targetCol - 1 >= 0) { tempJewel = instantiator.GetJewelGridGameObject(targetRow - 1, targetCol - 1); if (PowerStarTracker.AddToHashSet(tempJewel)) { deleteList.Add(tempJewel); } } } if (targetRow + 1 <= 8) { tempJewel = instantiator.GetJewelGridGameObject(targetRow + 1, targetCol); if (PowerStarTracker.AddToHashSet(tempJewel)) { deleteList.Add(tempJewel); } if (targetCol + 1 <= 8) { tempJewel = instantiator.GetJewelGridGameObject(targetRow + 1, targetCol + 1); if (PowerStarTracker.AddToHashSet(tempJewel)) { deleteList.Add(tempJewel); } } if (targetCol - 1 >= 0) { tempJewel = instantiator.GetJewelGridGameObject(targetRow + 1, targetCol - 1); if (PowerStarTracker.AddToHashSet(tempJewel)) { deleteList.Add(tempJewel); } } } if (targetCol + 1 <= 8) { tempJewel = instantiator.GetJewelGridGameObject(targetRow, targetCol + 1); if (PowerStarTracker.AddToHashSet(tempJewel)) { deleteList.Add(tempJewel); } } if (targetCol - 1 >= 0) { tempJewel = instantiator.GetJewelGridGameObject(targetRow, targetCol - 1); if (PowerStarTracker.AddToHashSet(tempJewel)) { deleteList.Add(tempJewel); } } Instantiate(bombExplosion, transform.position, Quaternion.Euler(180, 0, 0)); deleteJewels.DeleteAllJewelsInList(deleteList, true); }
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; }
// 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); } } }
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; }