Beispiel #1
0
    IEnumerator Coroutine()
    {
        while (true)
        {
            for (int i = 0; i < followersNum; i++)
            {
                if (_followers[i] != null && player != null)
                {
                    if (managerObj.IsGamePause() != true)
                    {
                        if (managerObj.isTouch || managerObj.isAlwaysShoot != false)
                        {
                            if (_followers[i] != null && player != null)
                            {
                                switch (shotType.getShotType())
                                {
                                case 1:
                                    ObjectPool.instance.GetGameObject(bullet, _followers[i].transform.position, _followers[i].transform.rotation);
                                    break;

                                case 2:
                                    ObjectPool.instance.GetGameObject(bullet2, _followers[i].transform.position, _followers[i].transform.rotation);
                                    break;

                                case 3:
                                    ObjectPool.instance.GetGameObject(bullet3, _followers[i].transform.position, _followers[i].transform.rotation);
                                    break;

                                case 4:
                                    ObjectPool.instance.GetGameObject(bullet4, _followers[i].transform.position, _followers[i].transform.rotation);
                                    break;

                                default:
                                    ObjectPool.instance.GetGameObject(bullet, _followers[i].transform.position, _followers[i].transform.rotation);
                                    break;
                                }
                            }
                        }
                    }
                }
            }
            yield return(new WaitForSeconds(shotType.getPlayerShotDelay()));
        }
    }
    //========== メンバ変数 ==========
    //None

    IEnumerator Start()
    {
        // コンポーネントを取得
        followerMng = FindObjectOfType <FollowerManager> ();
        playerlife  = GetComponent <Life> ();
        managerObj  = FindObjectOfType <Manager> ();
        shotType    = GetComponent <ShotType> ();
        spaceship   = GetComponent <Spaceship> ();
        superShot   = GetComponent <SuperShot> ();
        audioObj    = FindObjectOfType <AudioManager> ();

        while (true)
        {
            int selectedShotType = shotType.getShotType();
            Attack(selectedShotType);
            // 弾をプレイヤーと同じ位置/角度で作成
            yield return(new WaitForSeconds(shotType.getPlayerShotDelay()));
        }
    }
 IEnumerator Coroutine()
 {
     while (true)
     {
         for (int i = 0; i < followersNum; i++)
         {
             if (_followers[i] != null && player != null)
             {
                 if (managerObj.IsGamePause() != true)
                 {
                     if (Input.GetKey("space"))
                     {
                         if (_followers[i] != null && player != null)
                         {
                             //Debug.Log("This is shoot from options");
                             if (shotType.getShotType() == 1)
                             {
                                 Instantiate(bullet, _followers[i].transform.position, _followers[i].transform.rotation);
                             }
                             else if (shotType.getShotType() == 2)
                             {
                                 Instantiate(bullet2, _followers[i].transform.position, _followers[i].transform.rotation);
                             }
                             else if (shotType.getShotType() == 3)
                             {
                                 Instantiate(bullet3, _followers[i].transform.position, _followers[i].transform.rotation);
                             }
                             else if (shotType.getShotType() == 4)
                             {
                                 Instantiate(bullet4, _followers[i].transform.position, _followers[i].transform.rotation);
                             }
                         }
                     }
                 }
             }
         }
         yield return(new WaitForSeconds(shotType.getPlayerShotDelay()));
     }
 }
 //敵を探して追尾
 public void Missile_Homing(GameObject target)
 {
     //target.transform...敵
     //transform..........射出された弾丸
     rigidbody2D.velocity = (target.transform.position - transform.position).normalized * shotType.getPlayerShotDelay();
 }