// Called by overworld to set params public void InitGame(int currBiomeID, int playerCount) { m_playerCount = playerCount; m_background.GetComponent <BackgroundScript>().SetSprite(currBiomeID); m_playerIDS = GameObject.FindGameObjectsWithTag("Portrait"); for (int i = 0; i < m_playerIDS.Length; i++) { m_portraits.Add(m_playerIDS[i].GetComponent <PortaitScript>()); if (m_portraits[i].IsLocalPlayerPortrait()) { m_localPortrait = m_portraits[i]; } } for (int i = 0; i < playerCount; i++) { GameObject newHammer = (GameObject)Instantiate(hammerPrefab, new Vector3(0.0f, 0.0f, -3.0f), Quaternion.identity); m_hammers.Add(newHammer); // Get saved char from lobby script from I wherever saved character info is stored Actor currActor = Actor.Aqua; // Set as default to blue m_hammers[i].GetComponent <IconHandlerScripts>().InitHammer(playerCount, (int)currActor, i); } m_currState = GameState.Waiting; }
// Use this for initialization void Start() { SceneManager.SetActiveScene(SceneManager.GetSceneByBuildIndex(6)); // Set Client ID // Set Portraits // Set Powerup state playerScore = 0.0f; m_currState = GAMESTATE.Start; m_pedObjects = new List <GameObject>(); m_spawnTimer = new float[maxZDist - minZDist]; m_spawnRateRand = new float[maxZDist - minZDist]; for (int i = 0; i < maxZDist - minZDist; i++) { m_spawnRateRand[i] = Random.Range(spawnRateMin, spawnRateMax); } // Call start menu // StartMenu(); m_musicFadeOut = backgroundMusic.GetComponent <MusicFadeOut>(); portraits = GameObject.FindGameObjectsWithTag("Portrait"); newCanvas = Instantiate(tutorialCanvas, new Vector3(0.0f, 0.0f, 0.0f), Quaternion.identity); tutorialTimerTxt = GUIText.FindObjectOfType <Text>(); //Iterate through the length of the portrait scripts for (int i = 0; i < portraits.Length; i++) { //add the portraits locally portraitScripts.Add(portraits [i].GetComponent <PortaitScript> ()); //find the local player ad set it to the relative portrait if (portraitScripts [i].IsLocalPlayerPortrait()) { localPortrait = portraitScripts [i]; } } handSpawnScript = handSpawn.GetComponent <HandSpawn> (); }
//set up local multiplayer info so score only goes up on the local player void SetUpLocalPlayer() { switch (LocalPlayerInfo.multiplayerIndex) { case 1: m_LocalPlayerStats = Player1Stats; break; case 2: m_LocalPlayerStats = Player2Stats; break; case 3: m_LocalPlayerStats = Player3Stats; break; case 4: m_LocalPlayerStats = Player4Stats; break; } }
//update function void Update() { //for every game state switch (m_gameState) { //start state for the tutorial scene case GameState.start: DisplayTutorial(); break; //transition between overworld and minigame case GameState.transition: //fade in animation if (FadeInAnimation.AnimationEnded()) { //Display tutorial // if (!bTutorialCanvasInstantiated) // { // InstantiateTutorialCanvasOnce(); // Destroy(m_tutorialCanvas); // } if (!bMoleAnimationInstantiated) { //Instantiate mole plane animation MolePlaneAnim = Instantiate(Resources.Load("Minigames/PlantMinigame/Prefabs/MolePlane")) as GameObject; MoleAnimation = MolePlaneAnim.GetComponent <StopAnimationScript>(); bMoleAnimationInstantiated = true; //get all portrait script objects m_portraits = GameObject.FindGameObjectsWithTag("Portrait"); //for every object found for (int i = 0; i < m_portraits.Length; i++) { //get the portrait script inside it m_portraitScripts.Add(m_portraits [i].GetComponent <PortaitScript> ()); //check if the player is the local player, if it is, contain it in localplayerportrait if (m_portraitScripts [i].IsLocalPlayerPortrait()) { LocalPlayerPortrait = m_portraitScripts [i]; } } } if (MoleAnimation.AnimationEnded()) { //Instantiate countdown text for countdown phase GameObject countDownObject = Instantiate(Resources.Load("Minigames/UniversalMinigamePrefabs/CountDownText")) as GameObject; countDownObject.transform.SetParent(GameObject.Find("MinigameCanvas").transform); countDownObject.transform.localPosition = new Vector3(0.0f, 0.0f, 1.0f); countDownScript = GameObject.Find("CountDownText(Clone)").GetComponent <CountDownScript>(); m_gameState = GameState.countdown; } } //Transition period between overworld and minigame before game countdown //Possible tutorial page //wait for everyone to be connected and synced break; //countdown before game begins case GameState.countdown: //if the countdown animation ended if (countDownScript.AnimationEnded()) { //start game and switch gamestate Destroy(MolePlaneAnim); m_gameState = GameState.playing; } break; //playing the game case GameState.playing: //if the garden hasn't been generated yet if (!m_gridGenerated) { //generate it only once pGrid.CreateGrid(width, height); m_gridGenerated = true; } //if the game hasn't ended if (!GameEnded()) { //update game logic CountDown(); if (bSwipeLockout == false) { SwipeLine(); OnTileClick(); } else { LockOutTimer(); } } //if the game HAS ended else if (GameEnded()) { // if stop animation hasn't been instantiated if (!StopAnimInstantiated) { //instantiate only once SpawnStopAnimation(); StopAnimInstantiated = true; //if it has been instantiated } else if (StopAnimInstantiated) { //check if it has finished animating, if it has if (stopAnimationScript.AnimationEnded()) { //Kill plants in the scene, end the minigame if (pGrid.KillGame()) { //if the fade out animation hasn't been instantiated if (!bFadeOutAnimationInstantiated) { //instantiate it GameObject FadeOutObj = Instantiate(Resources.Load("Minigames/UniversalMinigamePrefabs/FadeOut")) as GameObject; FadeOutObj.transform.SetParent(GameObject.Find("MinigameCanvas").transform); FadeOutObj.transform.localScale = new Vector3(100, 100, 100); FadeOutAnimation = FadeOutObj.GetComponent <StopAnimationScript>(); bFadeOutAnimationInstantiated = true; } //if the fade out animation hasn't finished yet if (FadeOutAnimation.AnimationEnded()) { Debug.Log("Hello puny animals"); m_gameState = GameState.counting; } } } } } break; //game is counting score and return to overworld case GameState.counting: ////if the game over canvas has not been instantiated yet if (GameOverCanvas == null) { //Instantiate the game over canvas GameOverCanvas = Instantiate(Resources.Load("Minigames/UniversalMinigamePrefabs/GameOverCanvas")) as GameObject; } //fade out //m_musicFadeOut.FadeOut(); //INSERT CULL BACKGROUND MUSIC HERE //CustomLobby.local.EndMiniGame(); break; } }