示例#1
0
    void Start()
    {
        Instance = this;
        mode     = (SceneManager.GetActiveScene().name.Contains("HeroBoard")) ? "hero" : string.Empty;

        GameObject[] linePlacementholder = GameObject.FindGameObjectsWithTag("LinePlacement");
        int          staticLineCount     = 0;

        //foreach (GameObject linePlacement in linePlacementholder)
        for (int i = 0; i < linePlacementholder.Length; i++)
        {
            Line currentLine = linePlacementholder[i].GetComponent <Line>();
            lineObjects.Add(currentLine);

            SpriteRenderer lineSprite = linePlacementholder[i].transform.parent.gameObject.GetComponent <SpriteRenderer>();
            if (lineSprite.enabled)
            {
                currentLine.SetLineStatic(true);
                staticLineCount++;
                currentLine.SetOpen(false);
            }
            else
            {
                currentLine.SetLineStatic(false);
                currentLine.SetOpen(true);
            }

            if (currentLine.IsPerimeterLine())
            {
                perimeterLines.Add(currentLine);
            }
        }


        // var holder = from element in perimeterLines
        //          orderby element.lineName
        //          select element;

        // foreach (Line line in holder)
        // {
        //  Debug.Log(line.lineName);
        // }


        isPlayerTurn = true;
        playerPoints = 0;

        GameObject[] powerUpHolder = GameObject.FindGameObjectsWithTag("PowerUp");
        int          x2Count       = 0;
        int          bombCount     = 0;
        int          thiefCount    = 0;

        //foreach (GameObject powerUp in powerUpHolder)
        for (int i = 0; i < powerUpHolder.Length; i++)
        {
            if (powerUpHolder[i].name.Contains("x2"))
            {
                x2Count++;
            }
            else if (powerUpHolder[i].name.Contains("Bomb"))
            {
                bombCount++;
            }
            else if (powerUpHolder[i].name.Contains("Thief"))
            {
                thiefCount++;
            }
        }

        totalLinesCount     = GameObject.Find("LineGrid").transform.childCount;
        totalPossiblePoints = totalLinesCount - staticLineCount + bombCount + (2 * x2Count) + (3 * thiefCount);

        oneStarScore   = (int)Mathf.Ceil(totalPossiblePoints * 0.3f);
        twoStarScore   = (int)Mathf.Floor(totalPossiblePoints * 0.6f);
        threeStarScore = (int)Mathf.Floor(totalPossiblePoints * 0.85f);

        if (mode != "hero")
        {
            playerPointsText      = GameObject.Find("CurrentBoxesText").GetComponent <Text>();
            playerPointsText.text = string.Empty + playerPoints;

            neededPointsText      = GameObject.Find("TotalBoxesText").GetComponent <Text>();
            neededPointsText.text = string.Empty + oneStarScore;
        }
    }
示例#2
0
    void Start()
    {
        //SaveLoad.Load();
        winLoseMenuCanvas         = GameObject.FindGameObjectWithTag("WinLoseMenu").GetComponent <Canvas>();
        winLoseMenuCanvas.enabled = false;


        //Titles
        boardCompleteImage = titleGroup.transform.Find("BoardComplete").gameObject;
        boardCompleteImage.SetActive(false);

        boardFailedImage = titleGroup.transform.Find("BoardFailed").gameObject;
        boardFailedImage.SetActive(false);

        gameWonImage = titleGroup.transform.Find("GameWon").gameObject;
        gameWonImage.SetActive(false);

        gameLostImage = titleGroup.transform.Find("GameLost").gameObject;
        gameLostImage.SetActive(false);

        drawImage = titleGroup.transform.Find("Draw").gameObject;
        drawImage.SetActive(false);

        playerOneWinsImage = titleGroup.transform.Find("PlayerOneWins").gameObject;
        playerOneWinsImage.SetActive(false);

        playerTwoWinsImage = titleGroup.transform.Find("PlayerTwoWins").gameObject;
        playerTwoWinsImage.SetActive(false);



        gameManagerObj = GameObject.Find("GameManager");
        if (gameManagerObj.GetComponent <CampaignGameManager>())
        {
            gameManagerCampaignRef = gameManagerObj.GetComponent <CampaignGameManager>();
            mode = "campaign";

            //2nd child is awarded star
            star01 = transform.Find("Star_01").gameObject;
            star01.transform.GetChild(2).gameObject.SetActive(false);

            star02 = transform.Find("Star_02").gameObject;
            star02.transform.GetChild(2).gameObject.SetActive(false);

            star03 = transform.Find("Star_03").gameObject;
            star03.transform.GetChild(2).gameObject.SetActive(false);

            scoreNumber      = transform.Find("ScoreNumber").GetComponent <Text>();
            scoreNumber.text = "";

            nextLevelButton = transform.Find("NextLevelButton").gameObject;
        }
        if (gameManagerObj.GetComponent <GameManager>())
        {
            gameManagerRef = gameManagerObj.GetComponent <GameManager>();
            mode           = "classic";

            scoreNumber      = transform.Find("ScoreNumber").GetComponent <Text>();
            scoreNumber.text = "";
        }
        else if (gameManagerObj.GetComponent <GameManagerTwoPlayer>())
        {
            gameManagerTwoPlayerRef = gameManagerObj.GetComponent <GameManagerTwoPlayer>();
            mode = "2player";

            p1ScoreNumber      = transform.Find("P1ScoreNumber").GetComponent <Text>();
            p1ScoreNumber.text = "";

            p2ScoreNumber      = transform.Find("P2ScoreNumber").GetComponent <Text>();
            p2ScoreNumber.text = "";
        }

        showingOutcome = false;
        didSave        = false;
    }