コード例 #1
0
    void Update()
    {
        #region SetBeginningText
        // Set the player text to show like Galaga

        if (GalagaHelper.RoundNumber == 1)
        {
            GalagaHelper.TimeToSpawn = Time.time;
            GalagaHelper.StartTime   = Time.time;
        }
        else
        {
            GalagaHelper.TimeToSpawn = Time.time - GalagaHelper.StartTime;
            Debug.Log("Time to Spawn: ".Colored(Colors.red) + GalagaHelper.TimeToSpawn.ToString() + " Time since loaded: ".Colored(Colors.red) + Time.timeSinceLevelLoad);
        }
        //Debug.Log(GalagaHelper.TimeToSpawn.ToString().Bold());
        if (GalagaHelper.TimeToSpawn > 0f && GalagaHelper.TimeToSpawn < 2.0f)
        {
            //Debug.Log("See player text?".Bold());
            // show player1 first
            playerText.SetActive(true);
            playerTextHigh.SetActive(false);
        }
        else if (GalagaHelper.TimeToSpawn > 2.0f && GalagaHelper.TimeToSpawn < 3.5f)
        {
            // show round title same place
            // Debug.Log("See player text?".Bold());
            playerText.SetActive(false);
            roundText.transform.position = playerText.transform.position;
            roundText.SetActive(true);
        }
        else if (GalagaHelper.TimeToSpawn > 3.5f && GalagaHelper.TimeToSpawn < 5.3f)
        {
            //Debug.Log("See player text?".Bold());
            // Show both
            playerText.transform.position = playerTextHigh.transform.position;
            playerText.SetActive(true);
            roundText.SetActive(true);
        }
        else
        {
            playerText.SetActive(false);
            roundText.SetActive(false);
            isTextDone = true;
            //Debug.Log("isTextDone eq true");
            //timeBetweenSpawn = 0;
        }
        #endregion

        if (GalagaHelper.JustSpawned == 8)
        {
            form1.GetComponent <EnemySpawner>().isFull = true;
            Debug.Log("Form 1 Full".Colored(Colors.green).Bold());
        }
        else if (GalagaHelper.JustSpawned == 16)
        {
            form2.GetComponent <EnemySpawner>().isFull = true;
            this.secondWaveFinished = true;
            Debug.Log("Form 2 Full".Colored(Colors.green).Bold());
        }
        else if (GalagaHelper.JustSpawned == 24)
        {
            form3.GetComponent <EnemySpawner>().isFull = true;
            this.thirdWaveFinished = true;
            Debug.Log("Form 3 Full".Colored(Colors.green).Bold());
        }
        else if (GalagaHelper.JustSpawned == 32)
        {
            form4.GetComponent <EnemySpawner>().isFull = true;
            this.fourthWaveFinished = true;
            Debug.Log("Form 4 Full".Colored(Colors.green).Bold());
        }
        else if (GalagaHelper.JustSpawned == 40)
        {
            form5.GetComponent <EnemySpawner>().isFull = true;
            Debug.Log("Form 5 Full".Colored(Colors.green).Bold());
        }
        //Debug.Log("Time to Spawn: " + GalagaHelper.TimeToSpawn.ToString().Italics());
        //Debug.Log(GalagaHelper.CurrentRoundPhase.ToString().Bold());
        //Debug.Log("Player lives: ".Bold() + GalagaHelper.numOfPlayers.ToString().Bold());
        if (GalagaHelper.CurrentRoundPhase == GalagaHelper.Formations.Round1Phase2 && GalagaHelper.TimeToSpawn > 8.0f) // && GalagaHelper.TimeToSpawn > 11.0f
        {
            //GameObject pt2 = GameObject.FindGameObjectWithTag("phase2").gameObject;
            Debug.Log("Round2 enabled".Colored(Colors.purple));
            form2.GetComponent <EnemySpawner>().enabled = true;
            if (form2.GetComponent <EnemySpawner>().isFormationUp)
            {
                Debug.Log("form2 isFormationUp == True; Enemies Just: ".Bold() + GalagaHelper.JustSpawned + " Enemies Spawned: ".Bold() + GalagaHelper.EnemiesSpawned);
                GalagaHelper.CurrentRoundPhase += 1;
                if (GalagaHelper.RoundNumber == 2)
                {
                    form2.GetComponent <EnemySpawner>().SpawnUntilFull();
                }
            }
        }
        else if (GalagaHelper.CurrentRoundPhase == GalagaHelper.Formations.Round1Phase3 && secondWaveFinished && GalagaHelper.TimeToSpawn > 15f) //&& GalagaHelper.TimeToSpawn > 15
        {
            //Debug.Log("Round3 enabled".Colored(Colors.purple));
            form3.GetComponent <EnemySpawner>().enabled = true;
            Debug.Log("Round3 enabled. form3 isFormationUp: " + form3.GetComponent <EnemySpawner>().isFormationUp);
            if (form3.GetComponent <EnemySpawner>().isFormationUp)
            {
                GalagaHelper.CurrentRoundPhase += 1;
                if (GalagaHelper.RoundNumber == 2)
                {
                    form3.GetComponent <EnemySpawner>().SpawnUntilFull();
                }
            }
        }
        else if (GalagaHelper.CurrentRoundPhase == GalagaHelper.Formations.Round1Phase4 && thirdWaveFinished && GalagaHelper.TimeToSpawn > 19f) //&& GalagaHelper.TimeToSpawn > 20
        {
            Debug.Log("Round4 enabled".Colored(Colors.purple));
            form4.GetComponent <EnemySpawner>().enabled = true;
            if (form4.GetComponent <EnemySpawner>().isFormationUp)
            {
                GalagaHelper.CurrentRoundPhase += 1;
                if (GalagaHelper.RoundNumber == 2)
                {
                    form4.GetComponent <EnemySpawner>().SpawnUntilFull();
                }
                //thirdWaveFinished = false;
            }
        }
        else if (GalagaHelper.CurrentRoundPhase == GalagaHelper.Formations.Round1Phase5 && fourthWaveFinished && GalagaHelper.TimeToSpawn > 24.0f) //&& GalagaHelper.TimeToSpawn > 18
        {
            Debug.Log("Round5 enabled".Colored(Colors.purple));
            form5.GetComponent <EnemySpawner>().enabled = true;
            GalagaHelper.PrintAllGhostObjects();
            Debug.Log("Deleting all ghosts.".Colored(Colors.green));
            Invoke("StartEnemyAttack", 5.0f);
            //moveFormation = true;
            fourthWaveFinished = false;
            if (GalagaHelper.RoundNumber == 2)
            {
                form5.GetComponent <EnemySpawner>().SpawnUntilFull();
            }
        }

        // Move formation left and right
        if (moveFormation)
        {
            #region MoveCode
            //if (isMovingRight)
            //{
            //    transform.position += Vector3.right * speed * Time.deltaTime;
            //}
            //else
            //{
            //    transform.position += Vector3.left * speed * Time.deltaTime;
            //}

            //float rightEdgeOfFormation = transform.position.x + (0.5f * width);
            //float leftEdgeOfFormation = transform.position.x - (0.5f * width);
            //if (leftEdgeOfFormation < xMin)
            //{
            //    isMovingRight = true;
            //}
            //else if (rightEdgeOfFormation > xMax)
            //{
            //    isMovingRight = false;
            //}
            #endregion

            if (!GalagaHelper.isPlayerCaptured)
            {
                GalagaHelper.SetAttackinMotion();
            }
        }

        if (enemyAttacks == 0)
        {
            enemyAttacks = 1;
            isEnemy1Done = true;
            isEnemy2Done = true;
            isEnemy3Done = true;
        }

        if (enemy1Picked && isEnemy1Done == true)
        {
            Debug.Log("Enemy1 called to attack".Bold());
            PickRandomEnemyOne();
            enemy1Picked = false;
            isEnemy1Done = false;
        }

        if (enemy2Picked && isEnemy2Done == true)
        {
            Debug.Log("Enemy2 called to attack".Bold());
            PickRandomEnemyTwo();
            enemy2Picked = false;
            isEnemy2Done = false;
        }

        if (enemy3Picked && isEnemy3Done == true)
        {
            Debug.Log("Enemy3 called to attack".Bold());
            PickRandomEnemyThreeAttack();
            enemy3Picked = false;
            isEnemy3Done = false;
        }

        //Debug.Log("player captured " + GalagaHelper.isPlayerCaptured + " Starfield paused: " + starfield.isPaused);

        // If found a player captured then set ready text.
        if (GalagaHelper.isPlayerCaptured == true)
        {
            if (isReadyDone == false)
            {
                // turn on Ready text
                // Pause starfield
                if (!isPlayerReady)
                {
                    readyText.SetActive(true);
                    starfield.Pause();
                    //Debug.Log("Paused starfield");
                }
                else if (isPlayerReady) // player is ready now get rid of readyText
                {
                    readyText.SetActive(false);
                    //Debug.Log("Starfield Unpaused".Colored(Colors.green));
                    starfield.Play();
                    isPlayerReady = false;
                    isReadyDone   = true;
                    GalagaHelper.isPlayerCaptured = false;
                    //GameObject player = GameObject.FindGameObjectWithTag("Player").gameObject;
                    //player.GetComponent<Renderer>().enabled = true;
                    //player.GetComponent<MeshCollider>().enabled = true;
                    isEnemy1Done = true;
                    isEnemy2Done = true;
                    isEnemy3Done = true;
                }
            }
        }
    }