private void Escape(GameObject target, List <object> parameters) { if (parameters.Count == 0) { throw new Exception("Missing parameter: Could not find list of robbers parameter"); } foreach (object robber in parameters) { if (robber.GetType() != typeof(GameObject)) { throw new Exception("Illegal argument: parameter wrong type"); } } List <GameObject> robbersCloseToEscapeVan = parameters.Select(robber => (GameObject)robber).ToList(); if (robbers.All(robbersCloseToEscapeVan.Contains)) { if (GetAccumulatedStolenMoney() >= winAmount) { //Store money, robbers, and next level StaticMoney.SetMoney(GetAccumulatedStolenMoney()); //StaticMoney.set StaticMoney.SetRobbersAlive(robbers.Count); StaticMoney.SetLastScene(SceneManager.GetActiveScene().buildIndex + 1); SceneManager.LoadScene(1); //print(LoadNewScene.scene); //load next scene unless no more levels, then load title screen //if(LoadNewScene.scene <= 3) {SceneManager.LoadScene(LoadNewScene.scene);} ///else {SceneManager.LoadScene(0);} } } }
private void Escape(GameObject target, List <object> parameters) { if (parameters.Count == 0) { throw new Exception("Missing parameter: Could not find list of robbers parameter"); } foreach (object robber in parameters) { if (robber.GetType() != typeof(GameObject)) { throw new Exception("Illegal argument: parameter wrong type"); } } List <GameObject> robbersCloseToEscapeVan = parameters.Select(robber => (GameObject)robber).ToList(); if (robbers.All(robbersCloseToEscapeVan.Contains)) { if (GetAccumulatedStolenMoney() >= winAmount) { float money = StaticMoney.GetMoneyCount(); float stolenMoney = GetAccumulatedStolenMoney(); float refundedMoney = 0; foreach (GameObject robber in allRobbers) { if (robber.name.Contains("Fast")) { refundedMoney += Constants.BASE_FAST_ROBBER_COST; } if (robber.name.Contains("Strong")) { refundedMoney += Constants.BASE_STRONG_ROBBER_COST; } if (robber.name.Contains("Big")) { refundedMoney += Constants.BASE_BIG_ROBBER_COST; } if (robber.name.Contains("Greedy")) { refundedMoney += Constants.BASE_GREEDY_ROBBER_COST; } } //Store money, robbers, and next level StaticMoney.SetMoney(money); StaticMoney.SetStolenMoney(stolenMoney); StaticMoney.SetRefundedMoney(refundedMoney); StaticMoney.SetTotalMoney(money + stolenMoney + refundedMoney); StaticMoney.SetRobbersAlive(allRobbers.Count); StaticMoney.SetLastScene(SceneManager.GetActiveScene().buildIndex + 1); SceneManager.LoadScene(1); //print(LoadNewScene.scene); //load next scene unless no more levels, then load title screen //if(LoadNewScene.scene <= 3) {SceneManager.LoadScene(LoadNewScene.scene);} ///else {SceneManager.LoadScene(0);} } } }
private void LoseGame(GameObject target, List <object> parameters) { isGameOver = true; StaticMoney.ResetMoney(); Time.timeScale = 0; gameOver.gameObject.SetActive(true); pauseScreen.gameObject.SetActive(false); restartButton.gameObject.SetActive(true); }
// Start is called before the first frame update void Start() { text = GetComponent <TMP_Text>(); money = StaticMoney.GetMoneyCount(); robbersAlive = StaticMoney.GetRobbersAlive(); total = StaticMoney.GetTotalMoneyCount(); }
private bool CheckIfEnoughMoney(int robberNum, int slotNum) { float newAmount = StaticMoney.GetMoneyCount(); if (selectedRobbers[slotNum] != null) { newAmount += GetRobberCost(selectedRobbers[slotNum]); } newAmount -= GetNewRobberCost(robberPrefabs[robberNum]); return(newAmount > 0); }
IEnumerator LoadNextLevel() { yield return(new WaitForSeconds(3)); if (StaticMoney.GetLastScene() <= 4) { SceneManager.LoadSceneAsync(StaticMoney.GetLastScene()); } else { SceneManager.LoadSceneAsync(0); } }
// Start is called before the first frame update void Start() { text = GetComponent <TMP_Text>(); robbersAlive = StaticMoney.GetRobbersAlive(); money = StaticMoney.GetMoneyCount(); stolenMoney = StaticMoney.GetStolenMoney(); refundedMoney = StaticMoney.GetRefundedMoney(); total = StaticMoney.GetTotalMoneyCount(); }
private void Awake() { List <MonoBehaviour> deps = new List <MonoBehaviour> { (gem = FindObjectOfType(typeof(GlobalEventManager)) as GlobalEventManager), }; if (deps.Contains(null)) { throw new Exception("Could not find dependency"); } money = StaticMoney.GetMoneyCount(); UpdateMoneyText(); gem.StartListening("SetSelectionMoney", UpdateMoney); gem.StartListening("StartGame", HideText); gem.StartListening("LostGame", Destroy); }
// Update is called once per frame void Update() { //displays image over button // Only go into this if statement // if the player has enough money to buy anything to begin with if (robberNum > -1 && slotNum > -1) { button = buttonList[slotNum]; if (CheckIfEnoughMoney(robberNum, slotNum) == false) { robberNum = -1; slotNum = -1; button.transform.GetChild(1).gameObject.SetActive(false); button.transform.GetChild(0).gameObject.SetActive(false); return; } if (selectedRobbers[slotNum] != null) { StaticMoney.AddMoney(GetRobberCost(selectedRobbers[slotNum])); } StaticMoney.RemoveMoney(GetNewRobberCost(robberPrefabs[robberNum])); gem.TriggerEvent("SetSelectionMoney", gameObject, new List <object> { StaticMoney.GetMoneyCount() }); button.image.sprite = robberList[robberNum]; selectedRobbers[slotNum] = robberPrefabs[robberNum]; button.transform.GetChild(1).gameObject.SetActive(false); button.transform.GetChild(0).gameObject.SetActive(false); //shows next button //TODO: dont show button if player can't afford if (slotNum < 3) { button = buttonList[slotNum + 1]; button.transform.gameObject.SetActive(true); } //reset robberNum = -1; slotNum = -1; } }
private void CountTotal() { countingMoney += (int)(addingAmount + speedup); if (countingMoney > total) { doneCountingMoney = true; countingMoney = (int)total; doneCountingTotal = true; // sets money to total money to prepare for next map StaticMoney.SetMoney(StaticMoney.GetTotalMoney()); button.SetActive(true); } text.text = moneyText + countingMoney; speedup += speedupAmount; }
public void RestartLevel() { Time.timeScale = 1; StaticMoney.ResetMoney(); SceneManager.LoadScene(SceneManager.GetActiveScene().name); }