์์ํ์ง 2์ฃผ๋ ์ด๋ณด์...
์ค๋ธ์ ํธ๋ง๋ค 10์ด ํ์ ํน์ ๋ฐ์์ ํด์ผํ๋๋ฐ ์ค๋ธ์ ํธ ์ถํ์๊ฐ์ด ๊ฐ๊ธฐ๋ฌ๋ผ์ ๋์์ ์ผ์ด๋๋๋ฐ์์ ์๋
ํน์ ์คํฌ๋ฆฝํธ๋ก ์๊ฐ๋๋ค๊ณ ์๋ ค์ค์ผํ๋๋ฐ ์๋ฅผ๋ค์ด A์คํฌ๋ฆฝํฌ๊ฐ ์๋ค๋ฉด ใฑใดใทในใ ใ ์ค๋ธ์ ํธ๊ฐ ๊ฐ์ 10์ด๋ง๋ค A์คํฌ๋ฆฝํธ๋ก ์๋ ค์ค์ผ๋จ
A์คํฌ๋ฆฝํฌ๋ฅผ ์ฑ๊ธํค์ผ๋ก ์ฐ๋๊ฒ ๋ง๋??
์ต์ ๋ฒ๋ ์ด๋ด๋ ์ฐ๋๊ฒ ์๋๊ฑฐ ๊ฐ์...
์ค๋ธ์ ํธ๋ง๋ค 10์ด ํ์ ํน์ ๋ฐ์์ ํด์ผํ๋๋ฐ ์ค๋ธ์ ํธ ์ถํ์๊ฐ์ด ๊ฐ๊ธฐ๋ฌ๋ผ์ ๋์์ ์ผ์ด๋๋๋ฐ์์ ์๋
ํน์ ์คํฌ๋ฆฝํธ๋ก ์๊ฐ๋๋ค๊ณ ์๋ ค์ค์ผํ๋๋ฐ ์๋ฅผ๋ค์ด A์คํฌ๋ฆฝํฌ๊ฐ ์๋ค๋ฉด ใฑใดใทในใ ใ ์ค๋ธ์ ํธ๊ฐ ๊ฐ์ 10์ด๋ง๋ค A์คํฌ๋ฆฝํธ๋ก ์๋ ค์ค์ผ๋จ
A์คํฌ๋ฆฝํฌ๋ฅผ ์ฑ๊ธํค์ผ๋ก ์ฐ๋๊ฒ ๋ง๋??
์ต์ ๋ฒ๋ ์ด๋ด๋ ์ฐ๋๊ฒ ์๋๊ฑฐ ๊ฐ์...
void Cycle(){ Invoke("Cycle", 10f); Debug.Log("play")}
์ด๋ผ 10์ด๋ง๋ค play์ถ๋ ฅํจ
๋์์ธ ํจํด์ ๋งน์ ํ ๋๋จธ์ง ๋ชจ๋ ๋ฌธ์ ๋ฅผ ํจํด์ ์จ์ ํด๊ฒฐํ๋ ค ๋๋ ํจํด๋ณ์ ๊ฑธ๋ฆฌ์ง ์๋๋ก ์กฐ์ฌํ์. ๋์์ธ ํจํด๋ณด๋ค ์ค์ํ ๊ฒ์ ์ฝ๋๋ฒ ์ด์ค์ ๊ฐ๊ฒฐ์ฑ์ด๋ค. ์ฆ ๋์์ธ ํจํด ์ ์ฉ์ด ๊ตณ์ด ํ์๊ฐ ์์ ๊ฒ ๊ฐ์ ๋ถ๋ถ์ ์ ์ฉํ์ง ์๋๊ฒ ์์ฑ ์ด๋ค. ๋์์ธ ํจํด์ ์๊ณ ๋ฆฌ์ฆ์ด ์๋๋ผ ์ํฉ์ ๋ฐ๋ผ ์์ฃผ ์ฐ์ด๋ ์ค๊ณ ๋ฐฉ๋ฒ์ ์ ๋ฆฌํ ์ฝ๋ฉ ๋ฐฉ๋ฒ๋ก ์ผ ๋ฟ์ด๋ฉฐ ๋ชจ๋ ์ํฉ์ ํด๊ฒฐ์ฑ ์ด ์๋๋ค.
๋ผ๊ณ ํ๋ค
์ถ์์ ์ผ๋ก ์๊ธฐํ์ง๋ง๊ณ ๋ญํ๋ ค๋์ง ์ด๋ค์ํฉ์ธ์ง ์ค๋ช ์ ์ํด๋ด.
A์คํฌ๋ฆฝํธ๊ฐ ์ค๋ธ์ ํธ๋ค์ ๋ง๋๋๋ฐ ๊ทธ์ค๋ธ์ ํธ๋ค์ด 10์ด์ง๋๋ฉด ์ญ์ ๋์ด์ผํจ ๊ทผ๋ฐ A์คํฌ๋ฆฝํธ๊ฐ ์ค๋ธ์ ํธ๋ง๋ค ์ด์ธ๋๊ฑด ๋นํจ์จ์ ์ธ๊ฑฐ๊ฐ์์ ์ค๋ธ์ ํธ๋ค์ด ๊ฐ์ 10์ด์ธ๊ณ ์คํฌ๋ฆฝํธํํ ์๋ ค์ฃผ๋๋ฐฉ์์ผ๋ก ํ๋ ค๊ณ ... ๋จ์ํ destroy์ง์ฐ ์ํค๊ธฐ์ A์คํฌ๋ฆฝํธ๊ฐ ์ค๋ธ์ ํธ์ญ์ ๋๋ฉด ์ฒ๋ฆฌํด์ผํ๋๊ฒ ์์ด์ ๊ทธ๋
A๊ฐ ๋ง๋๋๊ฑฐ๋ฉด ์ฝ๋ค. ์ค๋ธ์ ํธ(clone): ๋ธ๋ฆฌ๊ฒ์ดํธ ๋ณ์ _dlg ์ฝ๋ฃจํด์ด๋ ์ ๋ฐ์ดํธ๋ก 10์ด๋ค ์์ ์ญ์ ์ ์ _dlg์์์ฝ๋ ์คํ A: ์ฒ๋ฆฌํ ํจ์ aCallback ์์ฑํ ๋ ์ค๋ธ์ ํธ(clone)._dlg์ aCallback ํจ์๋ฅผ ๋ฃ์
์ ๋ง ๊ณ ๋ง์์
์ผ๋จ ๋ต๋๋ค ๊ณ ๋ง์
Observable.EveryUpdate().Interval(10s).Subscribe(_ => { // Todo }).AddTo(this);
ใฑใ ใฑใ
unitask