示例#1
0
    /// <summary>
    /// バレットの自動生成
    /// </summary>
    /// <param name="bulletData"></param>
    /// <returns></returns>
    private IEnumerator EnemyShot(BulletDataSO.BulletData bulletData)
    {
        while (true)
        {
            //エネミーのバレットのクローンを生成し、戻り値をbulletObjに代入
            GameObject bulletObj = Instantiate(enemyBulletPrefab, transform);

            //クローンのゲームオブジェクトからBulletスクリプトを取得してShotBulletメソッドを実行する
            bulletObj.GetComponent <Bullet>().ShotBullet(enemyGenerator.PreparateGetPlayerDirection(transform.position), bulletData);


            if (enemyData.moveType == MoveType.Boss_Horizontal)
            {
                //バレットとエネミーの親子関係を解消し、バレットの親をTemporaryObjectContainerオブジェクトに変更する
                bulletObj.transform.SetParent(TransformHelper.GetTemporaryObjectContainerTran());
            }

            yield return(new WaitForSeconds(bulletData.loadingTime));
        }
    }