// 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;
    }
Ejemplo n.º 2
0
    // 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> ();
    }
Ejemplo n.º 3
0
    //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;
        }
    }
Ejemplo n.º 4
0
    //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;
        }
    }