์ธ๋ฆฌ์ผ์์ PlayerInputComponent์ ํค ๋ฐ์ธ๋ฉํ ๋
PlayerInputComponent->BindAction("Mouse1", IE_Pressed, this, &MyCharacter::OnMouse1Presed); ์ด๋ฐ์์ผ๋ก ๋ง๋ค์์
&MyCharacter::OnMouse1Presed ์ด๋ฐ ํจ์ ํฌ์ธํฐ ํ์์ผ๋ก ๋งค๊ฐ๋ณ์๋ฅผ ๋ฐ๋ ํจ์๋ฅผ ๋ง๋ค๊ณ ์ถ์๋ฐ ๊ฐ์ด ์ ์กํ
๋์์ค
ํจ์ ์์ฒด๊ฐ ๊ณ ์ ๋ ํ์ ์ด๋ผ๋ฉด TFunction์จ์ ๊ฐ๋ฅ
๊ณ ๋ง์ ํ๋ฒ ํด๋ณผ๊ป
๋ญ์ ์จ๋จน์ผ๋ ค๋์ง๋ ๋ชจ๋ฅด๊ฒ ์ง๋ง, BindAction ์ ์ ๋ค์ด๊ฐ๋ฉด ~~๋ญ์๊ธฐ::TMethodPtr<> ๋ก ๋งค๊ฐ๋ณ์ ๋ฐ๋ ํจ์๋๊น ๊ทธ๊ฑฐ๋๋ก ๊ตฌํํ๋ฉด ๋๋๊ฑฐ ์๋๊น?
์ ๋ฐ ๊ฑฐ ๋ง๋ค์ด๋ณด๊ณ ์ถ์์ด
์ ๋ฐฉ๋ฒ์ด ๋ง์ ์๋ค๋ฉด, FScriptDelegate ๋ผ๋๊ฑธ ์ฌ์ฉํด์ BindUFunction(this, FName("๋ฌถ์ ํจ์ ์ด๋ฆ"))์ผ๋ก ๋๊ธธ ์ค๋ธ์ ํธ์ ํ์ ์ ํ๋ผ๋ฏธํฐ๋ก ๋๊ธฐ์
์ฒซ ๋๊ธ๋๋ก TFunctionRef ์ฌ์ฉํด๋ ๋จ
template void TTT1(typename FSomeDelegate::template TMethodPtr< UserClass > Func); ๊ฐ๋จํ๊ฒ ์ด๋ฐ์์ผ๋ก ๋ง๋ค์ด ๋ดค๋๋ฐ TTT1(&USomeclass::Action) ์ด๋ฐ ์์ผ๋ก ํ๋ฉด ์๋์ ๋๋๋ฐ BindAction ๊ฐ์ด ํ์์ง์ ์์ด ๋ง๋๋ ๋ฐฉ๋ฒ์ ์์๊น?
๋ญ์ผ ๋์์์ ํ์ด๊ดํธ ์ ์จ์ง๋ค
ํ์ ์ง์ ์ด๋ผ๋๊ฒ ๋ฌด์จ ๋ง์ด์ผ Func < T > () ๋งํ๋๊ฑด๊ฐ
ใ ใ ๊ทธ๊ฑฐ
BindAction ๋ฐ๋ผ ๋ง๋ค์์ผ๋ฉด < T > ์์ด ๊ฑ ๋์ง ์์?
๋ด ๊ฑด ์ ๋๋๋ฐ ๋ด๊ฐ ๋ญ ์๋ชปํ๋ ์ข ๋ ์์๋ณผ๊ฒ ๊ณ ๋ง์ ๋ง์ ๋์ ๋์์ด
๋ด๊ฐ ๊ธ๋ก ์จ๋จ์ผ๋๊น ํ๋ฒ ํ์ธํด๋ด
์์ ๊ธ ๋ณด์ .. ๋๋ ์๋จ