public void ShowCampaignBoard(string boardToShow) { levelsCommonAssets.SetActive(true); GameObject currentBoard = levelsGroup.transform.Find(boardToShow).gameObject; currentBoard.SetActive(true); currentBoard.transform.Find("StarsInfo").transform.Find("StarsObtained").GetComponent <Text>().text = CampaignData.GetBoardStars(currentBoard.name).ToString(); currentBoardLevels = currentBoard.transform.Find("LevelSlider").transform.GetChild(0).transform.GetChild(0).gameObject; List <GameObject> levelButtons = new List <GameObject>(); foreach (Transform child in currentBoardLevels.transform) { levelButtons.Add(child.gameObject); } for (int i = 0; i < levelButtons.Count; i++) { GameObject btn = levelButtons[i]; //Handle Transparency string lvlNum = btn.name.Substring(6, btn.name.Length - 6); int prevLevel = (int.Parse(lvlNum.Substring(2, lvlNum.Length - 2))) - 1; string prevLevelName = lvlNum.Substring(0, 1) + "-" + prevLevel; int levelStarRating = CampaignData.GetLevelStats(lvlNum).starRating; //Debug.Log(lvlNum + " Stars: " + levelStarRating); //If level completed if (CampaignData.GetLevelStats(lvlNum).isComplete) { btn.transform.Find("CheckMark").gameObject.SetActive(true); if (levelStarRating == 1) { btn.transform.Find("1Star").gameObject.SetActive(true); } else if (levelStarRating == 2) { btn.transform.Find("2Stars").gameObject.SetActive(true); } else if (levelStarRating == 3) { btn.transform.Find("3Stars").gameObject.SetActive(true); } else { btn.transform.Find("1Star").gameObject.SetActive(false); btn.transform.Find("2Stars").gameObject.SetActive(false); btn.transform.Find("3Stars").gameObject.SetActive(false); } } if (prevLevel != 0 && !CampaignData.GetLevelStats(prevLevelName).isComplete || (lvlNum == "2-1" && !CampaignData.GetHeroBoardStats(HeroManager.Hero.Multiplier).isComplete) || (lvlNum == "3-1" && !CampaignData.GetHeroBoardStats(HeroManager.Hero.Demolition).isComplete)) { btn.GetComponent <Button>().enabled = false; Color temp = btn.GetComponent <Image>().color; temp.a = 0.5f; btn.GetComponent <Image>().color = temp; Color textTemp = btn.transform.Find("LevelText").GetComponent <Text>().color; textTemp.a = 0.5f; btn.transform.Find("LevelText").GetComponent <Text>().color = textTemp; } else if (prevLevel != 0 && CampaignData.GetLevelStats(prevLevelName).isComplete) { btn.GetComponent <Button>().enabled = true; Color temp = btn.GetComponent <Image>().color; temp.a = 1f; btn.GetComponent <Image>().color = temp; Color textTemp = btn.transform.Find("LevelText").GetComponent <Text>().color; textTemp.a = 1f; btn.transform.Find("LevelText").GetComponent <Text>().color = textTemp; } } //If completed all previous level, unlocked hero board (later add check for # of stars required) string lastLevelName = levelButtons[levelButtons.Count - 1].name.Split('_')[1]; if (CampaignData.GetLevelStats(lastLevelName).isComplete&& CampaignData.EnoughBoardStars(currentBoard.name)) { //Debug.Log("Star Count: " + CampaignData.GetBoardStars(currentBoard.name)); currentBoard.transform.Find("Locked").gameObject.SetActive(false); } //Debug.Log("Star Count: " + CampaignData.GetBoardStars(currentBoard.name)); boardSelectMenu.SetActive(false); }
IEnumerator ShowOutcomeText(string mode, float waitDelay) { showingOutcome = true; yield return(new WaitForSeconds(waitDelay)); if (mode == "classic") { scoreNumber.text = GameManager.Instance.GetPlayerPoints() + " / " + GameManager.Instance.GetTotalPoints(); if (GameManager.Instance.PlayerWon() == "W") { //Debug.Log("Game Won"); gameWonImage.SetActive(true); gameLostImage.SetActive(false); drawImage.SetActive(false); } else if (GameManager.Instance.PlayerWon() == "L") { //Debug.Log("Game Lost"); gameLostImage.SetActive(true); gameWonImage.SetActive(false); drawImage.SetActive(false); } else { //Debug.Log("Draw"); drawImage.SetActive(true); gameWonImage.SetActive(false); gameLostImage.SetActive(false); } } else if (mode == "2player") { if (GameManagerTwoPlayer.Instance.PlayerWon() == "W1") { //Debug.Log("P1 Wins"); playerOneWinsImage.SetActive(true); playerTwoWinsImage.SetActive(false); drawImage.SetActive(false); } else if (GameManagerTwoPlayer.Instance.PlayerWon() == "W2") { //Debug.Log("P2 Wins"); playerTwoWinsImage.SetActive(true); playerOneWinsImage.SetActive(false); drawImage.SetActive(false); } else { //Debug.Log("Draw"); drawImage.SetActive(true); playerOneWinsImage.SetActive(false); playerTwoWinsImage.SetActive(false); } p1ScoreNumber.text = GameManagerTwoPlayer.Instance.GetPlayerPoints("One") + " / " + GameManagerTwoPlayer.Instance.GetTotalPoints(); p2ScoreNumber.text = GameManagerTwoPlayer.Instance.GetPlayerPoints("Two") + " / " + GameManagerTwoPlayer.Instance.GetTotalPoints(); } else if (mode == "campaign") { string sceneName = SceneManager.GetActiveScene().name; string levelName = sceneName.Split('_')[1]; if (CampaignGameManager.Instance.PlayerWon() == "L") { boardFailedImage.SetActive(true); boardCompleteImage.SetActive(false); } else { boardCompleteImage.SetActive(true); boardFailedImage.SetActive(false); Debug.Log("Won"); int newStarRating = 0; Debug.Log(CampaignGameManager.Instance.PlayerWon()); if (CampaignGameManager.Instance.PlayerWon() == "S01") { star01.transform.GetChild(2).gameObject.SetActive(true); newStarRating = 1; } else if (CampaignGameManager.Instance.PlayerWon() == "S02") { star01.transform.GetChild(2).gameObject.SetActive(true); star02.transform.GetChild(2).gameObject.SetActive(true); newStarRating = 2; } else if (CampaignGameManager.Instance.PlayerWon() == "S03") { star01.transform.GetChild(2).gameObject.SetActive(true); star02.transform.GetChild(2).gameObject.SetActive(true); star03.transform.GetChild(2).gameObject.SetActive(true); newStarRating = 3; } LevelStats currentStats = CampaignData.GetLevelStats(levelName); int starChange = 0; if (!currentStats.isComplete) { currentStats.isComplete = true; } if (currentStats.starRating < newStarRating) { starChange = newStarRating - currentStats.starRating; currentStats.starRating = newStarRating; Debug.Log("New Star Rating: " + currentStats.starRating); } if (currentStats.bestScore < CampaignGameManager.Instance.GetPlayerPoints()) { currentStats.bestScore = CampaignGameManager.Instance.GetPlayerPoints(); } CampaignData.SetLevelStats(levelName, currentStats); if (levelName[0] == '1') { CampaignData.UpdateBoardStars("BoardOne", starChange); } else if (levelName[0] == '2') { CampaignData.UpdateBoardStars("BoardTwo", starChange); } else if (levelName[0] == '3') { CampaignData.UpdateBoardStars("BoardThree", starChange); } if (!didSave) { SaveLoad.Save(); didSave = true; } } scoreNumber.text = "" + CampaignGameManager.Instance.GetPlayerPoints(); if (CampaignData.GetLevelStats(levelName).isComplete) { Color temp = nextLevelButton.GetComponent <Image>().color; temp.a = 1f; nextLevelButton.GetComponent <Image>().color = temp; nextLevelButton.GetComponent <Button>().enabled = true; } else { Color temp = nextLevelButton.GetComponent <Image>().color; temp.a = 0.5f; nextLevelButton.GetComponent <Image>().color = temp; nextLevelButton.GetComponent <Button>().enabled = false; } } }