2D ๊ฒ์์์ ๋ฐ๋ฏธ์ง ์์คํ ๋ง๋ค๊ณ ์์.
ํ๋ ์ด์ด๊ฐ ๊ณต๊ฒฉํค ๋๋ฅด๋ฉด ์ ํด์ง ์์น์ DamageObject๊ฐ ์๊ธฐ๊ณ
์ด ์ค๋ธ์ ํธ๋ ์๊ธฐํํ ๋ฟ์ ICombatable ์ค๋ธ์ ํธ์ hp๋ฅผ ํ ๋ฒ ๊น์.
๊ทธ๋์ DamageObject์ Collider ๋ถ์ฌ์ OnTriggerEnter, OnTriggerExit ํจ์๋ก ๋ฟ์ ์ค๋ธ์ ํธ์ ๋ฑ ํ ๋ฒ๋ง ๋ฐ๋ฏธ์ง๋ฅผ ์ฃผ๋ ค๊ณ ํจ.
์ฝ๋๊ฐ
class DamageObject(){
List<ICombatable> ๋ฟ์์ค๋ธ์ ํธ๋ฆฌ์คํธ
Affect(){
ย ๋ฆฌ์คํธ์ ์๋ ๋ชจ๋ ํญ๋ชฉ์๊ฒ ๋ฐ๋ฏธ์ง ์ค
}
OnTriggerEnter2D(){
ย ๋ฆฌ์คํธ์ ์ถ๊ฐ
}
OnTriggerExit2D(){
ย ๋ฆฌ์คํธ์์ ์ญ์
}
}
ย ย
์ด๋ ๊ฒ ๋ผ์์
ํ๋ ์ด์ด๊ฐ ๊ณต๊ฒฉํค๋ฅผ ๋๋ฅด๋ฉด DamageObject๋ฅผ ํ๋ ์์ฑํ๊ณ Affect()๋ฅผ ์คํํจ.
๋ฌธ์ ๋ย OnTriggerEnter2D, OnTriggerExit2D๊ฐ Affect๋ณด๋ค ๋ค์ ์คํ๋จ. ์ฐพ์๋ณด๋ LastUpdate๊น์ง ๋ค ์คํ๋ ๋ค์์ ๋ง์ง๋ง์ผ๋ก ํธ๋ฆฌ๊ฑฐ ์ด๋ฒคํธ๊ฐ ์คํ๋๋คํจ.
๊ทธ๋์ Affect()๋ฅผ ์คํํ ๋ ๋ฆฌ์คํธ๊ฐ ๋น์ด์์ด์ ์๋ฌด์๊ฒ๋ ๋ฐ๋ฏธ์ง๋ฅผ ์ ์ ํ.
์ฌ๊ธฐ์ ๊ผญ ํธ๋ฆฌ๊ฑฐ ์ด๋ฒคํธ๊ฐ ์คํ๋ ํ์ Affect()๋ฅผ ์คํํ๊ณ ์ถ์๋ฐ ์ด๋ป๊ฒ ํด์ผ ํ๋
๋ฑ ์๊ฐ ์์ฑ๋ ๊ทธ ํ๋ ์์ ๋ฟ์์๋ ์ค๋ธ์ ํธ๋คํํ ๋ง ๋ฐ๋ฏธ์ง๋ฅผ ์ฃผ๊ณ ์ถ์.
Physics.Overlap~() ์ฐ๊ธฐ์ ์ข ์์ข์ ์ํฉ์?
์๋ ๊ฑ ๋ด๊ฐ ๊ฐ์ด๋ณด๋ผ ์๋ ๊ฒ ์์ด์;; ๊ฒ์ํด๋ณด๋ ์ด๊ฑฐ ์ฐ๋ฉด ๋๊ฒ ๋ค ในใ ๊ณ ๋ง๋ค ํ์๊ฐ๋์ how to call function after ontriggerenter ์ด๋ฐ ๊ฑฐ๋ ๊ตฌ๊ธ๋งํ๊ณ ์์๋ค ์ง์ง ใณ
์ค๋ธ์ ํธ ์์ฑ ๋์ ๊ทธ๋ฅ ๋ชจ์ต๋ง ์จ๊ธฐ๊ณ ์ํํธ ์คํํ๋ฉด ๋์ง์๋
๋ชจ์ต์ ์จ๊ธด๋ค๋ ๊ฒ ์ ์ดํด๊ฐ ์ ๋๋๋ฐ ํ๋ ์ด์ด ํด๋์ค์์ Affect ์คํํ๋ ๋ป์?
ํ๋ ์ด์ด์ ์ธํ์ ์๋๋๊ฒ ํด์ผ์ง ๋ฌธ์ ์ ๋ํด ์ ๋ชฐ๋ผ์ ์์ธํ ๋ต์ ๋ชปํ๊ฒ ๋ค ใ ใ
๋ ๋ชจ์ต ์๋ ์ฝ๋ผ์ด๋ ๋นํ์ฑํ/ํ์ฑํ ๋งํ๊ฑฐ์