public void StartGame() { if (currentGame) { currentGame.ForceEnd(); } inGame = true; gameWon = false; playerScores = new int[4]; transitionStarted = false; scoreAdded = false; respawnNodes = new List <RespawnNode>(); goblets = new List <Goblet>(); gamesQueue = new List <Minigame>(); RespawnNode[] findNodes = FindObjectsOfType <RespawnNode>(); for (int i = 0; i < findNodes.Length; i++) { respawnNodes.Add(findNodes[i]); } Goblet[] findGoblets = FindObjectsOfType <Goblet>(); for (int i = 0; i < findGoblets.Length; i++) { goblets.Add(findGoblets[i]); } dialogHolder = GameObject.Find("DialogHolder"); field = GameObject.Find("Field"); RefillGames(); currentGame = gamesQueue[0]; gamesQueue.RemoveAt(0); for (int i = 0; i < controllers.Count; i++) { controllers[i].Enable(); RespawnNode playerNode = respawnNodes.Find(x => x.ID.Equals(controllers[i].ID)); controllers[i].transform.position = playerNode.transform.position; controllers[i].SetInitAttributes(); controllers[i].RespawnAt(playerNode.transform.position); } currentGame.Init(); veryFirstTimer = 4f; Camera.main.GetComponent <Animator>().SetTrigger("GodDemands"); dialogHolder.GetComponent <SpriteRenderer>().sprite = currentGame.instructions; winningCharacterSprite = GameObject.Find("WinningCharacterSprite"); winText = GameObject.Find("WinText"); }
public void StartGame() { if (currentGame) currentGame.ForceEnd(); inGame = true; gameWon = false; playerScores = new int[4]; transitionStarted = false; scoreAdded = false; respawnNodes = new List<RespawnNode>(); goblets = new List<Goblet>(); gamesQueue = new List<Minigame>(); RespawnNode[] findNodes = FindObjectsOfType<RespawnNode>(); for (int i = 0; i < findNodes.Length; i++) { respawnNodes.Add(findNodes[i]); } Goblet[] findGoblets = FindObjectsOfType<Goblet>(); for (int i = 0; i < findGoblets.Length; i++) { goblets.Add(findGoblets[i]); } dialogHolder = GameObject.Find("DialogHolder"); field = GameObject.Find("Field"); RefillGames(); currentGame = gamesQueue[0]; gamesQueue.RemoveAt(0); for (int i = 0; i < controllers.Count; i++) { controllers[i].Enable(); RespawnNode playerNode = respawnNodes.Find(x => x.ID.Equals(controllers[i].ID)); controllers[i].transform.position = playerNode.transform.position; controllers[i].SetInitAttributes(); controllers[i].RespawnAt(playerNode.transform.position); } currentGame.Init(); veryFirstTimer = 4f; Camera.main.GetComponent<Animator>().SetTrigger("GodDemands"); dialogHolder.GetComponent<SpriteRenderer>().sprite = currentGame.instructions; winningCharacterSprite = GameObject.Find("WinningCharacterSprite"); winText = GameObject.Find("WinText"); }
void Update() { if (sleepTimer > 0) { sleepTimer -= Time.deltaTime; } if (paused || sleepTimer > 0) { DeltaTime = 0; } else { DeltaTime = Time.deltaTime; } if (inGame) { if (!currentGame.finished && !transitionStarted) { veryFirstTimer -= DeltaTime; if (veryFirstTimer <= 0) { currentGame.Run(); } if (ControllerManager.instance.GetButtonDown(ControllerInputWrapper.Buttons.Start, PlayerID.One)) { if (!paused) { PauseGame(); } else { UnPauseGame(); } } } else { if (!transitionStarted) { transitionStarted = true; if (IncrementPlayerScore(currentGame.Winners)) { inGame = false; gameWon = true; winTimer = 3f; } demandingTimer = 5f; transitionTimer2 = 15f; if (gamesQueue.Count == 0) { RefillGames(); } currentGame = gamesQueue[0]; gamesQueue.RemoveAt(0); } else { demandingTimer -= DeltaTime; if (demandingTimer <= 0) { transitionTimer2 = 5f; demandingTimer = 10f; Camera.main.GetComponent <Animator>().SetTrigger("GodDemands"); SFXManager.instance.source.PlayOneShot(SFXManager.instance.RandomGodTalk()); dialogHolder.GetComponent <SpriteRenderer>().sprite = currentGame.instructions; } transitionTimer2 -= DeltaTime; if (transitionTimer2 <= 0) { currentGame.Init(); transitionStarted = false; } } } if (dialogHolder != null) { dialogHolder.transform.localScale = Vector3.one * Mathf.Max(1.5f, (Mathf.Sin(Time.time * 8f) + 1)); } } else if (gameWon) { inGame = false; winTimer -= DeltaTime; if (winTimer <= 0) { gameWon = false; Camera.main.GetComponent <EndGameUI>().enabled = true; Camera.main.GetComponent <Animator>().SetTrigger("GameEnd"); for (int i = 0; i < controllers.Count; i++) { if (controllers[i].Character == winningCharacter) { winningCharacterSprite.GetComponent <Image>().sprite = controllers[i].Sprite.GetComponent <SpriteRenderer>().sprite; winText.GetComponent <Text>().text = "Congratulations! " + controllers[i].Character + " Was Sacrificed!"; //winText.GetComponent<Text>().color = Color.black; EventSystem.current.SetSelectedGameObject(GameObject.Find("PlayAgain")); break; } } } } }
public void StartGame() { inGame = true; /* Controller[] findControllers = FindObjectsOfType<Controller>(); for (int i = 0; i < findControllers.Length; i++) { controllers.Add(findControllers[i]); } */ RespawnNode[] findNodes = FindObjectsOfType<RespawnNode>(); for (int i = 0; i < findNodes.Length; i++) { respawnNodes.Add(findNodes[i]); } Goblet[] findGoblets = FindObjectsOfType<Goblet>(); for (int i = 0; i < findGoblets.Length; i++) { goblets.Add(findGoblets[i]); } dialogHolder = GameObject.Find("DialogHolder"); field = GameObject.Find("Field"); currentGame = games[Random.Range(0, games.Count)]; for (int i = 0; i < controllers.Count; i++) { controllers[i].Enable(); RespawnNode playerNode = respawnNodes.Find(x => x.ID.Equals(controllers[i].ID)); controllers[i].transform.position = playerNode.transform.position; } currentGame.Init(); veryFirstTimer = 4f; Camera.main.GetComponent<Animator>().SetTrigger("GodDemands"); dialogHolder.GetComponent<SpriteRenderer>().sprite = currentGame.instructions; winningCharacterSprite = GameObject.Find("WinningCharacterSprite"); winText = GameObject.Find("WinText"); }