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);
    }
Exemplo n.º 2
0
    // 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);
        }
    }
Exemplo n.º 3
0
    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);
            }
        }
    }