async๋ C#์์ฒด์์ ์ง์ํ๋๊ฑฐ๊ฐ๊ณ asyncOperation์ ์ ๋ํฐ์์ ํธํ๊ฒ์ฐ๋ผ๊ณ ๋ง๋ค์ด๋์๊ฑฐ๊ฐ์๋ฐ
๋ณดํต ์ฌ ๋ก๋ฉํ ๋ ์ผ๋ง๋์์๋๋์ง ๋ชจ๋ฅด๊ฒ ๋๋ฐ ์ง๊ธ ํ
์คํธํด๋ดค๊ฑฐ๋
๋ด ์ง์๋์ผ๋ก๋ ์ฌ๋ก๋ํ ๋ ๋ก๋ํ๋ ์ฌ์์๋ ์ค๋ธ์ ํธ๋ค ๋ฏธ๋ฆฌ ๋ง๋๋๊ฑธ๋ก ์๋๋ฐ ํ๋ธ์ ๊ฐ๊ฐ ์ด๋ํ๋ ์คํฌ๋ฆฝํธ ํ๋์ฉ๋ถ์ฌ๋์๊ฑฐ 3000๊ฐ ๋ง๋ค์ด๋จ๋๋ฐ
๊ทธ๊ฒ ์ฌ 2๊ณ ์ฌ1์ ์๊ฒ๋์๋๊ฑฐ
์ํผ ์ ๋ ๊ฒํด๋ณด๊ณ asyncOperation.progress ํ๋ ์๋ง๋ค ์ฐ์ด๋ดค๋๋ฐ 0์์ ๋ฐ๋ก 0.9๊ฐ๊ณ ๋๋๋ฒ๋ฆผ
๊ทธ๋์ allowSceneActivation ๊ฐ false๋ก ์ค๋ดค๋๋ ์ด๋ฒ์ isDone์ด ํ์ค๋ผ์ ๋๋ฒ๊ทธ๊ฐ ๊ณ์๋๊ฒ๋จ. 0 ํ๋ฒ์ฐํ๊ณ 0.9๋ก ๊ณ์์ฐํ๋๋ผ๊ณ 1์ด์๋
๊ทธ๋ผ ์ ํ๋ก๊ทธ๋์ค๋ฐ๋ก ๋ก๋ฉ๋ฐ ๋ง๋ค๋ฉด 100์ ์๋๊ณ 90%์์ ๋ฉ์ถ๋ค๋๊ฑด๋ฐ
๋ด๊ฐ ๋ญ ํ
์คํธ๋ฅผ ์๋ชปํ๊ณ ์๋๋ณธ๋ฐ
์ฌ ๋ถ๋ฌ์ค๋ ์๊ฐ์ ๋๋ฆฌ๋ ์์๋ ๋ญ์ธ๊ฑฐ์? ํ
์คํธ์ข ํด๋ณด๊ณ ์ถ์๋ฐย
๊ทธ๋ฆฌ๊ณ ์ progress๊ฐ 1์ด ์๋๋ ์ด์ ๋ ๊ถ๊ธ
+10%๋ฅผ ํด์ ๋ณด์ฌ์ฃผ๋ฉด 10%๋ถํฐ ์์ํด์ 100%์์ ๋๋๊ฒ ๋ค!
๊ทธ๋ฌ๊ฒ ๋ค ๊ทผ๋ฐ ์ฌ ๋ถ๋ฌ์ค๋์๊ฐ์ ์ด์ผ๋๋ฆผ
์ฌ๋ก๋ฉ ๋๋ฆฐ๊ฑฐ๋ ๋ญ ์ค๋ธ์ ํธ๊ฐ ๋ง๊ฑฐ๋ ๋ถ์ด์๋ ์ปดํฌ๋ํธ๋ค์ ์ด๊ธฐํ์ ๋น์ฉ์ด ํฌ๊ฑฐ๋ ์๋ IO๋ฅผ ํ๊ฑฐ๋ ๋น์ฉ์ด ํฐ ์ปจํ ์ด๋ ์กฐ์์ ํ๊ฑฐ๋ ๋ฑ๋ฑ ๋ง๊ฒ ์ง ๋ญ
ใ ใ ๊ณต์์ผ๋ก 90%์์ bool ๊ฐ false๋ฉด ๊ฑฐ๊ธฐ์ ๋ฉ์ถค. ๊ฒ์ด์ง๊ฐ ๊ตฌํ ๋ 0.9๋ก ๋๋๋ฉด ๋
์ ์๋๊ทธ๋ฐ๊ฑฐ์์? 0.9๋ก๋๋๋๊ฑฐ ์กฐ์๊ฑฐ์์๊ฐ
์ฐ์ 0.9๋ก ๋๋๋๊ฑด ์๊ฐ๋ ๋ชปํ๋ค!
0.9๋ถํฐ ์์