IEnemy ์ธํฐํ์ด์ค ์์๋ฐ์ ์ ์ target์ผ๋ก ๋
IEnemy target;
์ธ์ฐ๋ค๊ฐ ์ hp ๋ค ๋ฌ์์ ์ ์ด ์ฃฝ์ด์์ธ์ง target์ด null์ด ๋๊ฑฐ๋ ?
๊ทผ๋ฐ Update()์์ย ย if( target != null) ์ด๊ฑธ ํต๊ณผํด๋ฒ๋ฆฌ๋ ์ด์ํ์์ด ์๊น
๋๋ฒ๊น ๊ฑธ์ด์ target null์ธ๊ฑฐ ๊ณ์ ํ์ธํ๋๋ฐ ๋์์์ if๋ฌธ์ ๊ทธ๋๋ก true๋ก ํ๋ณ๋๋ฒ๋ฆผ
๋ด๊ฐ ๋ญ ์๋ชปํ๊ฑฐ์ง....
์์์ ๋ธ๋ ์ดํฌํฌ์ธํธ ์ฐํ ๊ฐ์ฒด๋ ์กฐ๊ฑด๋ฌธ ํต๊ณผํ ๊ฐ์ฒด๋ ๋ค๋ฅผ์ ์์
F10์ผ๋ก ์คํ ๋์ด๊ฐ๋ฉด ๋น์ฐํ ๊ฐ์ ์ธ์คํด์ค๋ด์์ ์ด๋ํ ์ค ์์๋๋ฐ ์๋ ๊ฒฝ์ฐ๊ฐ ์๋๋ผ๊ตฌ
if์ ๋ธ๋ ์ดํฌ ์ฐ๊ณ ๋๊ฒจ๋ณธ๊ฑฐ๋ผ ํ๋ฆด์๋ ์๋๋ฐ ๋จผ๊ฐ ์ผํด์ ์์์ผ๋ก ๊ฐ
์ฌํํด์ ๋ณด๊ณ ์ถ๋ค ์ ๋ฐํ๋ฐ
!=์ฐ์ฐ์ ๋์ if(!target)์ด ๋๋ ค๋
๊ทธ๋ฅ ์์ํด์ ์ฐ๊ธฐ๋กํจ ์ ๋ํฐ destroy()๊ฐ ๋ญ๊ฐ ๊ผฌ์ธ๊ฑฐ๊ฐ์
์ผ๋จ ์ ๋ํฐ์์ ์ญ์ ๋ ์ค๋ธ์ ํธ ๋์ฒดํฌ๋ฅผ obj == null ์ด๋ obj != null๋ก ํ๋ฉด ์ฐ์ฐ์ ์ค๋ฒ๋ผ์ด๋ฉ ํ๋ฉด์ ํผํฌ๋จผ์ค์ ์ด๋ ๋ก์ง์ ์ผ๋ก๋ ๋ฌธ์ ๊ฐ ์๋ค๊ณ ์๊ณ ์์. ๊ทธ๋์ ๋ณดํต object.referenceEqual๋ก ์ฒดํฌํ๊ฑฐ๋ !obj๋ก ํ๋๋ฐ ์ธํฐํ์ด์ค์ชฝ์ ์ ๋ชจ๋ฅด๊ฒ ๋ค
destroy๋ ๋์ destroyimmediately๋ ์ด๋จ๊น์ค?
๋ช ์์ ์ผ๋ก IsDead๋ IsAlive ํ๋๊ทธ ๋ง๋ค์ด์ ๋ค1์ง์งํ์ด๋ฐ์ด๋, ์ญ์ ๋ํ์ด๋ฐ(OnDestroy)์์ ๊ฐ ๋ณ๊ฒฝํด์ฃผ๋๊ฒ ๊ด๋ก๋ ๋ค๋ฆ์์, ์ธํฐํ์ด์ค ์จ์ผํ๋ ์ํฉ์ด๋ฉด ๊ทธ ๊ฐ์ ๋ฆฌํดํด์ฃผ๋ getter ํ๋ ๋ง๋ค๋ฉด๋๋๊ฑฐ๊ณ
์ญ์ ์ฌ๋ถ ๋ฐ์ง ๋์ฒดํฌ๋ก๋ ๊ฐ๋ฅํ๊ธด ํ๋ฐ, ๋ค1์ง๋ ํ์ด๋ฐ์ด๋ผ๋๊ฐ ์ฝ๋๋จ์์ ํน์ ๊ฐ๋ฅํ ์ํฉ์ด๋ผ๋ฉด ์ ๋ ๊ฒ ํ๋๊ทธ์ธ์ฐ๋๊ฒ ๋ฒ ์คํธ๋ผ๋ด
์ ๋ํฐ์์ ์ค๋ธ์ ํธ ๋์คํธ๋ก์ด == null์ด ์๋๊ฑฐ๋ , ๊ตณ์ด ์ญ์ ์ฌ๋ถ ๋ฐ์ง๊ณ ์ถ์ผ๋ฉด
https://ansohxxn.gith
ub.io/unitydocs/fakenull/ ์ด๋ฐ๊ฑฐ๋ผ๋๊ฐ unity destroy null๊ฐ์๊ฑธ๋ก ๊ฒ์ํด์ ์ง์ ์ฐพ์๋ณด์
์ ๋ํฐ Destroy๋ ์ฆ์ ์ญ์ ํ์ง ์์