コード例 #1
0
    public void LaunchEnemy(int enemyType, int numberOfEnemies)
    {
        if (alive == true)
        {
            if (enemyType == 1)
            {
                for (int i = 0; i < numberOfEnemies; i++)
                {
                    GameObject enemy = EnemyFollowPooler.current.GetPooledObject();
                    if (enemy == null)
                    {
                        return;
                    }

                    enemy.transform.position = position;
                    enemy.transform.rotation = transform.rotation;
                    enemy.SetActive(true);
                    position = new Vector2((this.transform.position.x + (Random.Range(-1, 1) * .75f)), (this.transform.position.y + (Random.Range(-1, 1) * .75f)));
                }
            }
            else if (enemyType == 2)
            {
                position = new Vector2(this.transform.position.x, this.transform.position.y);
                for (int i = 0; i < numberOfEnemies; i++)
                {
                    GameObject enemy = EnemyStraightPooler.current.GetPooledObject();
                    if (enemy == null)
                    {
                        return;
                    }

                    enemy.transform.position = position;
                    enemy.transform.rotation = transform.rotation;
                    enemy.SetActive(true);
                    position = new Vector2((this.transform.position.x + (Random.Range(-1, 1) * .75f)), (this.transform.position.y + (Random.Range(-1, 1) * .75f)));
                }
            }
            else if (enemyType == 3)
            {
                /*angle = 360f / (float)numberOfEnemies;
                 * enemyHeading = 0;*/
                for (int i = 0; i < numberOfEnemies; i++)
                {
                    GameObject enemy = EnemyDumbPooler.current.GetPooledObject();
                    enemyDumb = enemy.GetComponent <EnemyDumbScript>();
                    if (enemy == null)
                    {
                        return;
                    }

                    enemy.transform.position = transform.position;
                    enemy.transform.rotation = transform.rotation;
                    //enemyDumb.heading = new Vector2(0, 1);
                    enemy.SetActive(true);

                    //take angle
                    if (enemyHeading > 360)
                    {
                        enemyHeading = enemyHeading - 360;
                    }

                    enemyDumb.heading = new Vector2(Mathf.Cos(enemyHeading * (180f / Mathf.PI)), Mathf.Sin(enemyHeading * (180f / Mathf.PI)));
                    enemyHeading     += 360f / (float)numberOfEnemies;
                    //convert to radians -- radians = angle * (pi / 180)
                    //convert radians to unit vector
                    //u = cosine(radians), sine (radians)
                }
            }
            else if (enemyType == 4)
            {
                for (int i = 0; i < numberOfEnemies; i++)
                {
                    GameObject enemy = EnemyAvoidPooler.current.GetPooledObject();
                    if (enemy == null)
                    {
                        return;
                    }

                    enemy.transform.position = position;
                    enemy.transform.rotation = transform.rotation;
                    enemy.SetActive(true);
                    position = new Vector2((this.transform.position.x + (Random.Range(-1, 1) * .75f)), (this.transform.position.y + (Random.Range(-1, 1) * .75f)));
                }
            }
            this.transform.localScale = new Vector3(3f, 3f, 1f);
            if (colorWorks == true)
            {
                theCamera.backgroundColor = instrumentColor;
                songScript.cameraColor    = instrumentColor;
            }
        }
        else
        {
            if (colorWorks == true)
            {
                theCamera.backgroundColor = instrumentColor;
                songScript.cameraColor    = instrumentColor;
            }
            this.transform.localScale = new Vector3(3f, 3f, 1f);
            return;
        }
        this.transform.localScale = new Vector3(3f, 3f, 1f);
        position = this.transform.position;
    }
コード例 #2
0
ファイル: EnemyController.cs プロジェクト: ptrinh8/2DRS
    public void LaunchEnemy(int enemyType, int numberOfEnemies)
    {
        if (alive == true)
        {
            if (enemyType == 1)
            {
                for (int i = 0; i < numberOfEnemies; i++)
                {
                    GameObject enemy = EnemyFollowPooler.current.GetPooledObject();
                    if (enemy == null)
                    {
                        return;
                    }

                    enemy.transform.position = position;
                    enemy.transform.rotation = transform.rotation;
                    enemy.SetActive(true);
                    position = new Vector2((this.transform.position.x + (Random.Range(-1, 1) * .75f)), (this.transform.position.y + (Random.Range(-1, 1) * .75f)));
                }
            }
            else if (enemyType == 2)
            {
                position = new Vector2(this.transform.position.x, this.transform.position.y);
                for (int i = 0; i < numberOfEnemies; i++)
                {
                    GameObject enemy = EnemyStraightPooler.current.GetPooledObject();
                    if (enemy == null)
                    {
                        return;
                    }

                    enemy.transform.position = position;
                    enemy.transform.rotation = transform.rotation;
                    enemy.SetActive(true);
                    position = new Vector2((this.transform.position.x + (Random.Range(-1, 1) * .75f)), (this.transform.position.y + (Random.Range(-1, 1) * .75f)));
                }
            }
            else if (enemyType == 3)
            {
                /*angle = 360f / (float)numberOfEnemies;
                enemyHeading = 0;*/
                for (int i = 0; i < numberOfEnemies; i++)
                {
                    GameObject enemy = EnemyDumbPooler.current.GetPooledObject();
                    enemyDumb = enemy.GetComponent<EnemyDumbScript>();
                    if (enemy == null)
                    {
                        return;
                    }

                    enemy.transform.position = transform.position;
                    enemy.transform.rotation = transform.rotation;
                    //enemyDumb.heading = new Vector2(0, 1);
                    enemy.SetActive(true);

                    //take angle
                    if (enemyHeading > 360)
                    {
                        enemyHeading = enemyHeading - 360;
                    }

                    enemyDumb.heading = new Vector2(Mathf.Cos(enemyHeading * (180f / Mathf.PI)), Mathf.Sin(enemyHeading * (180f / Mathf.PI)));
                    enemyHeading += 360f / (float)numberOfEnemies;
                    //convert to radians -- radians = angle * (pi / 180)
                    //convert radians to unit vector
                    //u = cosine(radians), sine (radians)

                }
            }
            else if (enemyType == 4)
            {
                for (int i = 0; i < numberOfEnemies; i++)
                {
                    GameObject enemy = EnemyAvoidPooler.current.GetPooledObject();
                    if (enemy == null)
                    {
                        return;
                    }

                    enemy.transform.position = position;
                    enemy.transform.rotation = transform.rotation;
                    enemy.SetActive(true);
                    position = new Vector2((this.transform.position.x + (Random.Range(-1, 1) * .75f)), (this.transform.position.y + (Random.Range(-1, 1) * .75f)));
                }
            }
            this.transform.localScale = new Vector3(3f, 3f, 1f);
            if (colorWorks == true)
            {
                theCamera.backgroundColor = instrumentColor;
                songScript.cameraColor = instrumentColor;
            }
        }
        else
        {
            if (colorWorks == true)
            {
                theCamera.backgroundColor = instrumentColor;
                songScript.cameraColor = instrumentColor;
            }
            this.transform.localScale = new Vector3(3f, 3f, 1f);
            return;
        }
        this.transform.localScale = new Vector3(3f, 3f, 1f);
        position = this.transform.position;
    }