a15714ab041eb360be3335625e85776a6cb060433455bea9e6777b66994f2940c1


IEnumerator LaserSound(bool isStop = false)


    {


        if (isStop && !isThereAttackTarget && template.weapon[level].myOwnAudioSource != null)


        {


            StopCoroutine(LaserSound());




            template.weapon[level].myOwnAudioSource.Stop();


            template.weapon[level].myOwnAudioSource.loop = false;


            template.weapon[level].myOwnAudioSource.clip = template.weapon[level].laserStopSound;


            template.weapon[level].myOwnAudioSource.Play();




            isLaserSoundPlaying = false;




            yield break;


        }


        else


        {


            if (isLaserSoundPlaying == false && template.weapon[level].myOwnAudioSource != null)


            {


                isLaserSoundPlaying = true;




                template.weapon[level].myOwnAudioSource.clip = template.weapon[level].laserStartSound;


                template.weapon[level].myOwnAudioSource.Play();




                yield return new WaitForSeconds(template.weapon[level].laserStartSound.length);




                template.weapon[level].myOwnAudioSource.Stop();


                template.weapon[level].myOwnAudioSource.loop = true;


                template.weapon[level].myOwnAudioSource.clip = template.weapon[level].laserLoopSound;


                template.weapon[level].myOwnAudioSource.Play();


            }


        }


    }


이 코루틴이 처음에 타워 프리팹 하나만 있을때는 작동을 잘함.

그런데 타워가 하나 더 설치되면 기존에 있던 타워는 template.weapon[level].myOwnAudioSource.clip = template.weapon[level].laserStartSound;

여기에 문제가 생겨서 레이저 발사 소리는 안나는데 오래 공격하면 루프 소리는 정상적으로 재생 됨.

근데 이유를 모르겠음. 리소스에서 직접 불러오는 방식으로도 해봤는데 똑같았음. 오디오 소스도 멀쩡히 존재하는데...


정확한 증상은 타워를 2개 설치 했을때 제일 먼저 설치한 타워는 레이저 발사 소리를 None으로 불러와서 아무소리도 안나는거임.

여러개 설치하면 마지막에 설치한 타워만 발사 소리 남.


테스트 여러번 해본 결과 타워의 레벨은 상관없음. 디버그 확인도 해봤는데 디버그로는 다 정상적으로 불러와짐.


위에 사진은 타워가 가지는 데이터 클래스에 클립도 제대로 등록했다는걸 보여주기 위해서 추가한거.