main()
{
Allocated = false
StartCoroutine( C1ย )
}
C1
{
ย ย Allocated True
ย ย for ( repeating )
ย ย {
ย ย StartCoroutine( C2 )
ย ย WaitUntil "End Of C2"
ย ย }
}
C2
{
Effect
WaitUntill "End Of Effect"
Debug.Log(Allocated)ย ย ย ==============>ย ย false ??????????????
}
์ง๊ธย ์ด ํ์ ์ผ์ด๋๋๋ฐ
๋์ ํ ์ด์ ๋ฅผ ๋ชจ๋ฅด๊ฒ ๋ค.
main ์์ false๋ก ํ ๋น๋์ด ์๋ Allocated๊ฐ
C1 ์ฝ๋ฃจํด์์ ๋ฐ๋ณต๋ฌธ์ ๋๊ธฐ์ ์ย True๊ฐ ๋์๋๋ฐ
C2์ Effect ์ฝ๋ฃจํด์ด ๋๋๊ธฐ์ ์ ๋๊ธฐ ํ๊ณ ์๋ ์ํฉ์์
๋๊ธฐ๋ฅผ ๋ง์น๊ณ ๋๋๊น false ๋ก ๋ฐ๋์ด ์์
Allocated๋ ํด๋น ์ค๋ธ์ ํธ๊ฐ ์์ฑ๋๊ณ ๋์, ํ๋ฒ True๊ฐ ๋๋ฉด ์๋ฐ๋๊ฒ ๋์ด์๋๋ฐ๋ย
ํ.... ํด๊ฒฐํ๋ค..
์ด์ ๋ญ์์?
Allocate ๋ด๋น ์ค๋ธ์ ํธ๊ฐ Instantiate -> ์กฐ๊ฑด์ ์ํด์ Allocate = True๋ก ํด๋์๋๋ฐ, Start ํ ๋ Allocate๋ฅผ False๋ก ์ด๊ธฐํ ํด๋์์๋๋ฐ, ๊ทธ ์ค๋ธ์ ํธ์ Start ํธ์ถ ์์ ์ด Instantiate ์งํ๋ณด๋ค ๋ฆ๊ฒ๋ผ์ WaitUntil์ ๋๊ธฐ ์์ ์ ๋ค๋ฆ๊ฒ Start๊ฐ ํธ์ถ๋๋ฉด์ False๋ก ๋ฐ๋